in src/parser/WDL/hermes/wdl_parser.js [3497:3536]
function parse_task(ctx) {
var current = ctx.tokens.current();
var rule = current != null ? table[39][current.id] : -1;
var tree = new ParseTree(new NonTerminal(97, 'task'));
var ast_parameters;
var subtree;
var t;
ctx.nonterminal = "task";
if (current == null) {
throw new SyntaxError('Error: unexpected end of file');
}
if (rule == 12) { // $task = :task :identifier :lbrace $_gen3 $_gen4 :rbrace -> Task( name=$1, declarations=$3, sections=$4 )
ctx.rule = rules[12];
ast_parameters = {
'name': 1,
'declarations': 3,
'sections': 4,
}
tree.astTransform = new AstTransformNodeCreator('Task', ast_parameters);
t = expect(ctx, 4); // :task
tree.add(t);
t = expect(ctx, 39); // :identifier
tree.add(t);
t = expect(ctx, 42); // :lbrace
tree.add(t);
subtree = parse__gen3(ctx);
tree.add(subtree);
subtree = parse__gen4(ctx);
tree.add(subtree);
t = expect(ctx, 51); // :rbrace
tree.add(t);
return tree;
}
throw new SyntaxError(ctx.error_formatter.unexpected_symbol(
ctx.nonterminal,
ctx.tokens.current(),
nonterminal_first[97],
rules[12]
));
}