void ExprList(ref VList<LNode> list, bool allowTrailingComma = false, bool allowUnassignedVarDecl = false)
{
TokenType la0, la1;
// Line 2082: nongreedy(ExprOpt (TT.Comma &{allowTrailingComma} EOF / TT.Comma ExprOpt)*)?
la0 = LA0;
if (la0 == EOF || la0 == TT.Semicolon)
;
else {
list.Add(ExprOpt(allowUnassignedVarDecl));
// Line 2083: (TT.Comma &{allowTrailingComma} EOF / TT.Comma ExprOpt)*
for (;;) {
la0 = LA0;
if (la0 == TT.Comma) {
la1 = LA(1);
if (la1 == EOF) {
if (allowTrailingComma) {
Skip();
Skip();
} else
goto match2;
} else if (ExprList_set0.Contains((int) la1))
goto match2;
else
goto error;
} else if (la0 == EOF || la0 == TT.Semicolon)
break;
else
goto error;
continue;
match2:
{
Skip();
list.Add(ExprOpt(allowUnassignedVarDecl));
}
continue;
error:
{
// line 2085
Error("'{0}': Syntax error in expression list", CurrentTokenText());
// Line 2085: (~(EOF|TT.Comma))*
for (;;) {
la0 = LA0;
if (!(la0 == (TokenType) EOF || la0 == TT.Comma))
Skip();
else
break;
}
}
}
}
}