From b29d61c06c275a6c99e8ae56e860d439fba839d4 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 9 Aug 2024 17:41:45 +0300 Subject: allow empty blocks --- src/parser.y | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/parser.y b/src/parser.y index 4d27657..f4e6eb0 100644 --- a/src/parser.y +++ b/src/parser.y @@ -469,7 +469,7 @@ statelet } statement - : statelet + : statelet ";" | switch | while | do_while @@ -482,10 +482,9 @@ statement | enum | macro | ID ":" { $$ = gen_label($[ID], NULL, src_loc(@$)); } - | { $$ = gen_empty(src_loc(@$)); } rev_statements - : rev_statements ";" statement { $$ = $3; $3->n = $1; } + : rev_statements statement { $$ = $2; $2->n = $1; } | statement statements @@ -493,6 +492,7 @@ statements body : "{" statements "}" { $$ = gen_block($2, NULL, src_loc(@$)); } + | "{" "}" { $$ = gen_block(gen_empty(src_loc(@$)), NULL, src_loc(@$)); } rev_references : rev_references "," id { $$ = $3; $$->n = $1; } -- cgit v1.3