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 indexing expanded class inherit creation redefine undefine select deferred frozen infix prefix feature is do end local if then else elseif from until loop inspect when and or not implies like obsolete external alias separate require ensure check variant invariant old strip none any general platform boolean integer real double character string pointer array true false void current result