diff --git a/parser/parser.yy b/parser/parser.yy index 5973127..c8a57bd 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -99,7 +99,9 @@ program: program_items { } ; -program_items: /* empty */ +program_items: /* empty */ { + $$ = new ItemsNode(); + } | program_item program_items { $$ = new ItemsNode(); $$->addChild($1); @@ -138,7 +140,9 @@ function: IDENTIFIER LPAREN parameter_list RPAREN COLON type LCURLY function_ite } ; -function_items: /* empty */ +function_items: /* empty */ { + $$ = new ItemsNode(); + } | statement function_items { $$ = new ItemsNode(); $$->addChild($1); @@ -146,7 +150,9 @@ function_items: /* empty */ } ; -parameter_list: /* empty */ +parameter_list: /* empty */ { + $$ = new ItemsNode(); + } | variable_spec parameter_list_more { $$ = new ItemsNode(); $$->addChild($1); @@ -154,7 +160,9 @@ parameter_list: /* empty */ } ; -parameter_list_more: /* empty */ +parameter_list_more: /* empty */ { + $$ = new ItemsNode(); + } | COMMA variable_spec parameter_list_more { $$ = new ItemsNode(); $$->addChild($2); @@ -200,7 +208,9 @@ struct_type: STRUCT LCURLY struct_items RCURLY { } ; -struct_items: /* empty */ +struct_items: /* empty */ { + $$ = new ItemsNode(); + } | struct_item struct_items { $$ = new ItemsNode(); $$->addChild($1);