Allow optional comma after last entry in enum

This commit is contained in:
Michael Singer 2021-08-05 21:02:35 +02:00 committed by Zachary Snow
parent f368e2c7e6
commit 681a1c07e5
1 changed files with 12 additions and 11 deletions

View File

@ -1624,7 +1624,8 @@ enum_type: TOK_ENUM {
// create the template for the names // create the template for the names
astbuf1 = new AstNode(AST_ENUM_ITEM); astbuf1 = new AstNode(AST_ENUM_ITEM);
astbuf1->children.push_back(AstNode::mkconst_int(0, true)); astbuf1->children.push_back(AstNode::mkconst_int(0, true));
} enum_base_type '{' enum_name_list '}' { // create template for the enum vars } enum_base_type '{' enum_name_list optional_comma '}' {
// create template for the enum vars
auto tnode = astbuf1->clone(); auto tnode = astbuf1->clone();
delete astbuf1; delete astbuf1;
astbuf1 = tnode; astbuf1 = tnode;
@ -1633,8 +1634,8 @@ enum_type: TOK_ENUM {
// drop constant but keep any range // drop constant but keep any range
delete tnode->children[0]; delete tnode->children[0];
tnode->children.erase(tnode->children.begin()); tnode->children.erase(tnode->children.begin());
$$ = astbuf1; } $$ = astbuf1;
; };
enum_base_type: type_atom type_signing enum_base_type: type_atom type_signing
| type_vec type_signing range { if ($3) astbuf1->children.push_back($3); } | type_vec type_signing range { if ($3) astbuf1->children.push_back($3); }