diff --git a/cli/src/generate/render.rs b/cli/src/generate/render.rs index be4b5681..7b663560 100644 --- a/cli/src/generate/render.rs +++ b/cli/src/generate/render.rs @@ -513,6 +513,13 @@ impl Generator { ); indent!(self); add_line!(self, "START_LEXER();"); + + if self.next_abi { + add_line!(self, "eof = lexer->eof(lexer);"); + } else { + add_line!(self, "eof = lookahead == 0;"); + } + add_line!(self, "switch (state) {{"); indent!(self); diff --git a/lib/include/tree_sitter/parser.h b/lib/include/tree_sitter/parser.h index 73e7889c..c28e9d5c 100644 --- a/lib/include/tree_sitter/parser.h +++ b/lib/include/tree_sitter/parser.h @@ -134,8 +134,7 @@ struct TSLanguage { lexer->advance(lexer, skip); \ start: \ skip = false; \ - lookahead = lexer->lookahead; \ - eof = lexer->eof(lexer); + lookahead = lexer->lookahead; #define ADVANCE(state_value) \ { \