Lexer and parser from the tutorial