aboutsummaryrefslogtreecommitdiffstats
path: root/src/parser.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2024-06-23 10:54:21 +0200
committerBad Diode <bd@badd10de.dev>2024-06-23 10:54:21 +0200
commitec7936226a2e82b10bc1fdac132a1d26d178dbcd (patch)
tree7b0ed4cf889992bcb5def1df18b062159a9ee69b /src/parser.c
parent8931a6f22b9586c62082c525ec8b6de62c7de5d5 (diff)
downloadbdl-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.c6
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);