diff options
Diffstat (limited to 'src/include/parser.h')
-rw-r--r-- | src/include/parser.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/include/parser.h b/src/include/parser.h index 79e1289..b39f481 100644 --- a/src/include/parser.h +++ b/src/include/parser.h @@ -24,6 +24,28 @@ parser_t* parser_init(token_t* token); void parser_destroy(parser_t* parser); /* Step the parser forward by 1 token. */ -void parser_nxt_token(parser_t* parser); +int parser_nxt_token(parser_t* parser); + +/* Check whether the current token matches the given type. */ +int parser_match(parser_t* parser, token_type_t type); + +/* + parse lit: converting everything from strings to value in the tree + parse expr: (For now) call parse lit + parse blk: loop over all expressions until reaching an end block. + +*/ + +/* Parse a single literal value. */ +void parser_parse_lit(parser_t* parser); + +/* Parse a single expression. */ +void parser_parse_expr(parser_t* parser); + +/* Parse a single block. */ +void parser_parse_blk(parser_t* parser); + +/* Parse the given tokens. */ +void parser_parse(parser_t* parser); #endif |