in src/parser/WDL/hermes/wdl_parser.js [2232:2270]
function parse__gen18(ctx) {
var current = ctx.tokens.current();
var rule = current != null ? table[52][current.id] : -1;
var tree = new ParseTree(new NonTerminal(110, '_gen18'));
ctx.nonterminal = "_gen18";
tree.list = true;
tree.listSeparator = 0;
tree.astTransform = new AstTransformSubstitution(0);
if ( ctx.tokens.current() != null &&
nonterminal_follow[110].indexOf(ctx.tokens.current().id) != -1 &&
nonterminal_first[110].indexOf(ctx.tokens.current().id) == -1 ) {
return tree;
}
if ( ctx.tokens.current() == null) {
return tree;
}
var minimum = 0;
while ( minimum > 0 ||
(ctx.tokens.current() != null &&
nonterminal_first[110].indexOf(ctx.tokens.current().id) != -1)) {
tree.add(parse_e(ctx));
ctx.nonterminal = "_gen18";
if ( ctx.tokens.current() != null && ctx.tokens.current().id == 0) {
tree.add(expect(ctx, 0));
} else {
if (minimum > 1) {
throw new SyntaxError(ctx.error_formatter.missing_list_items(
"_gen18",
0,
0 - minimum + 1,
null
));
}
break;
}
minimum = Math.max(minimum - 1, 0);
}
return tree;
}