diff options
author | c+1 | 2023-11-18 23:14:24 -0500 |
---|---|---|
committer | c+1 | 2023-11-18 23:14:24 -0500 |
commit | 000658c8405f93bf8ce1e03a9055e6944e730534 (patch) | |
tree | 9d49aefb841a413351a3c0168497a93053062000 /src/include/parser.h | |
parent | 2cc68205a1c0b746ad405607940e7183c4fb09b0 (diff) |
I honestly don't remember. Parser stuff. Probably.
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 |