X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=d2a16b6d2211d04bb787a57e8f21c4ec79f0fba3;hp=4a1cc1957ec2336d6e60dcee3d8747b21f24e569;hb=601e13c0743234c53a62e68fc89f122069123c15;hpb=cffcbdd1df9f6d5dcf78f49a3d1b44cefe21b2f5 diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index 4a1cc19..d2a16b6 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -1412,7 +1412,7 @@ decl_vars_with_layout[vars]: ; decl_enum[enum]: - enum_name LBRACE decl_enum_items[list] RBRACE { + enum_name LBRACE decl_enum_items[list] optional_comma RBRACE { $enum = psi_decl_enum_init($enum_name->text, $list); $enum->token = $enum_name; } @@ -1581,6 +1581,11 @@ optional_name[name]: } ; +optional_comma: + %empty +| COMMA +; + decl_layout[l]: %empty { $l = NULL; @@ -1614,6 +1619,9 @@ array_size[as]: | LBRACKET RBRACKET { $as = 0; } +| LBRACKET CPP_RESTRICT RBRACKET { + $as = 0; +} | LBRACKET num_exp RBRACKET { if (psi_num_exp_validate(PSI_DATA(P), $num_exp, NULL, NULL, NULL, NULL, NULL)) { $as = psi_long_num_exp($num_exp, NULL, &P->preproc->defs);