function parse__gen17()

in src/parser/WDL/hermes/wdl_parser.js [2193:2231]


function parse__gen17(ctx) {
  var current = ctx.tokens.current();
  var rule = current != null ? table[19][current.id] : -1;
  var tree = new ParseTree(new NonTerminal(77, '_gen17'));
  ctx.nonterminal = "_gen17";
  tree.list = true;
  tree.listSeparator = 0;
  tree.astTransform = new AstTransformSubstitution(0);
  if ( ctx.tokens.current() != null &&
    nonterminal_follow[77].indexOf(ctx.tokens.current().id) != -1 &&
    nonterminal_first[77].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[77].indexOf(ctx.tokens.current().id) != -1)) {
    tree.add(parse_type_e(ctx));
    ctx.nonterminal = "_gen17";
    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(
          "_gen17",
          0,
          0 - minimum + 1,
          null
        ));
      }
      break;
    }
    minimum = Math.max(minimum - 1, 0);
  }
  return tree;
}