aboutsummaryrefslogtreecommitdiff
path: root/src/parser.c
diff options
context:
space:
mode:
authorc2023-11-26 18:03:55 -0500
committerc2023-11-26 18:03:55 -0500
commit4719af8e829493d4fee2782ce8870b0cc902638f (patch)
tree2f77b4132ec9c5f5a93756c3f74d354c1917f606 /src/parser.c
parentb66334d81324a76a76da6578c5b095f3f02696e5 (diff)
Prepare for definition parsing.
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/parser.c b/src/parser.c
index a6ed3f4..040ef0d 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -26,12 +26,7 @@ int parser_nxt_token(parser_t* parser) {
}
int parser_match(parser_t* parser, token_type_t type) {
- if (parser->token->type == type) {
- return 1;
- } else {
- log_err("Unexpected token.");
- return 0;
- }
+ return parser->token->type == type;
}
int parser_nxt_token_match(parser_t* parser, token_type_t type) {
@@ -119,6 +114,24 @@ tree_t* parser_parse_block(parser_t* parser) {
return block;
}
+tree_t* parser_parse_darg(parser_t* parser) {
+ tree_t* darg;
+
+ darg = tree_init(TREE_TYPE_DARG);
+
+ darg->data.darg.tag
+
+ return darg;
+}
+
+tree_t* parser_parse_def(parser_t* parser) {
+ tree_t* def;
+
+ def = tree_init(TREE_TYPE_DEF);
+
+ return def;
+}
+
tree_t* parser_parse_carg(parser_t* parser) {
tree_t* carg;