input: tSyntaxError = -1 tIdent 'ident' tString 'string' tInteger 'integer' tSemicolon ';' tNewLine '' tEndOfFile '' ; output: aOutputToken; error: eFirstUserError = 10 eSslStackOverflow = 40 ; %type Type: % ; %mechanism Mechanism % ; rules end