Go{ > } Lexer { (';' Other s.Line s.Col)e.Tail = (Semicolon (s.Line s.Col) ';' (s.Line )) ; (':' Other s.Line s.Col)e.Tail = (Colon (s.Line s.Col) ';' (s.Line )) ; ('<' Other s.Line s.Col)e.Tail = (OpenCall (s.Line s.Col) '<' (s.Line )) ; ('>' Other s.Line s.Col)e.Tail = (CloseCall (s.Line s.Col) '>' (s.Line )) ; ('(' Other s.Line s.Col)e.Tail = (OpenBracket (s.Line s.Col) '(' (s.Line )) ; (')' Other s.Line s.Col)e.Tail = (CloseBracket (s.Line s.Col) ')' (s.Line )) ; ('{' Other s.Line s.Col)e.Tail = (OpenBlock (s.Line s.Col) '{' (s.Line )) ; ('}' Other s.Line s.Col)e.Tail = (CloseBlock (s.Line s.Col) '}' (s.Line )) ; ('=' Other s.Line s.Col)e.Tail = (Assign (s.Line s.Col) '=' (s.Line )) ; ('!' Other s.Line s.Col)e.Tail = (EOF (s.Line s.Col) '!' (s.Line )) ; ('e' LoLetter s.Line s.Col)('.' Other s.Line1 s.Col1)e.Tail = (EVar (s.Line s.Col) e.; ('t' LoLetter s.Line s.Col)('.' Other s.Line1 s.Col1)e.Tail = (TVar (s.Line s.Col) t.; ('s' LoLetter s.Line s.Col)('.' Other s.Line1 s.Col1)e.Tail = (SVar (s.Line s.Col) s.; (s.Char s.Class s.Line s.Col)(' ' s.Class1 s.Line1 s.Col1)e.Tail = (Char (s.Line s.Col) s.Char (s.Line1 s.Col1)) ; (s.Char Digit s.Line s.Col)e.Tail = (Number (s.Line s.Col) s.Char; (s.Char UpLetter s.Line s.Col)e.Tail = (Name (s.Line s.Col) s.Char; } GetNumber { (s.Char Digit s.Line s.Col)e.Tail = s.Char; (' ' Other s.Line s.Col)e.Tail = (s.Line s.Col)); e.Any = (s.Line s.Col)); } GetName { (s.Char UpLetter s.Line s.Col)e.Tail = s.Char; (s.Char LoLetter s.Line s.Col)e.Tail = s.Char; ('-' Other s.Line s.Col)e.Tail = s.Char; (s.Char Digit s.Line s.Col)e.Tail = s.Char; (' ' Other s.Line s.Col)e.Tail = (s.Line s.Col)); e.Any = (s.Line s.Col)); }