Lexer: eof() and error() returns tokens