X Y = X followed by Y
(X Y) = X grouped with Y
X | Y = X or Y
[X] = X or empty
{X} = a possibly empty sequence of X objects
X:y = X repeated for y times
-- = comment to end of line
We use 2 kinds of literals
'abc' = string literal; the characters a, b, c are placed with their byte codes in ACSII (0..127) in the target
0x01 = integer literal; commonly used hexadecimal notation for integers in various lengths. 0x01 is integer 1 for 1 byte, 0x0001 for two bytes etc. If not mentioned otherwise, Big-Endian sequence of bytes is assumed.