diff options
author | Bad Diode <bd@badd10de.dev> | 2024-06-23 10:54:21 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2024-06-23 10:54:21 +0200 |
commit | ec7936226a2e82b10bc1fdac132a1d26d178dbcd (patch) | |
tree | 7b0ed4cf889992bcb5def1df18b062159a9ee69b /src/parser.c | |
parent | 8931a6f22b9586c62082c525ec8b6de62c7de5d5 (diff) | |
download | bdl-ec7936226a2e82b10bc1fdac132a1d26d178dbcd.tar.gz bdl-ec7936226a2e82b10bc1fdac132a1d26d178dbcd.zip |
Add constrain to let parsing either type or value must be present
Diffstat (limited to 'src/parser.c')
-rw-r--r-- | src/parser.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/parser.c b/src/parser.c index 7864264..9079df9 100644 --- a/src/parser.c +++ b/src/parser.c | |||
@@ -521,6 +521,12 @@ parse_keyword(Parser *parser) { | |||
521 | parse_expr(parser, PREC_LOW); | 521 | parse_expr(parser, PREC_LOW); |
522 | node->var_val = array_pop(parser->nodes); | 522 | node->var_val = array_pop(parser->nodes); |
523 | } | 523 | } |
524 | |||
525 | if (node->var_type == NULL && node->var_val == NULL) { | ||
526 | parse_emit_err(parser, prev, | ||
527 | cstr("variable declaration must include type or " | ||
528 | "value information")); | ||
529 | } | ||
524 | } break; | 530 | } break; |
525 | case TOK_SET: { | 531 | case TOK_SET: { |
526 | node = node_alloc(parser, NODE_SET, prev); | 532 | node = node_alloc(parser, NODE_SET, prev); |