File tree Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Expand file tree Collapse file tree 1 file changed +15
-3
lines changed Original file line number Diff line number Diff line change 22
33#include <lexer/lib.h>
44#include <parser/lib.h>
5+ #include <token/lib.h>
56
67struct Parser * new_parser (struct Lexer * lexer ) {
78 struct Parser * parser = malloc (sizeof (struct Parser ));
@@ -11,10 +12,21 @@ struct Parser *new_parser(struct Lexer *lexer) {
1112 }
1213
1314 parser -> lexer = lexer ;
14- parser -> next_token = __P_next_token ;
1515
16- parser -> next_token (parser );
17- parser -> next_token (parser );
16+ parser -> consume_token = __PARSER_consume_token ;
17+ parser -> next_token_is = __PARSER_next_token_is ;
18+ parser -> curr_token_is = __PARSER_curr_token_is ;
19+ parser -> consume_or_ignore_if_next_token_is = __PARSER_consume_or_ignore_if_next_token_is ;
20+
21+ parser -> parse_statement = __PARSER_parse_statement ;
22+ parser -> parse_program = __PARSER_parse_program ;
23+ parser -> parse_var_statement = __PARSER_parse_var_statement ;
24+ parser -> parse_return_statement = __PARSER_parse_return_statement ;
25+ parser -> parse_expression_statement = __PARSER_parse_expression_statement ;
26+
27+ // We need to advance two tokens to set both parser->curr_token and parser->next_token
28+ parser -> consume_token (parser );
29+ parser -> consume_token (parser );
1830
1931 return parser ;
2032}
You can’t perform that action at this time.
0 commit comments