Helpers digit = ['0' .. '9']; alpha = ['a'..'z'] | ['A'..'Z']; tab = 9; cr = 10; lf = 13; Tokens if = 'if'; id = ['a'..'z'](['a'..'z'] | (digit))*; number = digit+; real = ((digit)+ '.' (digit)*) | ((digit)* '.' (digit)+); whitespace = (' ' | tab | cr | lf )+; comments = ('--' (alpha)*(cr | lf)); Ignored Tokens whitespace, comments;