CatchAll $P Character (('\''$P'\'') | ('\'''\\'['t'|'n'|'r'|'f']'\'') | ('\''+('0'..'7')'\'')) Comment ("--" -> "\n") Integer $Z Operator ('-' | '+' | '*' | '/' | '<' | '>' | '!' | '~' | '%' | '^' | '&' | '=' | ':' | '.' | ';' | ',' | '@' | '`' | '?' | '$' | '#') Real $R Space ' ' String ("\"" -> "\"") Tab '\t' Newline '\n' Text ~('a'..'z') *(~('a'..'z') | '_' | ('0'..'9')) -- Keywords across agent alias all and as assign attached attribute check class convert create creation current debug deferred detachable do else elseif end ensure expanded export external false feature from frozen if implies indexing infix inherit inspect invariant is like local loop not note obsolete old once only or partial precursor prefix redefine reference rename require rescue result retry select separate some strip then true tuple undefine unique until variant void when xor