diff --git a/wdl/transforms/biscayne/src/main/java/wdl/biscayne/parser/WdlParser.java b/wdl/transforms/biscayne/src/main/java/wdl/biscayne/parser/WdlParser.java index d352d8119f5..7d8f0f8a0c2 100644 --- a/wdl/transforms/biscayne/src/main/java/wdl/biscayne/parser/WdlParser.java +++ b/wdl/transforms/biscayne/src/main/java/wdl/biscayne/parser/WdlParser.java @@ -1,6 +1,6 @@ /* - * This file was generated by Hermes Parser Generator on Mon Dec 10 10:51:25 2018 + * This file was generated by Hermes Parser Generator on Fri Dec 14 12:33:05 2018 * * Hermes command: hermes generate grammar.hgr --language=java --directory=./ --name=wdl --java-package=wdl.biscayne.parser --java-use-apache-commons --java-imports=org.apache.commons.lang3.StringEscapeUtils --header * Run from: . (relative to this file) @@ -516,71 +516,72 @@ public interface TerminalIdentifier { public String string(); } public enum WdlTerminalIdentifier implements TerminalIdentifier { - TERMINAL_AFTER(56, "after"), - TERMINAL_ALIAS(3, "alias"), - TERMINAL_AS(22, "as"), - TERMINAL_ASTERISK(33, "asterisk"), - TERMINAL_BOOLEAN(17, "boolean"), - TERMINAL_CALL(59, "call"), - TERMINAL_CMD_ATTR_HINT(11, "cmd_attr_hint"), - TERMINAL_CMD_PART(42, "cmd_part"), - TERMINAL_COLON(26, "colon"), - TERMINAL_COMMA(5, "comma"), - TERMINAL_DASH(13, "dash"), - TERMINAL_DOT(39, "dot"), - TERMINAL_DOUBLE_AMPERSAND(53, "double_ampersand"), - TERMINAL_DOUBLE_EQUAL(37, "double_equal"), - TERMINAL_DOUBLE_PIPE(63, "double_pipe"), - TERMINAL_E(52, "e"), - TERMINAL_ELSE(44, "else"), - TERMINAL_EQUAL(20, "equal"), - TERMINAL_EXPRESSION_PLACEHOLDER_END(46, "expression_placeholder_end"), - TERMINAL_EXPRESSION_PLACEHOLDER_START(9, "expression_placeholder_start"), - TERMINAL_FLOAT(45, "float"), - TERMINAL_FQN(36, "fqn"), - TERMINAL_GT(21, "gt"), - TERMINAL_GTEQ(4, "gteq"), - TERMINAL_IDENTIFIER(49, "identifier"), - TERMINAL_IF(6, "if"), - TERMINAL_IMPORT(35, "import"), - TERMINAL_IN(10, "in"), - TERMINAL_INPUT(14, "input"), - TERMINAL_INTEGER(25, "integer"), - TERMINAL_LBRACE(24, "lbrace"), - TERMINAL_LPAREN(40, "lparen"), - TERMINAL_LSQUARE(27, "lsquare"), - TERMINAL_LT(8, "lt"), - TERMINAL_LTEQ(38, "lteq"), - TERMINAL_META(30, "meta"), - TERMINAL_META_VALUE(51, "meta_value"), - TERMINAL_NOT(55, "not"), - TERMINAL_NOT_EQUAL(54, "not_equal"), - TERMINAL_NULL(41, "null"), - TERMINAL_OBJECT(29, "object"), - TERMINAL_OUTPUT(60, "output"), - TERMINAL_PARAMETER_META(12, "parameter_meta"), - TERMINAL_PERCENT(58, "percent"), - TERMINAL_PLUS(43, "plus"), - TERMINAL_QMARK(32, "qmark"), - TERMINAL_QUOTE(61, "quote"), - TERMINAL_RAW_CMD_END(64, "raw_cmd_end"), - TERMINAL_RAW_CMD_START(7, "raw_cmd_start"), - TERMINAL_RAW_COMMAND(50, "raw_command"), - TERMINAL_RBRACE(16, "rbrace"), - TERMINAL_RPAREN(23, "rparen"), - TERMINAL_RSQUARE(19, "rsquare"), - TERMINAL_RUNTIME(31, "runtime"), - TERMINAL_SCATTER(0, "scatter"), - TERMINAL_SLASH(47, "slash"), - TERMINAL_STRING(34, "string"), - TERMINAL_STRUCT(48, "struct"), - TERMINAL_TASK(2, "task"), - TERMINAL_THEN(62, "then"), - TERMINAL_TYPE(18, "type"), - TERMINAL_TYPE_E(57, "type_e"), - TERMINAL_VERSION(28, "version"), - TERMINAL_VERSION_NAME(1, "version_name"), - TERMINAL_WORKFLOW(15, "workflow"), + TERMINAL_AFTER(38, "after"), + TERMINAL_ALIAS(19, "alias"), + TERMINAL_AS(48, "as"), + TERMINAL_ASTERISK(60, "asterisk"), + TERMINAL_BOOLEAN(62, "boolean"), + TERMINAL_CALL(18, "call"), + TERMINAL_CMD_ATTR_HINT(55, "cmd_attr_hint"), + TERMINAL_CMD_PART(31, "cmd_part"), + TERMINAL_COLON(3, "colon"), + TERMINAL_COMMA(25, "comma"), + TERMINAL_DASH(33, "dash"), + TERMINAL_DOT(28, "dot"), + TERMINAL_DOUBLE_AMPERSAND(22, "double_ampersand"), + TERMINAL_DOUBLE_EQUAL(45, "double_equal"), + TERMINAL_DOUBLE_PIPE(65, "double_pipe"), + TERMINAL_E(23, "e"), + TERMINAL_ELSE(11, "else"), + TERMINAL_EQUAL(61, "equal"), + TERMINAL_ESCAPE(54, "escape"), + TERMINAL_EXPRESSION_PLACEHOLDER_END(1, "expression_placeholder_end"), + TERMINAL_EXPRESSION_PLACEHOLDER_START(53, "expression_placeholder_start"), + TERMINAL_FLOAT(9, "float"), + TERMINAL_FQN(35, "fqn"), + TERMINAL_GT(57, "gt"), + TERMINAL_GTEQ(41, "gteq"), + TERMINAL_IDENTIFIER(30, "identifier"), + TERMINAL_IF(13, "if"), + TERMINAL_IMPORT(63, "import"), + TERMINAL_IN(59, "in"), + TERMINAL_INPUT(4, "input"), + TERMINAL_INTEGER(24, "integer"), + TERMINAL_LBRACE(44, "lbrace"), + TERMINAL_LPAREN(58, "lparen"), + TERMINAL_LSQUARE(56, "lsquare"), + TERMINAL_LT(0, "lt"), + TERMINAL_LTEQ(40, "lteq"), + TERMINAL_META(6, "meta"), + TERMINAL_META_VALUE(42, "meta_value"), + TERMINAL_NOT(15, "not"), + TERMINAL_NOT_EQUAL(51, "not_equal"), + TERMINAL_NULL(43, "null"), + TERMINAL_OBJECT(16, "object"), + TERMINAL_OUTPUT(47, "output"), + TERMINAL_PARAMETER_META(64, "parameter_meta"), + TERMINAL_PERCENT(32, "percent"), + TERMINAL_PLUS(34, "plus"), + TERMINAL_QMARK(8, "qmark"), + TERMINAL_QUOTE(17, "quote"), + TERMINAL_RAW_CMD_END(37, "raw_cmd_end"), + TERMINAL_RAW_CMD_START(5, "raw_cmd_start"), + TERMINAL_RAW_COMMAND(14, "raw_command"), + TERMINAL_RBRACE(12, "rbrace"), + TERMINAL_RPAREN(50, "rparen"), + TERMINAL_RSQUARE(7, "rsquare"), + TERMINAL_RUNTIME(52, "runtime"), + TERMINAL_SCATTER(21, "scatter"), + TERMINAL_SLASH(10, "slash"), + TERMINAL_STRING(2, "string"), + TERMINAL_STRUCT(39, "struct"), + TERMINAL_TASK(46, "task"), + TERMINAL_THEN(29, "then"), + TERMINAL_TYPE(27, "type"), + TERMINAL_TYPE_E(49, "type_e"), + TERMINAL_VERSION(36, "version"), + TERMINAL_VERSION_NAME(26, "version_name"), + TERMINAL_WORKFLOW(20, "workflow"), END_SENTINAL(-3, "END_SENTINAL"); private final int id; private final String string; @@ -593,109 +594,110 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { } /* table[nonterminal][terminal] = rule */ private static final int[][] table = { - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, -1, 26, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, 25, -1, -1, -1, -1, -1, -1, 31, -1, -1, 27, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1 }, - { 64, -1, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, 67, -1, 65, -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, -1, -1, -1, -1, 62, -1, 61, 66, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 14, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, 18, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 73, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, 73, -1, 73, -1, 73, -1, 73, -1, -1, -1, -1, -1, 72, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, 73, -1, 73, 73, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, 55, -1, -1, -1, -1, -1, -1, 55, 55, -1, 55, -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, 55, -1, 55, -1, -1, -1, 55, -1, -1, 55, -1, -1, 55, -1, -1, -1, -1, -1, 55, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, - { 70, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, 70, -1, 70, -1, 70, -1, 70, -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 70, 70, -1, 70, 70, -1, -1, -1, -1 }, - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, 51, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 55, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, 56, -1, 56, 56, 56, -1, -1, -1, -1, -1, 56, 56, -1, -1, -1, -1, -1, 56, -1, -1, 56, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, 56, -1, -1, -1, 56, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, 74, -1, 74, -1, -1, -1, -1, -1, 74, 74, -1, -1, -1, -1, 74, -1, -1, 74, -1, -1, -1, -1, -1, 74, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, 74, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1 }, + { -1, -1, -1, -1, 27, -1, 31, -1, -1, -1, -1, -1, -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, 32, -1, -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, 19, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, -1 }, + { -1, -1, -1, -1, 66, -1, 69, -1, -1, -1, -1, -1, -1, 64, -1, -1, -1, -1, 62, -1, -1, 65, -1, -1, -1, -1, -1, 63, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 68, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, 81, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, 71, -1, 71, -1, -1, -1, -1, -1, 71, 71, -1, -1, -1, -1, 71, -1, -1, 71, -1, -1, -1, -1, -1, 71, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, -1, -1, 71, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 71, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 52, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, + { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }, }; static { Map> map = new HashMap>(); - map.put(91, Arrays.asList(new TerminalIdentifier[] { + map.put(118, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, })); - map.put(76, Arrays.asList(new TerminalIdentifier[] { + map.put(106, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(98, Arrays.asList(new TerminalIdentifier[] { + map.put(120, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(72, Arrays.asList(new TerminalIdentifier[] { + map.put(124, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(78, Arrays.asList(new TerminalIdentifier[] { + map.put(70, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(136, Arrays.asList(new TerminalIdentifier[] { + map.put(121, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EQUAL, })); - map.put(89, Arrays.asList(new TerminalIdentifier[] { + map.put(122, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(116, Arrays.asList(new TerminalIdentifier[] { + map.put(131, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -707,24 +709,24 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(135, Arrays.asList(new TerminalIdentifier[] { + map.put(116, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(124, Arrays.asList(new TerminalIdentifier[] { + map.put(123, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, })); - map.put(109, Arrays.asList(new TerminalIdentifier[] { + map.put(76, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(120, Arrays.asList(new TerminalIdentifier[] { + map.put(80, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(131, Arrays.asList(new TerminalIdentifier[] { + map.put(100, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(111, Arrays.asList(new TerminalIdentifier[] { + map.put(94, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_FLOAT, WdlTerminalIdentifier.TERMINAL_INTEGER, @@ -734,15 +736,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_NULL, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(112, Arrays.asList(new TerminalIdentifier[] { + map.put(119, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(71, Arrays.asList(new TerminalIdentifier[] { + map.put(126, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(121, Arrays.asList(new TerminalIdentifier[] { + map.put(128, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -758,10 +760,10 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(130, Arrays.asList(new TerminalIdentifier[] { + map.put(109, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(94, Arrays.asList(new TerminalIdentifier[] { + map.put(113, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -777,20 +779,22 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(113, Arrays.asList(new TerminalIdentifier[] { + map.put(95, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(97, Arrays.asList(new TerminalIdentifier[] { + map.put(96, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(99, Arrays.asList(new TerminalIdentifier[] { + map.put(84, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(128, Arrays.asList(new TerminalIdentifier[] { + map.put(86, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, })); - map.put(101, Arrays.asList(new TerminalIdentifier[] { + map.put(134, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -801,41 +805,41 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(123, Arrays.asList(new TerminalIdentifier[] { + map.put(115, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(66, Arrays.asList(new TerminalIdentifier[] { + map.put(136, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_ATTR_HINT, })); - map.put(93, Arrays.asList(new TerminalIdentifier[] { + map.put(108, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(133, Arrays.asList(new TerminalIdentifier[] { + map.put(102, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, })); - map.put(90, Arrays.asList(new TerminalIdentifier[] { + map.put(91, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, })); - map.put(134, Arrays.asList(new TerminalIdentifier[] { + map.put(83, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(132, Arrays.asList(new TerminalIdentifier[] { + map.put(81, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RAW_COMMAND, })); - map.put(82, Arrays.asList(new TerminalIdentifier[] { + map.put(75, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(80, Arrays.asList(new TerminalIdentifier[] { + map.put(110, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(106, Arrays.asList(new TerminalIdentifier[] { + map.put(117, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_VERSION, })); - map.put(75, Arrays.asList(new TerminalIdentifier[] { + map.put(111, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -851,44 +855,44 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(68, Arrays.asList(new TerminalIdentifier[] { + map.put(138, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(105, Arrays.asList(new TerminalIdentifier[] { + map.put(71, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_ATTR_HINT, })); - map.put(107, Arrays.asList(new TerminalIdentifier[] { + map.put(87, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(86, Arrays.asList(new TerminalIdentifier[] { + map.put(99, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IF, })); - map.put(114, Arrays.asList(new TerminalIdentifier[] { + map.put(79, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, })); - map.put(104, Arrays.asList(new TerminalIdentifier[] { + map.put(125, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, })); - map.put(74, Arrays.asList(new TerminalIdentifier[] { + map.put(68, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(73, Arrays.asList(new TerminalIdentifier[] { + map.put(132, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(103, Arrays.asList(new TerminalIdentifier[] { + map.put(130, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(77, Arrays.asList(new TerminalIdentifier[] { + map.put(133, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INPUT, })); - map.put(95, Arrays.asList(new TerminalIdentifier[] { + map.put(66, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(127, Arrays.asList(new TerminalIdentifier[] { + map.put(73, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -904,16 +908,16 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(65, Arrays.asList(new TerminalIdentifier[] { + map.put(105, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(102, Arrays.asList(new TerminalIdentifier[] { + map.put(67, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(81, Arrays.asList(new TerminalIdentifier[] { + map.put(72, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(83, Arrays.asList(new TerminalIdentifier[] { + map.put(90, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_FLOAT, WdlTerminalIdentifier.TERMINAL_INTEGER, @@ -923,54 +927,59 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_NULL, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(110, Arrays.asList(new TerminalIdentifier[] { + map.put(104, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(84, Arrays.asList(new TerminalIdentifier[] { + map.put(127, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(100, Arrays.asList(new TerminalIdentifier[] { + map.put(129, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_OUTPUT, })); - map.put(69, Arrays.asList(new TerminalIdentifier[] { + map.put(92, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(92, Arrays.asList(new TerminalIdentifier[] { + map.put(135, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(115, Arrays.asList(new TerminalIdentifier[] { + map.put(107, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RUNTIME, })); - map.put(126, Arrays.asList(new TerminalIdentifier[] { + map.put(78, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_SCATTER, })); - map.put(67, Arrays.asList(new TerminalIdentifier[] { + map.put(69, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EQUAL, })); - map.put(117, Arrays.asList(new TerminalIdentifier[] { + map.put(89, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(96, Arrays.asList(new TerminalIdentifier[] { + map.put(97, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, + WdlTerminalIdentifier.TERMINAL_STRING, + })); + map.put(137, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(122, Arrays.asList(new TerminalIdentifier[] { + map.put(82, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(108, Arrays.asList(new TerminalIdentifier[] { + map.put(114, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, })); - map.put(119, Arrays.asList(new TerminalIdentifier[] { + map.put(98, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(125, Arrays.asList(new TerminalIdentifier[] { + map.put(112, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TASK, })); - map.put(70, Arrays.asList(new TerminalIdentifier[] { + map.put(77, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -981,15 +990,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(79, Arrays.asList(new TerminalIdentifier[] { + map.put(74, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(118, Arrays.asList(new TerminalIdentifier[] { + map.put(85, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_VERSION, })); - map.put(85, Arrays.asList(new TerminalIdentifier[] { + map.put(93, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1001,48 +1010,48 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(87, Arrays.asList(new TerminalIdentifier[] { + map.put(101, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(88, Arrays.asList(new TerminalIdentifier[] { + map.put(103, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(129, Arrays.asList(new TerminalIdentifier[] { + map.put(88, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); nonterminal_first = Collections.unmodifiableMap(map); } static { Map> map = new HashMap>(); - map.put(91, Arrays.asList(new TerminalIdentifier[] { + map.put(118, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(76, Arrays.asList(new TerminalIdentifier[] { + map.put(106, Arrays.asList(new TerminalIdentifier[] { })); - map.put(98, Arrays.asList(new TerminalIdentifier[] { + map.put(120, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(72, Arrays.asList(new TerminalIdentifier[] { + map.put(124, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(78, Arrays.asList(new TerminalIdentifier[] { + map.put(70, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(136, Arrays.asList(new TerminalIdentifier[] { + map.put(121, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(89, Arrays.asList(new TerminalIdentifier[] { + map.put(122, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(116, Arrays.asList(new TerminalIdentifier[] { + map.put(131, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(135, Arrays.asList(new TerminalIdentifier[] { + map.put(116, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, @@ -1056,7 +1065,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(124, Arrays.asList(new TerminalIdentifier[] { + map.put(123, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1070,7 +1079,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(109, Arrays.asList(new TerminalIdentifier[] { + map.put(76, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1083,57 +1092,57 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(120, Arrays.asList(new TerminalIdentifier[] { + map.put(80, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(131, Arrays.asList(new TerminalIdentifier[] { + map.put(100, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(111, Arrays.asList(new TerminalIdentifier[] { + map.put(94, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RSQUARE, })); - map.put(112, Arrays.asList(new TerminalIdentifier[] { + map.put(119, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(71, Arrays.asList(new TerminalIdentifier[] { + map.put(126, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RSQUARE, })); - map.put(121, Arrays.asList(new TerminalIdentifier[] { + map.put(128, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RPAREN, WdlTerminalIdentifier.TERMINAL_RSQUARE, })); - map.put(130, Arrays.asList(new TerminalIdentifier[] { + map.put(109, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(94, Arrays.asList(new TerminalIdentifier[] { + map.put(113, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(113, Arrays.asList(new TerminalIdentifier[] { + map.put(95, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(97, Arrays.asList(new TerminalIdentifier[] { + map.put(96, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(99, Arrays.asList(new TerminalIdentifier[] { + map.put(84, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, WdlTerminalIdentifier.TERMINAL_IMPORT, WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(128, Arrays.asList(new TerminalIdentifier[] { + map.put(86, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(101, Arrays.asList(new TerminalIdentifier[] { + map.put(134, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(123, Arrays.asList(new TerminalIdentifier[] { + map.put(115, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RAW_CMD_END, })); - map.put(66, Arrays.asList(new TerminalIdentifier[] { + map.put(136, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1149,7 +1158,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(93, Arrays.asList(new TerminalIdentifier[] { + map.put(108, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, @@ -1163,7 +1172,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(133, Arrays.asList(new TerminalIdentifier[] { + map.put(102, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1176,7 +1185,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(90, Arrays.asList(new TerminalIdentifier[] { + map.put(91, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, @@ -1191,7 +1200,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(134, Arrays.asList(new TerminalIdentifier[] { + map.put(83, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1204,7 +1213,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(132, Arrays.asList(new TerminalIdentifier[] { + map.put(81, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1216,12 +1225,12 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(82, Arrays.asList(new TerminalIdentifier[] { + map.put(75, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_RAW_CMD_END, })); - map.put(80, Arrays.asList(new TerminalIdentifier[] { + map.put(110, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1236,9 +1245,9 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(106, Arrays.asList(new TerminalIdentifier[] { + map.put(117, Arrays.asList(new TerminalIdentifier[] { })); - map.put(75, Arrays.asList(new TerminalIdentifier[] { + map.put(111, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ASTERISK, WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_CALL, @@ -1285,14 +1294,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(68, Arrays.asList(new TerminalIdentifier[] { + map.put(138, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_QUOTE, WdlTerminalIdentifier.TERMINAL_RAW_CMD_END, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(105, Arrays.asList(new TerminalIdentifier[] { + map.put(71, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_CMD_ATTR_HINT, WdlTerminalIdentifier.TERMINAL_DASH, @@ -1309,12 +1319,12 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(107, Arrays.asList(new TerminalIdentifier[] { + map.put(87, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(86, Arrays.asList(new TerminalIdentifier[] { + map.put(99, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1327,37 +1337,37 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(114, Arrays.asList(new TerminalIdentifier[] { + map.put(79, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(104, Arrays.asList(new TerminalIdentifier[] { + map.put(125, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, WdlTerminalIdentifier.TERMINAL_IMPORT, WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(74, Arrays.asList(new TerminalIdentifier[] { + map.put(68, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, WdlTerminalIdentifier.TERMINAL_IMPORT, WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(73, Arrays.asList(new TerminalIdentifier[] { + map.put(132, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(103, Arrays.asList(new TerminalIdentifier[] { + map.put(130, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(77, Arrays.asList(new TerminalIdentifier[] { + map.put(133, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1372,15 +1382,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(95, Arrays.asList(new TerminalIdentifier[] { + map.put(66, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(127, Arrays.asList(new TerminalIdentifier[] { + map.put(73, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(65, Arrays.asList(new TerminalIdentifier[] { + map.put(105, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1392,12 +1402,12 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(102, Arrays.asList(new TerminalIdentifier[] { + map.put(67, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(81, Arrays.asList(new TerminalIdentifier[] { + map.put(72, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1412,23 +1422,23 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(83, Arrays.asList(new TerminalIdentifier[] { + map.put(90, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, WdlTerminalIdentifier.TERMINAL_RSQUARE, })); - map.put(110, Arrays.asList(new TerminalIdentifier[] { + map.put(104, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_RBRACE, })); - map.put(84, Arrays.asList(new TerminalIdentifier[] { + map.put(127, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(100, Arrays.asList(new TerminalIdentifier[] { + map.put(129, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1443,7 +1453,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(69, Arrays.asList(new TerminalIdentifier[] { + map.put(92, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1455,7 +1465,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(92, Arrays.asList(new TerminalIdentifier[] { + map.put(135, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1467,7 +1477,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(115, Arrays.asList(new TerminalIdentifier[] { + map.put(107, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1479,7 +1489,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(126, Arrays.asList(new TerminalIdentifier[] { + map.put(78, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1492,7 +1502,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(67, Arrays.asList(new TerminalIdentifier[] { + map.put(69, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1507,7 +1517,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(117, Arrays.asList(new TerminalIdentifier[] { + map.put(89, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, @@ -1518,7 +1528,13 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(96, Arrays.asList(new TerminalIdentifier[] { + map.put(97, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, + WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, + WdlTerminalIdentifier.TERMINAL_QUOTE, + WdlTerminalIdentifier.TERMINAL_STRING, + })); + map.put(137, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ASTERISK, WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_CALL, @@ -1565,28 +1581,29 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(122, Arrays.asList(new TerminalIdentifier[] { + map.put(82, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_QUOTE, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(108, Arrays.asList(new TerminalIdentifier[] { + map.put(114, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(119, Arrays.asList(new TerminalIdentifier[] { + map.put(98, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RBRACE, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(125, Arrays.asList(new TerminalIdentifier[] { + map.put(112, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(70, Arrays.asList(new TerminalIdentifier[] { + map.put(77, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1598,15 +1615,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(79, Arrays.asList(new TerminalIdentifier[] { + map.put(74, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_COMMA, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_RSQUARE, })); - map.put(118, Arrays.asList(new TerminalIdentifier[] { + map.put(85, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, })); - map.put(85, Arrays.asList(new TerminalIdentifier[] { + map.put(93, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1619,7 +1636,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(87, Arrays.asList(new TerminalIdentifier[] { + map.put(101, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1632,7 +1649,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(88, Arrays.asList(new TerminalIdentifier[] { + map.put(103, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1645,7 +1662,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(129, Arrays.asList(new TerminalIdentifier[] { + map.put(88, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_STRUCT, WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, @@ -1662,28 +1679,28 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TASK, WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(39, Arrays.asList(new TerminalIdentifier[] { + map.put(40, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(42, Arrays.asList(new TerminalIdentifier[] { + map.put(43, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(47, Arrays.asList(new TerminalIdentifier[] { + map.put(48, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(50, Arrays.asList(new TerminalIdentifier[] { + map.put(51, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EQUAL, })); - map.put(51, Arrays.asList(new TerminalIdentifier[] { + map.put(52, Arrays.asList(new TerminalIdentifier[] { })); - map.put(56, Arrays.asList(new TerminalIdentifier[] { + map.put(57, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(59, Arrays.asList(new TerminalIdentifier[] { + map.put(60, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_IF, @@ -1695,20 +1712,20 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(69, Arrays.asList(new TerminalIdentifier[] { - WdlTerminalIdentifier.TERMINAL_AS, - })); map.put(70, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_AS, })); map.put(71, Arrays.asList(new TerminalIdentifier[] { - WdlTerminalIdentifier.TERMINAL_AFTER, })); map.put(72, Arrays.asList(new TerminalIdentifier[] { - WdlTerminalIdentifier.TERMINAL_LBRACE, + WdlTerminalIdentifier.TERMINAL_AFTER, })); map.put(73, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(75, Arrays.asList(new TerminalIdentifier[] { + map.put(74, Arrays.asList(new TerminalIdentifier[] { + })); + map.put(76, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); map.put(7, Arrays.asList(new TerminalIdentifier[] { @@ -1716,7 +1733,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(90, Arrays.asList(new TerminalIdentifier[] { + map.put(91, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_FLOAT, WdlTerminalIdentifier.TERMINAL_INTEGER, @@ -1726,15 +1743,15 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_NULL, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(92, Arrays.asList(new TerminalIdentifier[] { + map.put(93, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(94, Arrays.asList(new TerminalIdentifier[] { + map.put(95, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(116, Arrays.asList(new TerminalIdentifier[] { + map.put(117, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1750,10 +1767,10 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(120, Arrays.asList(new TerminalIdentifier[] { + map.put(121, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(123, Arrays.asList(new TerminalIdentifier[] { + map.put(124, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1769,24 +1786,24 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(11, Arrays.asList(new TerminalIdentifier[] { - })); map.put(10, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(13, Arrays.asList(new TerminalIdentifier[] { + map.put(12, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, WdlTerminalIdentifier.TERMINAL_STRING, })); - map.put(17, Arrays.asList(new TerminalIdentifier[] { - WdlTerminalIdentifier.TERMINAL_AS, - })); map.put(18, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_AS, })); map.put(19, Arrays.asList(new TerminalIdentifier[] { + })); + map.put(20, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, })); - map.put(23, Arrays.asList(new TerminalIdentifier[] { + map.put(24, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_INPUT, WdlTerminalIdentifier.TERMINAL_META, @@ -1797,35 +1814,35 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(32, Arrays.asList(new TerminalIdentifier[] { + map.put(33, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(36, Arrays.asList(new TerminalIdentifier[] { + map.put(37, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_ATTR_HINT, })); - map.put(77, Arrays.asList(new TerminalIdentifier[] { + map.put(78, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(74, Arrays.asList(new TerminalIdentifier[] { + map.put(75, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, })); - map.put(78, Arrays.asList(new TerminalIdentifier[] { + map.put(79, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AFTER, })); - map.put(76, Arrays.asList(new TerminalIdentifier[] { + map.put(77, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(33, Arrays.asList(new TerminalIdentifier[] { + map.put(34, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RAW_COMMAND, })); - map.put(35, Arrays.asList(new TerminalIdentifier[] { + map.put(36, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(34, Arrays.asList(new TerminalIdentifier[] { + map.put(35, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_PART, })); - map.put(53, Arrays.asList(new TerminalIdentifier[] { + map.put(54, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, @@ -1833,7 +1850,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { map.put(2, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_VERSION, })); - map.put(110, Arrays.asList(new TerminalIdentifier[] { + map.put(111, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1849,7 +1866,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(109, Arrays.asList(new TerminalIdentifier[] { + map.put(110, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1865,7 +1882,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(101, Arrays.asList(new TerminalIdentifier[] { + map.put(102, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1881,7 +1898,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(102, Arrays.asList(new TerminalIdentifier[] { + map.put(103, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1897,7 +1914,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(100, Arrays.asList(new TerminalIdentifier[] { + map.put(101, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1913,7 +1930,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(106, Arrays.asList(new TerminalIdentifier[] { + map.put(107, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1929,7 +1946,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(107, Arrays.asList(new TerminalIdentifier[] { + map.put(108, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1945,7 +1962,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(104, Arrays.asList(new TerminalIdentifier[] { + map.put(105, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1961,7 +1978,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(105, Arrays.asList(new TerminalIdentifier[] { + map.put(106, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1977,7 +1994,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(103, Arrays.asList(new TerminalIdentifier[] { + map.put(104, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -1993,7 +2010,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(112, Arrays.asList(new TerminalIdentifier[] { + map.put(113, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2009,7 +2026,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(108, Arrays.asList(new TerminalIdentifier[] { + map.put(109, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2025,7 +2042,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(111, Arrays.asList(new TerminalIdentifier[] { + map.put(112, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2041,7 +2058,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(119, Arrays.asList(new TerminalIdentifier[] { + map.put(120, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2057,7 +2074,7 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(118, Arrays.asList(new TerminalIdentifier[] { + map.put(119, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2073,52 +2090,52 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(127, Arrays.asList(new TerminalIdentifier[] { + map.put(128, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(129, Arrays.asList(new TerminalIdentifier[] { + map.put(130, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, })); - map.put(115, Arrays.asList(new TerminalIdentifier[] { + map.put(116, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_DASH, })); - map.put(131, Arrays.asList(new TerminalIdentifier[] { + map.put(132, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_FLOAT, })); - map.put(128, Arrays.asList(new TerminalIdentifier[] { + map.put(129, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(117, Arrays.asList(new TerminalIdentifier[] { + map.put(118, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(126, Arrays.asList(new TerminalIdentifier[] { + map.put(127, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IF, })); - map.put(130, Arrays.asList(new TerminalIdentifier[] { + map.put(131, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INTEGER, })); - map.put(124, Arrays.asList(new TerminalIdentifier[] { + map.put(125, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(125, Arrays.asList(new TerminalIdentifier[] { + map.put(126, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LPAREN, })); - map.put(122, Arrays.asList(new TerminalIdentifier[] { + map.put(123, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LSQUARE, })); - map.put(113, Arrays.asList(new TerminalIdentifier[] { + map.put(114, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_NOT, })); - map.put(121, Arrays.asList(new TerminalIdentifier[] { + map.put(122, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_OBJECT, })); - map.put(114, Arrays.asList(new TerminalIdentifier[] { + map.put(115, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PLUS, })); - map.put(37, Arrays.asList(new TerminalIdentifier[] { + map.put(38, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(38, Arrays.asList(new TerminalIdentifier[] { + map.put(39, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CMD_ATTR_HINT, })); map.put(5, Arrays.asList(new TerminalIdentifier[] { @@ -2130,33 +2147,33 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { map.put(3, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); - map.put(81, Arrays.asList(new TerminalIdentifier[] { + map.put(82, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IF, })); - map.put(20, Arrays.asList(new TerminalIdentifier[] { + map.put(21, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IMPORT, })); - map.put(22, Arrays.asList(new TerminalIdentifier[] { + map.put(23, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_ALIAS, })); - map.put(21, Arrays.asList(new TerminalIdentifier[] { + map.put(22, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_AS, })); - map.put(52, Arrays.asList(new TerminalIdentifier[] { + map.put(53, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(84, Arrays.asList(new TerminalIdentifier[] { + map.put(85, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(40, Arrays.asList(new TerminalIdentifier[] { + map.put(41, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INPUT, })); - map.put(44, Arrays.asList(new TerminalIdentifier[] { + map.put(45, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(55, Arrays.asList(new TerminalIdentifier[] { + map.put(56, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, WdlTerminalIdentifier.TERMINAL_DASH, WdlTerminalIdentifier.TERMINAL_E, @@ -2172,72 +2189,79 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_PLUS, WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(45, Arrays.asList(new TerminalIdentifier[] { + map.put(46, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(49, Arrays.asList(new TerminalIdentifier[] { + map.put(50, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(48, Arrays.asList(new TerminalIdentifier[] { + map.put(49, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(85, Arrays.asList(new TerminalIdentifier[] { + map.put(86, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(86, Arrays.asList(new TerminalIdentifier[] { + map.put(87, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_BOOLEAN, })); - map.put(88, Arrays.asList(new TerminalIdentifier[] { + map.put(89, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_FLOAT, })); - map.put(87, Arrays.asList(new TerminalIdentifier[] { + map.put(88, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INTEGER, })); - map.put(93, Arrays.asList(new TerminalIdentifier[] { + map.put(94, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(91, Arrays.asList(new TerminalIdentifier[] { + map.put(92, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LSQUARE, })); - map.put(89, Arrays.asList(new TerminalIdentifier[] { + map.put(90, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_NULL, })); - map.put(83, Arrays.asList(new TerminalIdentifier[] { + map.put(84, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(58, Arrays.asList(new TerminalIdentifier[] { + map.put(59, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(57, Arrays.asList(new TerminalIdentifier[] { + map.put(58, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_OUTPUT, })); - map.put(46, Arrays.asList(new TerminalIdentifier[] { + map.put(47, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(43, Arrays.asList(new TerminalIdentifier[] { + map.put(44, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_LBRACE, })); - map.put(41, Arrays.asList(new TerminalIdentifier[] { + map.put(42, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RUNTIME, })); - map.put(82, Arrays.asList(new TerminalIdentifier[] { + map.put(83, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_SCATTER, })); - map.put(54, Arrays.asList(new TerminalIdentifier[] { + map.put(55, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EQUAL, })); - map.put(12, Arrays.asList(new TerminalIdentifier[] { + map.put(11, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); + map.put(15, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, + })); map.put(14, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_STRING, + })); + map.put(13, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_QUOTE, })); - map.put(16, Arrays.asList(new TerminalIdentifier[] { + map.put(17, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_EXPRESSION_PLACEHOLDER_START, })); - map.put(15, Arrays.asList(new TerminalIdentifier[] { + map.put(16, Arrays.asList(new TerminalIdentifier[] { + WdlTerminalIdentifier.TERMINAL_ESCAPE, WdlTerminalIdentifier.TERMINAL_STRING, })); map.put(8, Arrays.asList(new TerminalIdentifier[] { @@ -2248,433 +2272,436 @@ public enum WdlTerminalIdentifier implements TerminalIdentifier { WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(24, Arrays.asList(new TerminalIdentifier[] { + map.put(25, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TASK, })); - map.put(25, Arrays.asList(new TerminalIdentifier[] { + map.put(26, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RAW_COMMAND, })); - map.put(31, Arrays.asList(new TerminalIdentifier[] { + map.put(32, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(26, Arrays.asList(new TerminalIdentifier[] { + map.put(27, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INPUT, })); - map.put(30, Arrays.asList(new TerminalIdentifier[] { + map.put(31, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(27, Arrays.asList(new TerminalIdentifier[] { + map.put(28, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_OUTPUT, })); - map.put(29, Arrays.asList(new TerminalIdentifier[] { + map.put(30, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(28, Arrays.asList(new TerminalIdentifier[] { + map.put(29, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_RUNTIME, })); - map.put(99, Arrays.asList(new TerminalIdentifier[] { + map.put(100, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, })); - map.put(98, Arrays.asList(new TerminalIdentifier[] { + map.put(99, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TYPE, })); - map.put(95, Arrays.asList(new TerminalIdentifier[] { + map.put(96, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TYPE, })); - map.put(97, Arrays.asList(new TerminalIdentifier[] { + map.put(98, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TYPE, })); - map.put(96, Arrays.asList(new TerminalIdentifier[] { + map.put(97, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_TYPE, })); map.put(6, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_VERSION, })); - map.put(61, Arrays.asList(new TerminalIdentifier[] { + map.put(62, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_CALL, })); - map.put(62, Arrays.asList(new TerminalIdentifier[] { + map.put(63, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IDENTIFIER, WdlTerminalIdentifier.TERMINAL_TYPE, WdlTerminalIdentifier.TERMINAL_TYPE_E, })); - map.put(63, Arrays.asList(new TerminalIdentifier[] { + map.put(64, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_IF, })); - map.put(65, Arrays.asList(new TerminalIdentifier[] { + map.put(66, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_INPUT, })); - map.put(66, Arrays.asList(new TerminalIdentifier[] { + map.put(67, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_OUTPUT, })); - map.put(64, Arrays.asList(new TerminalIdentifier[] { + map.put(65, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_SCATTER, })); - map.put(68, Arrays.asList(new TerminalIdentifier[] { + map.put(69, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(67, Arrays.asList(new TerminalIdentifier[] { + map.put(68, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(80, Arrays.asList(new TerminalIdentifier[] { + map.put(81, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_META, })); - map.put(79, Arrays.asList(new TerminalIdentifier[] { + map.put(80, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_PARAMETER_META, })); - map.put(60, Arrays.asList(new TerminalIdentifier[] { + map.put(61, Arrays.asList(new TerminalIdentifier[] { WdlTerminalIdentifier.TERMINAL_WORKFLOW, })); rule_first = Collections.unmodifiableMap(map); } static { Map> map = new HashMap>(); - map.put(91, new ArrayList()); - map.put(76, new ArrayList()); - map.put(98, new ArrayList()); - map.put(72, new ArrayList()); - map.put(78, new ArrayList()); - map.put(136, new ArrayList()); - map.put(89, new ArrayList()); - map.put(116, new ArrayList()); - map.put(135, new ArrayList()); - map.put(124, new ArrayList()); - map.put(109, new ArrayList()); + map.put(118, new ArrayList()); + map.put(106, new ArrayList()); map.put(120, new ArrayList()); - map.put(131, new ArrayList()); - map.put(111, new ArrayList()); - map.put(112, new ArrayList()); - map.put(71, new ArrayList()); + map.put(124, new ArrayList()); + map.put(70, new ArrayList()); map.put(121, new ArrayList()); - map.put(130, new ArrayList()); - map.put(94, new ArrayList()); - map.put(113, new ArrayList()); - map.put(97, new ArrayList()); - map.put(99, new ArrayList()); - map.put(128, new ArrayList()); - map.put(101, new ArrayList()); + map.put(122, new ArrayList()); + map.put(131, new ArrayList()); + map.put(116, new ArrayList()); map.put(123, new ArrayList()); - map.put(66, new ArrayList()); - map.put(93, new ArrayList()); - map.put(133, new ArrayList()); - map.put(90, new ArrayList()); - map.put(134, new ArrayList()); - map.put(132, new ArrayList()); - map.put(82, new ArrayList()); + map.put(76, new ArrayList()); map.put(80, new ArrayList()); - map.put(106, new ArrayList()); - map.put(75, new ArrayList()); - map.put(68, new ArrayList()); - map.put(105, new ArrayList()); - map.put(107, new ArrayList()); - map.put(86, new ArrayList()); - map.put(114, new ArrayList()); - map.put(104, new ArrayList()); - map.put(74, new ArrayList()); - map.put(73, new ArrayList()); - map.put(103, new ArrayList()); - map.put(77, new ArrayList()); + map.put(100, new ArrayList()); + map.put(94, new ArrayList()); + map.put(119, new ArrayList()); + map.put(126, new ArrayList()); + map.put(128, new ArrayList()); + map.put(109, new ArrayList()); + map.put(113, new ArrayList()); map.put(95, new ArrayList()); - map.put(127, new ArrayList()); - map.put(65, new ArrayList()); + map.put(96, new ArrayList()); + map.put(84, new ArrayList()); + map.put(86, new ArrayList()); + map.put(134, new ArrayList()); + map.put(115, new ArrayList()); + map.put(136, new ArrayList()); + map.put(108, new ArrayList()); map.put(102, new ArrayList()); - map.put(81, new ArrayList()); + map.put(91, new ArrayList()); map.put(83, new ArrayList()); + map.put(81, new ArrayList()); + map.put(75, new ArrayList()); map.put(110, new ArrayList()); - map.put(84, new ArrayList()); - map.put(100, new ArrayList()); - map.put(69, new ArrayList()); - map.put(92, new ArrayList()); - map.put(115, new ArrayList()); - map.put(126, new ArrayList()); - map.put(67, new ArrayList()); map.put(117, new ArrayList()); - map.put(96, new ArrayList()); - map.put(122, new ArrayList()); - map.put(108, new ArrayList()); - map.put(119, new ArrayList()); - map.put(125, new ArrayList()); - map.put(70, new ArrayList()); + map.put(111, new ArrayList()); + map.put(138, new ArrayList()); + map.put(71, new ArrayList()); + map.put(87, new ArrayList()); + map.put(99, new ArrayList()); map.put(79, new ArrayList()); - map.put(118, new ArrayList()); + map.put(125, new ArrayList()); + map.put(68, new ArrayList()); + map.put(132, new ArrayList()); + map.put(130, new ArrayList()); + map.put(133, new ArrayList()); + map.put(66, new ArrayList()); + map.put(73, new ArrayList()); + map.put(105, new ArrayList()); + map.put(67, new ArrayList()); + map.put(72, new ArrayList()); + map.put(90, new ArrayList()); + map.put(104, new ArrayList()); + map.put(127, new ArrayList()); + map.put(129, new ArrayList()); + map.put(92, new ArrayList()); + map.put(135, new ArrayList()); + map.put(107, new ArrayList()); + map.put(78, new ArrayList()); + map.put(69, new ArrayList()); + map.put(89, new ArrayList()); + map.put(97, new ArrayList()); + map.put(137, new ArrayList()); + map.put(82, new ArrayList()); + map.put(114, new ArrayList()); + map.put(98, new ArrayList()); + map.put(112, new ArrayList()); + map.put(77, new ArrayList()); + map.put(74, new ArrayList()); map.put(85, new ArrayList()); - map.put(87, new ArrayList()); + map.put(93, new ArrayList()); + map.put(101, new ArrayList()); + map.put(103, new ArrayList()); map.put(88, new ArrayList()); - map.put(129, new ArrayList()); - map.get(91).add("$_gen0 = list($import)"); - map.get(76).add("$_gen1 = list($file_body_element)"); - map.get(98).add("$_gen10 = list($input_declaration)"); - map.get(72).add("$_gen11 = list($kv)"); - map.get(78).add("$_gen12 = list($meta_kv)"); - map.get(136).add("$_gen13 = $setter"); - map.get(136).add("$_gen13 = :_empty"); - map.get(89).add("$_gen14 = list($output_kv)"); - map.get(116).add("$_gen15 = list($wf_body_element)"); - map.get(135).add("$_gen16 = $alias"); - map.get(135).add("$_gen16 = :_empty"); - map.get(124).add("$_gen17 = list($call_after)"); - map.get(109).add("$_gen18 = $call_body"); - map.get(109).add("$_gen18 = :_empty"); - map.get(120).add("$_gen19 = list($input_kv, :comma)"); - map.get(131).add("$_gen2 = list($struct_declaration)"); - map.get(111).add("$_gen20 = list($meta_value, :comma)"); - map.get(112).add("$_gen21 = list($meta_kv, :comma)"); - map.get(71).add("$_gen22 = list($type_e, :comma)"); - map.get(121).add("$_gen23 = list($e, :comma)"); - map.get(130).add("$_gen24 = list($object_kv, :comma)"); - map.get(94).add("$_gen25 = list($map_kv, :comma)"); - map.get(113).add("$_gen3 = :_empty"); - map.get(113).add("$_gen3 = :string"); - map.get(97).add("$_gen4 = list($string_piece)"); - map.get(99).add("$_gen5 = $import_namespace"); - map.get(99).add("$_gen5 = :_empty"); - map.get(128).add("$_gen6 = list($import_alias)"); - map.get(101).add("$_gen7 = list($task_sections)"); - map.get(123).add("$_gen8 = list($command_part)"); - map.get(66).add("$_gen9 = list($expression_placeholder_kv)"); - map.get(93).add("$alias = :as :identifier -> $1"); - map.get(133).add("$call = :call :fqn $_gen16 $_gen17 $_gen18 -> Call( task=$1, alias=$2, after=$3, body=$4 )"); - map.get(90).add("$call_after = :after :identifier -> $1"); - map.get(134).add("$call_body = :lbrace :input :colon $_gen19 :rbrace -> CallBody( inputs=$3 )"); - map.get(132).add("$command = :raw_command :raw_cmd_start $_gen8 :raw_cmd_end -> RawCommand( parts=$2 )"); - map.get(82).add("$command_part = $expression_placeholder"); - map.get(82).add("$command_part = :cmd_part"); - map.get(80).add("$declaration = $type_e :identifier $setter -> Declaration( type=$0, name=$1, expression=$2 )"); - map.get(106).add("$document = $version $_gen0 $_gen1 -> Draft3File( version=$0, imports=$1, body=$2 )"); - map.get(75).add("$e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :plus $e -> Add( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e :slash $e -> Divide( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 )"); - map.get(75).add("$e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 )"); - map.get(75).add("$e = $string_literal"); - map.get(75).add("$e = :boolean"); - map.get(75).add("$e = :dash $e -> UnaryNegation( expression=$1 )"); - map.get(75).add("$e = :float"); - map.get(75).add("$e = :identifier"); - map.get(75).add("$e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 )"); - map.get(75).add("$e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 )"); - map.get(75).add("$e = :integer"); - map.get(75).add("$e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 )"); - map.get(75).add("$e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 )"); - map.get(75).add("$e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 )"); - map.get(75).add("$e = :not $e -> LogicalNot( expression=$1 )"); - map.get(75).add("$e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 )"); - map.get(75).add("$e = :plus $e -> UnaryPlus( expression=$1 )"); - map.get(68).add("$expression_placeholder = :expression_placeholder_start $_gen9 $e :expression_placeholder_end -> ExpressionPlaceholder( attributes=$1, expr=$2 )"); - map.get(105).add("$expression_placeholder_kv = :cmd_attr_hint :identifier :equal $e -> ExpressionPlaceholderAttr( key=$1, value=$3 )"); - map.get(107).add("$file_body_element = $struct"); - map.get(107).add("$file_body_element = $task"); - map.get(107).add("$file_body_element = $workflow"); - map.get(86).add("$if_stmt = :if :lparen $e :rparen :lbrace $_gen15 :rbrace -> If( expression=$2, body=$5 )"); - map.get(114).add("$import = :import $static_string $_gen5 $_gen6 -> Import( uri=$1, namespace=$2, aliases=$3 )"); - map.get(104).add("$import_alias = :alias :identifier :as :identifier -> ImportAlias( old_name=$1, new_name=$3 )"); - map.get(74).add("$import_namespace = :as :identifier -> $1"); - map.get(73).add("$input_declaration = $type_e :identifier $_gen13 -> InputDeclaration( type=$0, name=$1, expression=$2 )"); - map.get(103).add("$input_kv = :identifier :equal $e -> ObjectKV( key=$0, value=$2 )"); - map.get(77).add("$inputs = :input :lbrace $_gen10 :rbrace -> Inputs( inputs=$2 )"); - map.get(95).add("$kv = :identifier :colon $e -> RuntimeAttribute( key=$0, value=$2 )"); - map.get(127).add("$map_kv = $e :colon $e -> MapLiteralKv( key=$0, value=$2 )"); - map.get(65).add("$meta = :meta $meta_map -> Meta( map=$1 )"); - map.get(102).add("$meta_kv = :identifier :colon $meta_value -> MetaKvPair( key=$0, value=$2 )"); - map.get(81).add("$meta_map = :lbrace $_gen12 :rbrace -> $1"); - map.get(83).add("$meta_value = $static_string"); - map.get(83).add("$meta_value = :boolean"); - map.get(83).add("$meta_value = :float"); - map.get(83).add("$meta_value = :integer"); - map.get(83).add("$meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 )"); - map.get(83).add("$meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 )"); - map.get(83).add("$meta_value = :null"); - map.get(110).add("$object_kv = :identifier :colon $e -> ObjectKV( key=$0, value=$2 )"); - map.get(84).add("$output_kv = $type_e :identifier :equal $e -> Output( type=$0, name=$1, expression=$3 )"); - map.get(100).add("$outputs = :output :lbrace $_gen14 :rbrace -> Outputs( outputs=$2 )"); - map.get(69).add("$parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); - map.get(92).add("$rt_map = :lbrace $_gen11 :rbrace -> $1"); - map.get(115).add("$runtime = :runtime $rt_map -> Runtime( map=$1 )"); - map.get(126).add("$scatter = :scatter :lparen :identifier :in $e :rparen :lbrace $_gen15 :rbrace -> Scatter( item=$2, collection=$4, body=$7 )"); - map.get(67).add("$setter = :equal $e -> $1"); - map.get(117).add("$static_string = :quote $_gen3 :quote -> StaticString( value=$1 )"); - map.get(96).add("$string_literal = :quote $_gen4 :quote -> StringLiteral( pieces=$1 )"); - map.get(122).add("$string_piece = $expression_placeholder"); - map.get(122).add("$string_piece = :string"); - map.get(108).add("$struct = :struct :identifier :lbrace $_gen2 :rbrace -> Struct( name=$1, entries=$3 )"); - map.get(119).add("$struct_declaration = $type_e :identifier -> StructEntry( type=$0, name=$1 )"); - map.get(125).add("$task = :task :identifier :lbrace $_gen7 :rbrace -> Task( name=$1, sections=$3 )"); - map.get(70).add("$task_sections = $command"); - map.get(70).add("$task_sections = $declaration"); - map.get(70).add("$task_sections = $inputs"); - map.get(70).add("$task_sections = $meta"); - map.get(70).add("$task_sections = $outputs"); - map.get(70).add("$task_sections = $parameter_meta"); - map.get(70).add("$task_sections = $runtime"); - map.get(79).add("$type_e = :identifier"); - map.get(79).add("$type_e = :type"); - map.get(79).add("$type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 )"); - map.get(79).add("$type_e = :type <=> :plus -> NonEmptyType( innerType=$0 )"); - map.get(79).add("$type_e = :type <=> :qmark -> OptionalType( innerType=$0 )"); - map.get(118).add("$version = :version :version_name -> VersionDeclaration( v=$1 )"); - map.get(85).add("$wf_body_element = $call"); - map.get(85).add("$wf_body_element = $declaration"); - map.get(85).add("$wf_body_element = $if_stmt"); - map.get(85).add("$wf_body_element = $inputs"); - map.get(85).add("$wf_body_element = $outputs"); - map.get(85).add("$wf_body_element = $scatter"); - map.get(85).add("$wf_body_element = $wf_meta"); - map.get(85).add("$wf_body_element = $wf_parameter_meta"); - map.get(87).add("$wf_meta = :meta $meta_map -> Meta( map=$1 )"); - map.get(88).add("$wf_parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); - map.get(129).add("$workflow = :workflow :identifier :lbrace $_gen15 :rbrace -> Workflow( name=$1, body=$3 )"); + map.get(118).add("$_gen0 = list($import)"); + map.get(106).add("$_gen1 = list($file_body_element)"); + map.get(120).add("$_gen10 = list($input_declaration)"); + map.get(124).add("$_gen11 = list($kv)"); + map.get(70).add("$_gen12 = list($meta_kv)"); + map.get(121).add("$_gen13 = $setter"); + map.get(121).add("$_gen13 = :_empty"); + map.get(122).add("$_gen14 = list($output_kv)"); + map.get(131).add("$_gen15 = list($wf_body_element)"); + map.get(116).add("$_gen16 = $alias"); + map.get(116).add("$_gen16 = :_empty"); + map.get(123).add("$_gen17 = list($call_after)"); + map.get(76).add("$_gen18 = $call_body"); + map.get(76).add("$_gen18 = :_empty"); + map.get(80).add("$_gen19 = list($input_kv, :comma)"); + map.get(100).add("$_gen2 = list($struct_declaration)"); + map.get(94).add("$_gen20 = list($meta_value, :comma)"); + map.get(119).add("$_gen21 = list($meta_kv, :comma)"); + map.get(126).add("$_gen22 = list($type_e, :comma)"); + map.get(128).add("$_gen23 = list($e, :comma)"); + map.get(109).add("$_gen24 = list($object_kv, :comma)"); + map.get(113).add("$_gen25 = list($map_kv, :comma)"); + map.get(95).add("$_gen3 = list($static_string_piece)"); + map.get(96).add("$_gen4 = list($string_piece)"); + map.get(84).add("$_gen5 = $import_namespace"); + map.get(84).add("$_gen5 = :_empty"); + map.get(86).add("$_gen6 = list($import_alias)"); + map.get(134).add("$_gen7 = list($task_sections)"); + map.get(115).add("$_gen8 = list($command_part)"); + map.get(136).add("$_gen9 = list($expression_placeholder_kv)"); + map.get(108).add("$alias = :as :identifier -> $1"); + map.get(102).add("$call = :call :fqn $_gen16 $_gen17 $_gen18 -> Call( task=$1, alias=$2, after=$3, body=$4 )"); + map.get(91).add("$call_after = :after :identifier -> $1"); + map.get(83).add("$call_body = :lbrace :input :colon $_gen19 :rbrace -> CallBody( inputs=$3 )"); + map.get(81).add("$command = :raw_command :raw_cmd_start $_gen8 :raw_cmd_end -> RawCommand( parts=$2 )"); + map.get(75).add("$command_part = $expression_placeholder"); + map.get(75).add("$command_part = :cmd_part"); + map.get(110).add("$declaration = $type_e :identifier $setter -> Declaration( type=$0, name=$1, expression=$2 )"); + map.get(117).add("$document = $version $_gen0 $_gen1 -> Draft3File( version=$0, imports=$1, body=$2 )"); + map.get(111).add("$e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :plus $e -> Add( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e :slash $e -> Divide( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 )"); + map.get(111).add("$e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 )"); + map.get(111).add("$e = $string_literal"); + map.get(111).add("$e = :boolean"); + map.get(111).add("$e = :dash $e -> UnaryNegation( expression=$1 )"); + map.get(111).add("$e = :float"); + map.get(111).add("$e = :identifier"); + map.get(111).add("$e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 )"); + map.get(111).add("$e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 )"); + map.get(111).add("$e = :integer"); + map.get(111).add("$e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 )"); + map.get(111).add("$e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 )"); + map.get(111).add("$e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 )"); + map.get(111).add("$e = :not $e -> LogicalNot( expression=$1 )"); + map.get(111).add("$e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 )"); + map.get(111).add("$e = :plus $e -> UnaryPlus( expression=$1 )"); + map.get(138).add("$expression_placeholder = :expression_placeholder_start $_gen9 $e :expression_placeholder_end -> ExpressionPlaceholder( attributes=$1, expr=$2 )"); + map.get(71).add("$expression_placeholder_kv = :cmd_attr_hint :identifier :equal $e -> ExpressionPlaceholderAttr( key=$1, value=$3 )"); + map.get(87).add("$file_body_element = $struct"); + map.get(87).add("$file_body_element = $task"); + map.get(87).add("$file_body_element = $workflow"); + map.get(99).add("$if_stmt = :if :lparen $e :rparen :lbrace $_gen15 :rbrace -> If( expression=$2, body=$5 )"); + map.get(79).add("$import = :import $static_string $_gen5 $_gen6 -> Import( uri=$1, namespace=$2, aliases=$3 )"); + map.get(125).add("$import_alias = :alias :identifier :as :identifier -> ImportAlias( old_name=$1, new_name=$3 )"); + map.get(68).add("$import_namespace = :as :identifier -> $1"); + map.get(132).add("$input_declaration = $type_e :identifier $_gen13 -> InputDeclaration( type=$0, name=$1, expression=$2 )"); + map.get(130).add("$input_kv = :identifier :equal $e -> ObjectKV( key=$0, value=$2 )"); + map.get(133).add("$inputs = :input :lbrace $_gen10 :rbrace -> Inputs( inputs=$2 )"); + map.get(66).add("$kv = :identifier :colon $e -> RuntimeAttribute( key=$0, value=$2 )"); + map.get(73).add("$map_kv = $e :colon $e -> MapLiteralKv( key=$0, value=$2 )"); + map.get(105).add("$meta = :meta $meta_map -> Meta( map=$1 )"); + map.get(67).add("$meta_kv = :identifier :colon $meta_value -> MetaKvPair( key=$0, value=$2 )"); + map.get(72).add("$meta_map = :lbrace $_gen12 :rbrace -> $1"); + map.get(90).add("$meta_value = $static_string"); + map.get(90).add("$meta_value = :boolean"); + map.get(90).add("$meta_value = :float"); + map.get(90).add("$meta_value = :integer"); + map.get(90).add("$meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 )"); + map.get(90).add("$meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 )"); + map.get(90).add("$meta_value = :null"); + map.get(104).add("$object_kv = :identifier :colon $e -> ObjectKV( key=$0, value=$2 )"); + map.get(127).add("$output_kv = $type_e :identifier :equal $e -> Output( type=$0, name=$1, expression=$3 )"); + map.get(129).add("$outputs = :output :lbrace $_gen14 :rbrace -> Outputs( outputs=$2 )"); + map.get(92).add("$parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); + map.get(135).add("$rt_map = :lbrace $_gen11 :rbrace -> $1"); + map.get(107).add("$runtime = :runtime $rt_map -> Runtime( map=$1 )"); + map.get(78).add("$scatter = :scatter :lparen :identifier :in $e :rparen :lbrace $_gen15 :rbrace -> Scatter( item=$2, collection=$4, body=$7 )"); + map.get(69).add("$setter = :equal $e -> $1"); + map.get(89).add("$static_string = :quote $_gen3 :quote -> StaticString( value=$1 )"); + map.get(97).add("$static_string_piece = :escape"); + map.get(97).add("$static_string_piece = :string"); + map.get(137).add("$string_literal = :quote $_gen4 :quote -> StringLiteral( pieces=$1 )"); + map.get(82).add("$string_piece = $expression_placeholder"); + map.get(82).add("$string_piece = $static_string_piece"); + map.get(114).add("$struct = :struct :identifier :lbrace $_gen2 :rbrace -> Struct( name=$1, entries=$3 )"); + map.get(98).add("$struct_declaration = $type_e :identifier -> StructEntry( type=$0, name=$1 )"); + map.get(112).add("$task = :task :identifier :lbrace $_gen7 :rbrace -> Task( name=$1, sections=$3 )"); + map.get(77).add("$task_sections = $command"); + map.get(77).add("$task_sections = $declaration"); + map.get(77).add("$task_sections = $inputs"); + map.get(77).add("$task_sections = $meta"); + map.get(77).add("$task_sections = $outputs"); + map.get(77).add("$task_sections = $parameter_meta"); + map.get(77).add("$task_sections = $runtime"); + map.get(74).add("$type_e = :identifier"); + map.get(74).add("$type_e = :type"); + map.get(74).add("$type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 )"); + map.get(74).add("$type_e = :type <=> :plus -> NonEmptyType( innerType=$0 )"); + map.get(74).add("$type_e = :type <=> :qmark -> OptionalType( innerType=$0 )"); + map.get(85).add("$version = :version :version_name -> VersionDeclaration( v=$1 )"); + map.get(93).add("$wf_body_element = $call"); + map.get(93).add("$wf_body_element = $declaration"); + map.get(93).add("$wf_body_element = $if_stmt"); + map.get(93).add("$wf_body_element = $inputs"); + map.get(93).add("$wf_body_element = $outputs"); + map.get(93).add("$wf_body_element = $scatter"); + map.get(93).add("$wf_body_element = $wf_meta"); + map.get(93).add("$wf_body_element = $wf_parameter_meta"); + map.get(101).add("$wf_meta = :meta $meta_map -> Meta( map=$1 )"); + map.get(103).add("$wf_parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); + map.get(88).add("$workflow = :workflow :identifier :lbrace $_gen15 :rbrace -> Workflow( name=$1, body=$3 )"); nonterminal_rules = Collections.unmodifiableMap(map); } static { Map map = new HashMap(); map.put(new Integer(0), "$_gen0 = list($import)"); map.put(new Integer(1), "$_gen1 = list($file_body_element)"); - map.put(new Integer(39), "$_gen10 = list($input_declaration)"); - map.put(new Integer(42), "$_gen11 = list($kv)"); - map.put(new Integer(47), "$_gen12 = list($meta_kv)"); - map.put(new Integer(50), "$_gen13 = $setter"); - map.put(new Integer(51), "$_gen13 = :_empty"); - map.put(new Integer(56), "$_gen14 = list($output_kv)"); - map.put(new Integer(59), "$_gen15 = list($wf_body_element)"); - map.put(new Integer(69), "$_gen16 = $alias"); - map.put(new Integer(70), "$_gen16 = :_empty"); - map.put(new Integer(71), "$_gen17 = list($call_after)"); - map.put(new Integer(72), "$_gen18 = $call_body"); - map.put(new Integer(73), "$_gen18 = :_empty"); - map.put(new Integer(75), "$_gen19 = list($input_kv, :comma)"); + map.put(new Integer(40), "$_gen10 = list($input_declaration)"); + map.put(new Integer(43), "$_gen11 = list($kv)"); + map.put(new Integer(48), "$_gen12 = list($meta_kv)"); + map.put(new Integer(51), "$_gen13 = $setter"); + map.put(new Integer(52), "$_gen13 = :_empty"); + map.put(new Integer(57), "$_gen14 = list($output_kv)"); + map.put(new Integer(60), "$_gen15 = list($wf_body_element)"); + map.put(new Integer(70), "$_gen16 = $alias"); + map.put(new Integer(71), "$_gen16 = :_empty"); + map.put(new Integer(72), "$_gen17 = list($call_after)"); + map.put(new Integer(73), "$_gen18 = $call_body"); + map.put(new Integer(74), "$_gen18 = :_empty"); + map.put(new Integer(76), "$_gen19 = list($input_kv, :comma)"); map.put(new Integer(7), "$_gen2 = list($struct_declaration)"); - map.put(new Integer(90), "$_gen20 = list($meta_value, :comma)"); - map.put(new Integer(92), "$_gen21 = list($meta_kv, :comma)"); - map.put(new Integer(94), "$_gen22 = list($type_e, :comma)"); - map.put(new Integer(116), "$_gen23 = list($e, :comma)"); - map.put(new Integer(120), "$_gen24 = list($object_kv, :comma)"); - map.put(new Integer(123), "$_gen25 = list($map_kv, :comma)"); - map.put(new Integer(11), "$_gen3 = :_empty"); - map.put(new Integer(10), "$_gen3 = :string"); - map.put(new Integer(13), "$_gen4 = list($string_piece)"); - map.put(new Integer(17), "$_gen5 = $import_namespace"); - map.put(new Integer(18), "$_gen5 = :_empty"); - map.put(new Integer(19), "$_gen6 = list($import_alias)"); - map.put(new Integer(23), "$_gen7 = list($task_sections)"); - map.put(new Integer(32), "$_gen8 = list($command_part)"); - map.put(new Integer(36), "$_gen9 = list($expression_placeholder_kv)"); - map.put(new Integer(77), "$alias = :as :identifier -> $1"); - map.put(new Integer(74), "$call = :call :fqn $_gen16 $_gen17 $_gen18 -> Call( task=$1, alias=$2, after=$3, body=$4 )"); - map.put(new Integer(78), "$call_after = :after :identifier -> $1"); - map.put(new Integer(76), "$call_body = :lbrace :input :colon $_gen19 :rbrace -> CallBody( inputs=$3 )"); - map.put(new Integer(33), "$command = :raw_command :raw_cmd_start $_gen8 :raw_cmd_end -> RawCommand( parts=$2 )"); - map.put(new Integer(35), "$command_part = $expression_placeholder"); - map.put(new Integer(34), "$command_part = :cmd_part"); - map.put(new Integer(53), "$declaration = $type_e :identifier $setter -> Declaration( type=$0, name=$1, expression=$2 )"); + map.put(new Integer(91), "$_gen20 = list($meta_value, :comma)"); + map.put(new Integer(93), "$_gen21 = list($meta_kv, :comma)"); + map.put(new Integer(95), "$_gen22 = list($type_e, :comma)"); + map.put(new Integer(117), "$_gen23 = list($e, :comma)"); + map.put(new Integer(121), "$_gen24 = list($object_kv, :comma)"); + map.put(new Integer(124), "$_gen25 = list($map_kv, :comma)"); + map.put(new Integer(10), "$_gen3 = list($static_string_piece)"); + map.put(new Integer(12), "$_gen4 = list($string_piece)"); + map.put(new Integer(18), "$_gen5 = $import_namespace"); + map.put(new Integer(19), "$_gen5 = :_empty"); + map.put(new Integer(20), "$_gen6 = list($import_alias)"); + map.put(new Integer(24), "$_gen7 = list($task_sections)"); + map.put(new Integer(33), "$_gen8 = list($command_part)"); + map.put(new Integer(37), "$_gen9 = list($expression_placeholder_kv)"); + map.put(new Integer(78), "$alias = :as :identifier -> $1"); + map.put(new Integer(75), "$call = :call :fqn $_gen16 $_gen17 $_gen18 -> Call( task=$1, alias=$2, after=$3, body=$4 )"); + map.put(new Integer(79), "$call_after = :after :identifier -> $1"); + map.put(new Integer(77), "$call_body = :lbrace :input :colon $_gen19 :rbrace -> CallBody( inputs=$3 )"); + map.put(new Integer(34), "$command = :raw_command :raw_cmd_start $_gen8 :raw_cmd_end -> RawCommand( parts=$2 )"); + map.put(new Integer(36), "$command_part = $expression_placeholder"); + map.put(new Integer(35), "$command_part = :cmd_part"); + map.put(new Integer(54), "$declaration = $type_e :identifier $setter -> Declaration( type=$0, name=$1, expression=$2 )"); map.put(new Integer(2), "$document = $version $_gen0 $_gen1 -> Draft3File( version=$0, imports=$1, body=$2 )"); - map.put(new Integer(110), "$e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 )"); - map.put(new Integer(109), "$e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 )"); - map.put(new Integer(101), "$e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 )"); - map.put(new Integer(102), "$e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 )"); - map.put(new Integer(100), "$e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 )"); - map.put(new Integer(106), "$e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 )"); - map.put(new Integer(107), "$e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 )"); - map.put(new Integer(104), "$e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 )"); - map.put(new Integer(105), "$e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 )"); - map.put(new Integer(103), "$e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 )"); - map.put(new Integer(112), "$e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 )"); - map.put(new Integer(108), "$e = $e :plus $e -> Add( lhs=$0, rhs=$2 )"); - map.put(new Integer(111), "$e = $e :slash $e -> Divide( lhs=$0, rhs=$2 )"); - map.put(new Integer(119), "$e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 )"); - map.put(new Integer(118), "$e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 )"); - map.put(new Integer(127), "$e = $string_literal"); - map.put(new Integer(129), "$e = :boolean"); - map.put(new Integer(115), "$e = :dash $e -> UnaryNegation( expression=$1 )"); - map.put(new Integer(131), "$e = :float"); - map.put(new Integer(128), "$e = :identifier"); - map.put(new Integer(117), "$e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 )"); - map.put(new Integer(126), "$e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 )"); - map.put(new Integer(130), "$e = :integer"); - map.put(new Integer(124), "$e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 )"); - map.put(new Integer(125), "$e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 )"); - map.put(new Integer(122), "$e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 )"); - map.put(new Integer(113), "$e = :not $e -> LogicalNot( expression=$1 )"); - map.put(new Integer(121), "$e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 )"); - map.put(new Integer(114), "$e = :plus $e -> UnaryPlus( expression=$1 )"); - map.put(new Integer(37), "$expression_placeholder = :expression_placeholder_start $_gen9 $e :expression_placeholder_end -> ExpressionPlaceholder( attributes=$1, expr=$2 )"); - map.put(new Integer(38), "$expression_placeholder_kv = :cmd_attr_hint :identifier :equal $e -> ExpressionPlaceholderAttr( key=$1, value=$3 )"); + map.put(new Integer(111), "$e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 )"); + map.put(new Integer(110), "$e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 )"); + map.put(new Integer(102), "$e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 )"); + map.put(new Integer(103), "$e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 )"); + map.put(new Integer(101), "$e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 )"); + map.put(new Integer(107), "$e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 )"); + map.put(new Integer(108), "$e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 )"); + map.put(new Integer(105), "$e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 )"); + map.put(new Integer(106), "$e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 )"); + map.put(new Integer(104), "$e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 )"); + map.put(new Integer(113), "$e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 )"); + map.put(new Integer(109), "$e = $e :plus $e -> Add( lhs=$0, rhs=$2 )"); + map.put(new Integer(112), "$e = $e :slash $e -> Divide( lhs=$0, rhs=$2 )"); + map.put(new Integer(120), "$e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 )"); + map.put(new Integer(119), "$e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 )"); + map.put(new Integer(128), "$e = $string_literal"); + map.put(new Integer(130), "$e = :boolean"); + map.put(new Integer(116), "$e = :dash $e -> UnaryNegation( expression=$1 )"); + map.put(new Integer(132), "$e = :float"); + map.put(new Integer(129), "$e = :identifier"); + map.put(new Integer(118), "$e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 )"); + map.put(new Integer(127), "$e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 )"); + map.put(new Integer(131), "$e = :integer"); + map.put(new Integer(125), "$e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 )"); + map.put(new Integer(126), "$e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 )"); + map.put(new Integer(123), "$e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 )"); + map.put(new Integer(114), "$e = :not $e -> LogicalNot( expression=$1 )"); + map.put(new Integer(122), "$e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 )"); + map.put(new Integer(115), "$e = :plus $e -> UnaryPlus( expression=$1 )"); + map.put(new Integer(38), "$expression_placeholder = :expression_placeholder_start $_gen9 $e :expression_placeholder_end -> ExpressionPlaceholder( attributes=$1, expr=$2 )"); + map.put(new Integer(39), "$expression_placeholder_kv = :cmd_attr_hint :identifier :equal $e -> ExpressionPlaceholderAttr( key=$1, value=$3 )"); map.put(new Integer(5), "$file_body_element = $struct"); map.put(new Integer(4), "$file_body_element = $task"); map.put(new Integer(3), "$file_body_element = $workflow"); - map.put(new Integer(81), "$if_stmt = :if :lparen $e :rparen :lbrace $_gen15 :rbrace -> If( expression=$2, body=$5 )"); - map.put(new Integer(20), "$import = :import $static_string $_gen5 $_gen6 -> Import( uri=$1, namespace=$2, aliases=$3 )"); - map.put(new Integer(22), "$import_alias = :alias :identifier :as :identifier -> ImportAlias( old_name=$1, new_name=$3 )"); - map.put(new Integer(21), "$import_namespace = :as :identifier -> $1"); - map.put(new Integer(52), "$input_declaration = $type_e :identifier $_gen13 -> InputDeclaration( type=$0, name=$1, expression=$2 )"); - map.put(new Integer(84), "$input_kv = :identifier :equal $e -> ObjectKV( key=$0, value=$2 )"); - map.put(new Integer(40), "$inputs = :input :lbrace $_gen10 :rbrace -> Inputs( inputs=$2 )"); - map.put(new Integer(44), "$kv = :identifier :colon $e -> RuntimeAttribute( key=$0, value=$2 )"); - map.put(new Integer(55), "$map_kv = $e :colon $e -> MapLiteralKv( key=$0, value=$2 )"); - map.put(new Integer(45), "$meta = :meta $meta_map -> Meta( map=$1 )"); - map.put(new Integer(49), "$meta_kv = :identifier :colon $meta_value -> MetaKvPair( key=$0, value=$2 )"); - map.put(new Integer(48), "$meta_map = :lbrace $_gen12 :rbrace -> $1"); - map.put(new Integer(85), "$meta_value = $static_string"); - map.put(new Integer(86), "$meta_value = :boolean"); - map.put(new Integer(88), "$meta_value = :float"); - map.put(new Integer(87), "$meta_value = :integer"); - map.put(new Integer(93), "$meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 )"); - map.put(new Integer(91), "$meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 )"); - map.put(new Integer(89), "$meta_value = :null"); - map.put(new Integer(83), "$object_kv = :identifier :colon $e -> ObjectKV( key=$0, value=$2 )"); - map.put(new Integer(58), "$output_kv = $type_e :identifier :equal $e -> Output( type=$0, name=$1, expression=$3 )"); - map.put(new Integer(57), "$outputs = :output :lbrace $_gen14 :rbrace -> Outputs( outputs=$2 )"); - map.put(new Integer(46), "$parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); - map.put(new Integer(43), "$rt_map = :lbrace $_gen11 :rbrace -> $1"); - map.put(new Integer(41), "$runtime = :runtime $rt_map -> Runtime( map=$1 )"); - map.put(new Integer(82), "$scatter = :scatter :lparen :identifier :in $e :rparen :lbrace $_gen15 :rbrace -> Scatter( item=$2, collection=$4, body=$7 )"); - map.put(new Integer(54), "$setter = :equal $e -> $1"); - map.put(new Integer(12), "$static_string = :quote $_gen3 :quote -> StaticString( value=$1 )"); - map.put(new Integer(14), "$string_literal = :quote $_gen4 :quote -> StringLiteral( pieces=$1 )"); - map.put(new Integer(16), "$string_piece = $expression_placeholder"); - map.put(new Integer(15), "$string_piece = :string"); + map.put(new Integer(82), "$if_stmt = :if :lparen $e :rparen :lbrace $_gen15 :rbrace -> If( expression=$2, body=$5 )"); + map.put(new Integer(21), "$import = :import $static_string $_gen5 $_gen6 -> Import( uri=$1, namespace=$2, aliases=$3 )"); + map.put(new Integer(23), "$import_alias = :alias :identifier :as :identifier -> ImportAlias( old_name=$1, new_name=$3 )"); + map.put(new Integer(22), "$import_namespace = :as :identifier -> $1"); + map.put(new Integer(53), "$input_declaration = $type_e :identifier $_gen13 -> InputDeclaration( type=$0, name=$1, expression=$2 )"); + map.put(new Integer(85), "$input_kv = :identifier :equal $e -> ObjectKV( key=$0, value=$2 )"); + map.put(new Integer(41), "$inputs = :input :lbrace $_gen10 :rbrace -> Inputs( inputs=$2 )"); + map.put(new Integer(45), "$kv = :identifier :colon $e -> RuntimeAttribute( key=$0, value=$2 )"); + map.put(new Integer(56), "$map_kv = $e :colon $e -> MapLiteralKv( key=$0, value=$2 )"); + map.put(new Integer(46), "$meta = :meta $meta_map -> Meta( map=$1 )"); + map.put(new Integer(50), "$meta_kv = :identifier :colon $meta_value -> MetaKvPair( key=$0, value=$2 )"); + map.put(new Integer(49), "$meta_map = :lbrace $_gen12 :rbrace -> $1"); + map.put(new Integer(86), "$meta_value = $static_string"); + map.put(new Integer(87), "$meta_value = :boolean"); + map.put(new Integer(89), "$meta_value = :float"); + map.put(new Integer(88), "$meta_value = :integer"); + map.put(new Integer(94), "$meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 )"); + map.put(new Integer(92), "$meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 )"); + map.put(new Integer(90), "$meta_value = :null"); + map.put(new Integer(84), "$object_kv = :identifier :colon $e -> ObjectKV( key=$0, value=$2 )"); + map.put(new Integer(59), "$output_kv = $type_e :identifier :equal $e -> Output( type=$0, name=$1, expression=$3 )"); + map.put(new Integer(58), "$outputs = :output :lbrace $_gen14 :rbrace -> Outputs( outputs=$2 )"); + map.put(new Integer(47), "$parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); + map.put(new Integer(44), "$rt_map = :lbrace $_gen11 :rbrace -> $1"); + map.put(new Integer(42), "$runtime = :runtime $rt_map -> Runtime( map=$1 )"); + map.put(new Integer(83), "$scatter = :scatter :lparen :identifier :in $e :rparen :lbrace $_gen15 :rbrace -> Scatter( item=$2, collection=$4, body=$7 )"); + map.put(new Integer(55), "$setter = :equal $e -> $1"); + map.put(new Integer(11), "$static_string = :quote $_gen3 :quote -> StaticString( value=$1 )"); + map.put(new Integer(15), "$static_string_piece = :escape"); + map.put(new Integer(14), "$static_string_piece = :string"); + map.put(new Integer(13), "$string_literal = :quote $_gen4 :quote -> StringLiteral( pieces=$1 )"); + map.put(new Integer(17), "$string_piece = $expression_placeholder"); + map.put(new Integer(16), "$string_piece = $static_string_piece"); map.put(new Integer(8), "$struct = :struct :identifier :lbrace $_gen2 :rbrace -> Struct( name=$1, entries=$3 )"); map.put(new Integer(9), "$struct_declaration = $type_e :identifier -> StructEntry( type=$0, name=$1 )"); - map.put(new Integer(24), "$task = :task :identifier :lbrace $_gen7 :rbrace -> Task( name=$1, sections=$3 )"); - map.put(new Integer(25), "$task_sections = $command"); - map.put(new Integer(31), "$task_sections = $declaration"); - map.put(new Integer(26), "$task_sections = $inputs"); - map.put(new Integer(30), "$task_sections = $meta"); - map.put(new Integer(27), "$task_sections = $outputs"); - map.put(new Integer(29), "$task_sections = $parameter_meta"); - map.put(new Integer(28), "$task_sections = $runtime"); - map.put(new Integer(99), "$type_e = :identifier"); - map.put(new Integer(98), "$type_e = :type"); - map.put(new Integer(95), "$type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 )"); - map.put(new Integer(97), "$type_e = :type <=> :plus -> NonEmptyType( innerType=$0 )"); - map.put(new Integer(96), "$type_e = :type <=> :qmark -> OptionalType( innerType=$0 )"); + map.put(new Integer(25), "$task = :task :identifier :lbrace $_gen7 :rbrace -> Task( name=$1, sections=$3 )"); + map.put(new Integer(26), "$task_sections = $command"); + map.put(new Integer(32), "$task_sections = $declaration"); + map.put(new Integer(27), "$task_sections = $inputs"); + map.put(new Integer(31), "$task_sections = $meta"); + map.put(new Integer(28), "$task_sections = $outputs"); + map.put(new Integer(30), "$task_sections = $parameter_meta"); + map.put(new Integer(29), "$task_sections = $runtime"); + map.put(new Integer(100), "$type_e = :identifier"); + map.put(new Integer(99), "$type_e = :type"); + map.put(new Integer(96), "$type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 )"); + map.put(new Integer(98), "$type_e = :type <=> :plus -> NonEmptyType( innerType=$0 )"); + map.put(new Integer(97), "$type_e = :type <=> :qmark -> OptionalType( innerType=$0 )"); map.put(new Integer(6), "$version = :version :version_name -> VersionDeclaration( v=$1 )"); - map.put(new Integer(61), "$wf_body_element = $call"); - map.put(new Integer(62), "$wf_body_element = $declaration"); - map.put(new Integer(63), "$wf_body_element = $if_stmt"); - map.put(new Integer(65), "$wf_body_element = $inputs"); - map.put(new Integer(66), "$wf_body_element = $outputs"); - map.put(new Integer(64), "$wf_body_element = $scatter"); - map.put(new Integer(68), "$wf_body_element = $wf_meta"); - map.put(new Integer(67), "$wf_body_element = $wf_parameter_meta"); - map.put(new Integer(80), "$wf_meta = :meta $meta_map -> Meta( map=$1 )"); - map.put(new Integer(79), "$wf_parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); - map.put(new Integer(60), "$workflow = :workflow :identifier :lbrace $_gen15 :rbrace -> Workflow( name=$1, body=$3 )"); + map.put(new Integer(62), "$wf_body_element = $call"); + map.put(new Integer(63), "$wf_body_element = $declaration"); + map.put(new Integer(64), "$wf_body_element = $if_stmt"); + map.put(new Integer(66), "$wf_body_element = $inputs"); + map.put(new Integer(67), "$wf_body_element = $outputs"); + map.put(new Integer(65), "$wf_body_element = $scatter"); + map.put(new Integer(69), "$wf_body_element = $wf_meta"); + map.put(new Integer(68), "$wf_body_element = $wf_parameter_meta"); + map.put(new Integer(81), "$wf_meta = :meta $meta_map -> Meta( map=$1 )"); + map.put(new Integer(80), "$wf_parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 )"); + map.put(new Integer(61), "$workflow = :workflow :identifier :lbrace $_gen15 :rbrace -> Workflow( name=$1, body=$3 )"); rules = Collections.unmodifiableMap(map); } public static boolean is_terminal(int id) { - return 0 <= id && id <= 64; + return 0 <= id && id <= 65; } public ParseTree parse(TokenStream tokens) throws SyntaxError { return parse(tokens, new DefaultSyntaxErrorFormatter()); @@ -2714,29 +2741,29 @@ private static Terminal expect(ParserContext ctx, TerminalIdentifier expecting) private static Map prefix_binding_power_e; static { Map map = new HashMap(); - map.put(63, 4000); /* $e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 ) */ - map.put(53, 5000); /* $e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 ) */ - map.put(37, 6000); /* $e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 ) */ - map.put(54, 6000); /* $e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 ) */ - map.put(8, 7000); /* $e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 ) */ - map.put(38, 7000); /* $e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 ) */ - map.put(21, 7000); /* $e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 ) */ - map.put(4, 7000); /* $e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 ) */ - map.put(43, 8000); /* $e = $e :plus $e -> Add( lhs=$0, rhs=$2 ) */ - map.put(13, 8000); /* $e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 ) */ - map.put(33, 9000); /* $e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 ) */ - map.put(47, 9000); /* $e = $e :slash $e -> Divide( lhs=$0, rhs=$2 ) */ - map.put(58, 9000); /* $e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 ) */ - map.put(40, 11000); /* $e = :identifier <=> :lparen list($e, :comma) :rparen -> FunctionCall( name=$0, params=$2 ) */ - map.put(27, 12000); /* $e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 ) */ - map.put(39, 13000); /* $e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 ) */ + map.put(65, 4000); /* $e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 ) */ + map.put(22, 5000); /* $e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 ) */ + map.put(45, 6000); /* $e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 ) */ + map.put(51, 6000); /* $e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 ) */ + map.put(0, 7000); /* $e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 ) */ + map.put(40, 7000); /* $e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 ) */ + map.put(57, 7000); /* $e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 ) */ + map.put(41, 7000); /* $e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 ) */ + map.put(34, 8000); /* $e = $e :plus $e -> Add( lhs=$0, rhs=$2 ) */ + map.put(33, 8000); /* $e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 ) */ + map.put(60, 9000); /* $e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 ) */ + map.put(10, 9000); /* $e = $e :slash $e -> Divide( lhs=$0, rhs=$2 ) */ + map.put(32, 9000); /* $e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 ) */ + map.put(58, 11000); /* $e = :identifier <=> :lparen list($e, :comma) :rparen -> FunctionCall( name=$0, params=$2 ) */ + map.put(56, 12000); /* $e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 ) */ + map.put(28, 13000); /* $e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 ) */ infix_binding_power_e = Collections.unmodifiableMap(map); } static { Map map = new HashMap(); - map.put(55, 10000); /* $e = :not $e -> LogicalNot( expression=$1 ) */ - map.put(43, 10000); /* $e = :plus $e -> UnaryPlus( expression=$1 ) */ - map.put(13, 10000); /* $e = :dash $e -> UnaryNegation( expression=$1 ) */ + map.put(15, 10000); /* $e = :not $e -> LogicalNot( expression=$1 ) */ + map.put(34, 10000); /* $e = :plus $e -> UnaryPlus( expression=$1 ) */ + map.put(33, 10000); /* $e = :dash $e -> UnaryNegation( expression=$1 ) */ prefix_binding_power_e = Collections.unmodifiableMap(map); } static int get_infix_binding_power_e(int terminal_id) { @@ -2773,55 +2800,55 @@ public static ParseTree parse_e_internal(ParserContext ctx, int rbp) throws Synt return left; } private static ParseTree nud_e(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(75, "e") ); + ParseTree tree = new ParseTree( new NonTerminal(111, "e") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "e"; if (current == null) { return tree; } - else if (rule_first.get(113).contains(terminal_map.get(current.getId()))) { - /* (113) $e = :not $e -> LogicalNot( expression=$1 ) */ - ctx.rule = rules.get(113); + else if (rule_first.get(114).contains(terminal_map.get(current.getId()))) { + /* (114) $e = :not $e -> LogicalNot( expression=$1 ) */ + ctx.rule = rules.get(114); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("expression", 1); tree.setAstTransformation(new AstTransformNodeCreator("LogicalNot", parameters)); tree.setNudMorphemeCount(2); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_NOT)); - tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(55))); + tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(15))); tree.setPrefix(true); } - else if (rule_first.get(114).contains(terminal_map.get(current.getId()))) { - /* (114) $e = :plus $e -> UnaryPlus( expression=$1 ) */ - ctx.rule = rules.get(114); + else if (rule_first.get(115).contains(terminal_map.get(current.getId()))) { + /* (115) $e = :plus $e -> UnaryPlus( expression=$1 ) */ + ctx.rule = rules.get(115); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("expression", 1); tree.setAstTransformation(new AstTransformNodeCreator("UnaryPlus", parameters)); tree.setNudMorphemeCount(2); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_PLUS)); - tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(43))); + tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(34))); tree.setPrefix(true); } - else if (rule_first.get(115).contains(terminal_map.get(current.getId()))) { - /* (115) $e = :dash $e -> UnaryNegation( expression=$1 ) */ - ctx.rule = rules.get(115); + else if (rule_first.get(116).contains(terminal_map.get(current.getId()))) { + /* (116) $e = :dash $e -> UnaryNegation( expression=$1 ) */ + ctx.rule = rules.get(116); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("expression", 1); tree.setAstTransformation(new AstTransformNodeCreator("UnaryNegation", parameters)); tree.setNudMorphemeCount(2); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_DASH)); - tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(13))); + tree.add(parse_e_internal(ctx, get_prefix_binding_power_e(33))); tree.setPrefix(true); } - else if (rule_first.get(117).contains(terminal_map.get(current.getId()))) { - /* (117) $e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 ) */ - ctx.rule = rules.get(117); + else if (rule_first.get(118).contains(terminal_map.get(current.getId()))) { + /* (118) $e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 ) */ + ctx.rule = rules.get(118); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_IDENTIFIER)); } - else if (rule_first.get(121).contains(terminal_map.get(current.getId()))) { - /* (121) $e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 ) */ - ctx.rule = rules.get(121); + else if (rule_first.get(122).contains(terminal_map.get(current.getId()))) { + /* (122) $e = :object :lbrace $_gen24 :rbrace -> ObjectLiteral( map=$2 ) */ + ctx.rule = rules.get(122); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 2); tree.setAstTransformation(new AstTransformNodeCreator("ObjectLiteral", parameters)); @@ -2831,9 +2858,9 @@ else if (rule_first.get(121).contains(terminal_map.get(current.getId()))) { tree.add(parse__gen24(ctx)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RBRACE)); } - else if (rule_first.get(122).contains(terminal_map.get(current.getId()))) { - /* (122) $e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 ) */ - ctx.rule = rules.get(122); + else if (rule_first.get(123).contains(terminal_map.get(current.getId()))) { + /* (123) $e = :lsquare $_gen23 :rsquare -> ArrayLiteral( values=$1 ) */ + ctx.rule = rules.get(123); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("values", 1); tree.setAstTransformation(new AstTransformNodeCreator("ArrayLiteral", parameters)); @@ -2842,9 +2869,9 @@ else if (rule_first.get(122).contains(terminal_map.get(current.getId()))) { tree.add(parse__gen23(ctx)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RSQUARE)); } - else if (rule_first.get(124).contains(terminal_map.get(current.getId()))) { - /* (124) $e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 ) */ - ctx.rule = rules.get(124); + else if (rule_first.get(125).contains(terminal_map.get(current.getId()))) { + /* (125) $e = :lbrace $_gen25 :rbrace -> MapLiteral( map=$1 ) */ + ctx.rule = rules.get(125); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("MapLiteral", parameters)); @@ -2853,9 +2880,9 @@ else if (rule_first.get(124).contains(terminal_map.get(current.getId()))) { tree.add(parse__gen25(ctx)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RBRACE)); } - else if (rule_first.get(125).contains(terminal_map.get(current.getId()))) { - /* (125) $e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 ) */ - ctx.rule = rules.get(125); + else if (rule_first.get(126).contains(terminal_map.get(current.getId()))) { + /* (126) $e = :lparen $_gen23 :rparen -> TupleLiteral( values=$1 ) */ + ctx.rule = rules.get(126); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("values", 1); tree.setAstTransformation(new AstTransformNodeCreator("TupleLiteral", parameters)); @@ -2864,9 +2891,9 @@ else if (rule_first.get(125).contains(terminal_map.get(current.getId()))) { tree.add(parse__gen23(ctx)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RPAREN)); } - else if (rule_first.get(126).contains(terminal_map.get(current.getId()))) { - /* (126) $e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 ) */ - ctx.rule = rules.get(126); + else if (rule_first.get(127).contains(terminal_map.get(current.getId()))) { + /* (127) $e = :if $e :then $e :else $e -> TernaryIf( cond=$1, iftrue=$3, iffalse=$5 ) */ + ctx.rule = rules.get(127); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("cond", 1); parameters.put("iftrue", 3); @@ -2880,51 +2907,51 @@ else if (rule_first.get(126).contains(terminal_map.get(current.getId()))) { tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_ELSE)); tree.add(parse_e(ctx)); } - else if (rule_first.get(127).contains(terminal_map.get(current.getId()))) { - /* (127) $e = $string_literal */ - ctx.rule = rules.get(127); - tree.setAstTransformation(new AstTransformSubstitution(0)); - tree.setNudMorphemeCount(1); - tree.add(parse_string_literal(ctx)); - } else if (rule_first.get(128).contains(terminal_map.get(current.getId()))) { - /* (128) $e = :identifier */ + /* (128) $e = $string_literal */ ctx.rule = rules.get(128); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_IDENTIFIER)); + tree.add(parse_string_literal(ctx)); } else if (rule_first.get(129).contains(terminal_map.get(current.getId()))) { - /* (129) $e = :boolean */ + /* (129) $e = :identifier */ ctx.rule = rules.get(129); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_BOOLEAN)); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_IDENTIFIER)); } else if (rule_first.get(130).contains(terminal_map.get(current.getId()))) { - /* (130) $e = :integer */ + /* (130) $e = :boolean */ ctx.rule = rules.get(130); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_INTEGER)); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_BOOLEAN)); } else if (rule_first.get(131).contains(terminal_map.get(current.getId()))) { - /* (131) $e = :float */ + /* (131) $e = :integer */ ctx.rule = rules.get(131); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_INTEGER)); + } + else if (rule_first.get(132).contains(terminal_map.get(current.getId()))) { + /* (132) $e = :float */ + ctx.rule = rules.get(132); + tree.setAstTransformation(new AstTransformSubstitution(0)); + tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_FLOAT)); } return tree; } private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(75, "e") ); + ParseTree tree = new ParseTree( new NonTerminal(111, "e") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "e"; int modifier; - if (current.getId() == 63) { + if (current.getId() == 65) { /* $e = $e :double_pipe $e -> LogicalOr( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(100); + ctx.rule = rules.get(101); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -2934,12 +2961,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_DOUBLE_PIPE)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(63) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(65) - modifier)); return tree; } - if (current.getId() == 53) { + if (current.getId() == 22) { /* $e = $e :double_ampersand $e -> LogicalAnd( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(101); + ctx.rule = rules.get(102); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -2949,12 +2976,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_DOUBLE_AMPERSAND)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(53) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(22) - modifier)); return tree; } - if (current.getId() == 37) { + if (current.getId() == 45) { /* $e = $e :double_equal $e -> Equals( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(102); + ctx.rule = rules.get(103); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -2964,12 +2991,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_DOUBLE_EQUAL)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(37) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(45) - modifier)); return tree; } - if (current.getId() == 54) { + if (current.getId() == 51) { /* $e = $e :not_equal $e -> NotEquals( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(103); + ctx.rule = rules.get(104); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -2979,12 +3006,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_NOT_EQUAL)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(54) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(51) - modifier)); return tree; } - if (current.getId() == 8) { + if (current.getId() == 0) { /* $e = $e :lt $e -> LessThan( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(104); + ctx.rule = rules.get(105); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -2994,12 +3021,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_LT)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(8) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(0) - modifier)); return tree; } - if (current.getId() == 38) { + if (current.getId() == 40) { /* $e = $e :lteq $e -> LessThanOrEqual( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(105); + ctx.rule = rules.get(106); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3009,12 +3036,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_LTEQ)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(38) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(40) - modifier)); return tree; } - if (current.getId() == 21) { + if (current.getId() == 57) { /* $e = $e :gt $e -> GreaterThan( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(106); + ctx.rule = rules.get(107); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3024,12 +3051,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_GT)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(21) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(57) - modifier)); return tree; } - if (current.getId() == 4) { + if (current.getId() == 41) { /* $e = $e :gteq $e -> GreaterThanOrEqual( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(107); + ctx.rule = rules.get(108); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3039,12 +3066,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_GTEQ)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(4) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(41) - modifier)); return tree; } - if (current.getId() == 43) { + if (current.getId() == 34) { /* $e = $e :plus $e -> Add( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(108); + ctx.rule = rules.get(109); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3054,12 +3081,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_PLUS)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(43) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(34) - modifier)); return tree; } - if (current.getId() == 13) { + if (current.getId() == 33) { /* $e = $e :dash $e -> Subtract( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(109); + ctx.rule = rules.get(110); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3069,12 +3096,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_DASH)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(13) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(33) - modifier)); return tree; } - if (current.getId() == 33) { + if (current.getId() == 60) { /* $e = $e :asterisk $e -> Multiply( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(110); + ctx.rule = rules.get(111); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3084,12 +3111,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_ASTERISK)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(33) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(60) - modifier)); return tree; } - if (current.getId() == 47) { + if (current.getId() == 10) { /* $e = $e :slash $e -> Divide( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(111); + ctx.rule = rules.get(112); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3099,12 +3126,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_SLASH)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(47) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(10) - modifier)); return tree; } - if (current.getId() == 58) { + if (current.getId() == 32) { /* $e = $e :percent $e -> Remainder( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(112); + ctx.rule = rules.get(113); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3114,12 +3141,12 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_PERCENT)); modifier = 0; tree.setInfix(true); - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(58) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(32) - modifier)); return tree; } - if (current.getId() == 40) { + if (current.getId() == 58) { /* $e = :identifier <=> :lparen $_gen23 :rparen -> FunctionCall( name=$0, params=$2 ) */ - ctx.rule = rules.get(117); + ctx.rule = rules.get(118); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("name", 0); parameters.put("params", 2); @@ -3130,9 +3157,9 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RPAREN)); return tree; } - if (current.getId() == 27) { + if (current.getId() == 56) { /* $e = $e <=> :lsquare $e :rsquare -> ArrayOrMapLookup( lhs=$0, rhs=$2 ) */ - ctx.rule = rules.get(118); + ctx.rule = rules.get(119); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("lhs", 0); parameters.put("rhs", 2); @@ -3141,13 +3168,13 @@ private static ParseTree led_e(ParseTree left, ParserContext ctx) throws SyntaxE tree.add(left); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_LSQUARE)); modifier = 0; - tree.add(parse_e_internal(ctx, get_infix_binding_power_e(27) - modifier)); + tree.add(parse_e_internal(ctx, get_infix_binding_power_e(56) - modifier)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RSQUARE)); return tree; } - if (current.getId() == 39) { + if (current.getId() == 28) { /* $e = $e <=> :dot :identifier -> MemberAccess( value=$0, member=$2 ) */ - ctx.rule = rules.get(119); + ctx.rule = rules.get(120); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("value", 0); parameters.put("member", 2); @@ -3204,50 +3231,50 @@ public static ParseTree parse_meta_value_internal(ParserContext ctx, int rbp) th return left; } private static ParseTree nud_meta_value(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(83, "meta_value") ); + ParseTree tree = new ParseTree( new NonTerminal(90, "meta_value") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "meta_value"; if (current == null) { return tree; } - if (rule_first.get(85).contains(terminal_map.get(current.getId()))) { - /* (85) $meta_value = $static_string */ - ctx.rule = rules.get(85); - tree.setAstTransformation(new AstTransformSubstitution(0)); - tree.setNudMorphemeCount(1); - tree.add(parse_static_string(ctx)); - } - else if (rule_first.get(86).contains(terminal_map.get(current.getId()))) { - /* (86) $meta_value = :boolean */ + if (rule_first.get(86).contains(terminal_map.get(current.getId()))) { + /* (86) $meta_value = $static_string */ ctx.rule = rules.get(86); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_BOOLEAN)); + tree.add(parse_static_string(ctx)); } else if (rule_first.get(87).contains(terminal_map.get(current.getId()))) { - /* (87) $meta_value = :integer */ + /* (87) $meta_value = :boolean */ ctx.rule = rules.get(87); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_INTEGER)); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_BOOLEAN)); } else if (rule_first.get(88).contains(terminal_map.get(current.getId()))) { - /* (88) $meta_value = :float */ + /* (88) $meta_value = :integer */ ctx.rule = rules.get(88); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_FLOAT)); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_INTEGER)); } else if (rule_first.get(89).contains(terminal_map.get(current.getId()))) { - /* (89) $meta_value = :null */ + /* (89) $meta_value = :float */ ctx.rule = rules.get(89); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_FLOAT)); + } + else if (rule_first.get(90).contains(terminal_map.get(current.getId()))) { + /* (90) $meta_value = :null */ + ctx.rule = rules.get(90); + tree.setAstTransformation(new AstTransformSubstitution(0)); + tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_NULL)); } - else if (rule_first.get(91).contains(terminal_map.get(current.getId()))) { - /* (91) $meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 ) */ - ctx.rule = rules.get(91); + else if (rule_first.get(92).contains(terminal_map.get(current.getId()))) { + /* (92) $meta_value = :lsquare $_gen20 :rsquare -> MetaArray( values=$1 ) */ + ctx.rule = rules.get(92); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("values", 1); tree.setAstTransformation(new AstTransformNodeCreator("MetaArray", parameters)); @@ -3256,9 +3283,9 @@ else if (rule_first.get(91).contains(terminal_map.get(current.getId()))) { tree.add(parse__gen20(ctx)); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RSQUARE)); } - else if (rule_first.get(93).contains(terminal_map.get(current.getId()))) { - /* (93) $meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 ) */ - ctx.rule = rules.get(93); + else if (rule_first.get(94).contains(terminal_map.get(current.getId()))) { + /* (94) $meta_value = :lbrace $_gen21 :rbrace -> MetaObject( map=$1 ) */ + ctx.rule = rules.get(94); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("MetaObject", parameters)); @@ -3270,7 +3297,7 @@ else if (rule_first.get(93).contains(terminal_map.get(current.getId()))) { return tree; } private static ParseTree led_meta_value(ParseTree left, ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(83, "meta_value") ); + ParseTree tree = new ParseTree( new NonTerminal(90, "meta_value") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "meta_value"; int modifier; @@ -3280,9 +3307,9 @@ private static ParseTree led_meta_value(ParseTree left, ParserContext ctx) throw private static Map prefix_binding_power_type_e; static { Map map = new HashMap(); - map.put(27, 1000); /* $type_e = :type <=> :lsquare list($type_e, :comma) :rsquare -> Type( name=$0, subtype=$2 ) */ - map.put(32, 2000); /* $type_e = :type <=> :qmark -> OptionalType( innerType=$0 ) */ - map.put(43, 3000); /* $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 ) */ + map.put(56, 1000); /* $type_e = :type <=> :lsquare list($type_e, :comma) :rsquare -> Type( name=$0, subtype=$2 ) */ + map.put(8, 2000); /* $type_e = :type <=> :qmark -> OptionalType( innerType=$0 ) */ + map.put(34, 3000); /* $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 ) */ infix_binding_power_type_e = Collections.unmodifiableMap(map); } static { @@ -3323,57 +3350,57 @@ public static ParseTree parse_type_e_internal(ParserContext ctx, int rbp) throws return left; } private static ParseTree nud_type_e(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(79, "type_e") ); + ParseTree tree = new ParseTree( new NonTerminal(74, "type_e") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "type_e"; if (current == null) { return tree; } - if (rule_first.get(95).contains(terminal_map.get(current.getId()))) { - /* (95) $type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 ) */ - ctx.rule = rules.get(95); - tree.setAstTransformation(new AstTransformSubstitution(0)); - tree.setNudMorphemeCount(1); - tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_TYPE)); - } - else if (rule_first.get(96).contains(terminal_map.get(current.getId()))) { - /* (96) $type_e = :type <=> :qmark -> OptionalType( innerType=$0 ) */ + if (rule_first.get(96).contains(terminal_map.get(current.getId()))) { + /* (96) $type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 ) */ ctx.rule = rules.get(96); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_TYPE)); } else if (rule_first.get(97).contains(terminal_map.get(current.getId()))) { - /* (97) $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 ) */ + /* (97) $type_e = :type <=> :qmark -> OptionalType( innerType=$0 ) */ ctx.rule = rules.get(97); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_TYPE)); } else if (rule_first.get(98).contains(terminal_map.get(current.getId()))) { - /* (98) $type_e = :type */ + /* (98) $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 ) */ ctx.rule = rules.get(98); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_TYPE)); } else if (rule_first.get(99).contains(terminal_map.get(current.getId()))) { - /* (99) $type_e = :identifier */ + /* (99) $type_e = :type */ ctx.rule = rules.get(99); tree.setAstTransformation(new AstTransformSubstitution(0)); tree.setNudMorphemeCount(1); + tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_TYPE)); + } + else if (rule_first.get(100).contains(terminal_map.get(current.getId()))) { + /* (100) $type_e = :identifier */ + ctx.rule = rules.get(100); + tree.setAstTransformation(new AstTransformSubstitution(0)); + tree.setNudMorphemeCount(1); tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_IDENTIFIER)); } return tree; } private static ParseTree led_type_e(ParseTree left, ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree( new NonTerminal(79, "type_e") ); + ParseTree tree = new ParseTree( new NonTerminal(74, "type_e") ); Terminal current = ctx.tokens.current(); ctx.nonterminal = "type_e"; int modifier; - if (current.getId() == 27) { + if (current.getId() == 56) { /* $type_e = :type <=> :lsquare $_gen22 :rsquare -> Type( name=$0, subtype=$2 ) */ - ctx.rule = rules.get(95); + ctx.rule = rules.get(96); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("name", 0); parameters.put("subtype", 2); @@ -3384,9 +3411,9 @@ private static ParseTree led_type_e(ParseTree left, ParserContext ctx) throws Sy tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_RSQUARE)); return tree; } - if (current.getId() == 32) { + if (current.getId() == 8) { /* $type_e = :type <=> :qmark -> OptionalType( innerType=$0 ) */ - ctx.rule = rules.get(96); + ctx.rule = rules.get(97); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("innerType", 0); tree.setAstTransformation(new AstTransformNodeCreator("OptionalType", parameters)); @@ -3394,9 +3421,9 @@ private static ParseTree led_type_e(ParseTree left, ParserContext ctx) throws Sy tree.add(expect(ctx, WdlTerminalIdentifier.TERMINAL_QMARK)); return tree; } - if (current.getId() == 43) { + if (current.getId() == 34) { /* $type_e = :type <=> :plus -> NonEmptyType( innerType=$0 ) */ - ctx.rule = rules.get(97); + ctx.rule = rules.get(98); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("innerType", 0); tree.setAstTransformation(new AstTransformNodeCreator("NonEmptyType", parameters)); @@ -3411,12 +3438,12 @@ public ParseTree parse__gen0(List tokens, SyntaxErrorFormatter error_f return parse__gen0(ctx); } private static ParseTree parse__gen0(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(91, "_gen0")); + ParseTree tree = new ParseTree(new NonTerminal(118, "_gen0")); tree.setList(true); ctx.nonterminal = "_gen0"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(91).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(91).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(118).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(118).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3425,7 +3452,7 @@ private static ParseTree parse__gen0(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(91).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(118).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_import(ctx)); ctx.nonterminal = "_gen0"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3437,12 +3464,12 @@ public ParseTree parse__gen1(List tokens, SyntaxErrorFormatter error_f return parse__gen1(ctx); } private static ParseTree parse__gen1(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(76, "_gen1")); + ParseTree tree = new ParseTree(new NonTerminal(106, "_gen1")); tree.setList(true); ctx.nonterminal = "_gen1"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(76).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(76).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(106).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(106).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3451,7 +3478,7 @@ private static ParseTree parse__gen1(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(76).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(106).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_file_body_element(ctx)); ctx.nonterminal = "_gen1"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3463,12 +3490,12 @@ public ParseTree parse__gen10(List tokens, SyntaxErrorFormatter error_ return parse__gen10(ctx); } private static ParseTree parse__gen10(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(98, "_gen10")); + ParseTree tree = new ParseTree(new NonTerminal(120, "_gen10")); tree.setList(true); ctx.nonterminal = "_gen10"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(98).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(98).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(120).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(120).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3477,7 +3504,7 @@ private static ParseTree parse__gen10(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(98).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(120).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_input_declaration(ctx)); ctx.nonterminal = "_gen10"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3489,12 +3516,12 @@ public ParseTree parse__gen11(List tokens, SyntaxErrorFormatter error_ return parse__gen11(ctx); } private static ParseTree parse__gen11(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(72, "_gen11")); + ParseTree tree = new ParseTree(new NonTerminal(124, "_gen11")); tree.setList(true); ctx.nonterminal = "_gen11"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(72).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(72).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(124).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(124).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3503,7 +3530,7 @@ private static ParseTree parse__gen11(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(72).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(124).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_kv(ctx)); ctx.nonterminal = "_gen11"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3515,12 +3542,12 @@ public ParseTree parse__gen12(List tokens, SyntaxErrorFormatter error_ return parse__gen12(ctx); } private static ParseTree parse__gen12(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(78, "_gen12")); + ParseTree tree = new ParseTree(new NonTerminal(70, "_gen12")); tree.setList(true); ctx.nonterminal = "_gen12"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(78).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(78).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(70).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(70).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3529,7 +3556,7 @@ private static ParseTree parse__gen12(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(78).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(70).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_meta_kv(ctx)); ctx.nonterminal = "_gen12"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3541,12 +3568,12 @@ public ParseTree parse__gen14(List tokens, SyntaxErrorFormatter error_ return parse__gen14(ctx); } private static ParseTree parse__gen14(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(89, "_gen14")); + ParseTree tree = new ParseTree(new NonTerminal(122, "_gen14")); tree.setList(true); ctx.nonterminal = "_gen14"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(89).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(89).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(122).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(122).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3555,7 +3582,7 @@ private static ParseTree parse__gen14(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(89).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(122).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_output_kv(ctx)); ctx.nonterminal = "_gen14"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3567,12 +3594,12 @@ public ParseTree parse__gen15(List tokens, SyntaxErrorFormatter error_ return parse__gen15(ctx); } private static ParseTree parse__gen15(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(116, "_gen15")); + ParseTree tree = new ParseTree(new NonTerminal(131, "_gen15")); tree.setList(true); ctx.nonterminal = "_gen15"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(116).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(116).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(131).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(131).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3581,7 +3608,7 @@ private static ParseTree parse__gen15(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(116).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(131).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_wf_body_element(ctx)); ctx.nonterminal = "_gen15"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3593,12 +3620,12 @@ public ParseTree parse__gen17(List tokens, SyntaxErrorFormatter error_ return parse__gen17(ctx); } private static ParseTree parse__gen17(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(124, "_gen17")); + ParseTree tree = new ParseTree(new NonTerminal(123, "_gen17")); tree.setList(true); ctx.nonterminal = "_gen17"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(124).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(124).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(123).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(123).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3607,7 +3634,7 @@ private static ParseTree parse__gen17(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(124).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(123).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_call_after(ctx)); ctx.nonterminal = "_gen17"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3619,13 +3646,13 @@ public ParseTree parse__gen19(List tokens, SyntaxErrorFormatter error_ return parse__gen19(ctx); } private static ParseTree parse__gen19(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(120, "_gen19")); + ParseTree tree = new ParseTree(new NonTerminal(80, "_gen19")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen19"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(120).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(120).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(80).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(80).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3634,7 +3661,7 @@ private static ParseTree parse__gen19(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(120).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(80).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_input_kv(ctx)); ctx.nonterminal = "_gen19"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3660,12 +3687,12 @@ public ParseTree parse__gen2(List tokens, SyntaxErrorFormatter error_f return parse__gen2(ctx); } private static ParseTree parse__gen2(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(131, "_gen2")); + ParseTree tree = new ParseTree(new NonTerminal(100, "_gen2")); tree.setList(true); ctx.nonterminal = "_gen2"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(131).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(131).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(100).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(100).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3674,7 +3701,7 @@ private static ParseTree parse__gen2(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(131).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(100).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_struct_declaration(ctx)); ctx.nonterminal = "_gen2"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3686,13 +3713,13 @@ public ParseTree parse__gen20(List tokens, SyntaxErrorFormatter error_ return parse__gen20(ctx); } private static ParseTree parse__gen20(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(111, "_gen20")); + ParseTree tree = new ParseTree(new NonTerminal(94, "_gen20")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen20"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(111).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(111).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(94).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(94).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3701,7 +3728,7 @@ private static ParseTree parse__gen20(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(111).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(94).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_meta_value(ctx)); ctx.nonterminal = "_gen20"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3727,13 +3754,13 @@ public ParseTree parse__gen21(List tokens, SyntaxErrorFormatter error_ return parse__gen21(ctx); } private static ParseTree parse__gen21(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(112, "_gen21")); + ParseTree tree = new ParseTree(new NonTerminal(119, "_gen21")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen21"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(112).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(112).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(119).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(119).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3742,7 +3769,7 @@ private static ParseTree parse__gen21(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(112).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(119).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_meta_kv(ctx)); ctx.nonterminal = "_gen21"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3768,13 +3795,13 @@ public ParseTree parse__gen22(List tokens, SyntaxErrorFormatter error_ return parse__gen22(ctx); } private static ParseTree parse__gen22(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(71, "_gen22")); + ParseTree tree = new ParseTree(new NonTerminal(126, "_gen22")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen22"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(71).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(71).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(126).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(126).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3783,7 +3810,7 @@ private static ParseTree parse__gen22(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(71).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(126).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_type_e(ctx)); ctx.nonterminal = "_gen22"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3809,13 +3836,13 @@ public ParseTree parse__gen23(List tokens, SyntaxErrorFormatter error_ return parse__gen23(ctx); } private static ParseTree parse__gen23(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(121, "_gen23")); + ParseTree tree = new ParseTree(new NonTerminal(128, "_gen23")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen23"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(121).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(121).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(128).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(128).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3824,7 +3851,7 @@ private static ParseTree parse__gen23(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(121).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(128).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_e(ctx)); ctx.nonterminal = "_gen23"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3850,13 +3877,13 @@ public ParseTree parse__gen24(List tokens, SyntaxErrorFormatter error_ return parse__gen24(ctx); } private static ParseTree parse__gen24(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(130, "_gen24")); + ParseTree tree = new ParseTree(new NonTerminal(109, "_gen24")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen24"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(130).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(130).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(109).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(109).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3865,7 +3892,7 @@ private static ParseTree parse__gen24(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(130).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(109).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_object_kv(ctx)); ctx.nonterminal = "_gen24"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3891,13 +3918,13 @@ public ParseTree parse__gen25(List tokens, SyntaxErrorFormatter error_ return parse__gen25(ctx); } private static ParseTree parse__gen25(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(94, "_gen25")); + ParseTree tree = new ParseTree(new NonTerminal(113, "_gen25")); tree.setList(true); - tree.setListSeparator(5); + tree.setListSeparator(25); ctx.nonterminal = "_gen25"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(94).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(94).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(113).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(113).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3906,7 +3933,7 @@ private static ParseTree parse__gen25(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(94).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(113).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_map_kv(ctx)); ctx.nonterminal = "_gen25"; // because parse_* can reset this if (ctx.tokens.current() != null && @@ -3927,17 +3954,43 @@ private static ParseTree parse__gen25(ParserContext ctx) throws SyntaxError { } return tree; } + public ParseTree parse__gen3(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { + ParserContext ctx = new ParserContext(new TokenStream(tokens), error_formatter); + return parse__gen3(ctx); + } + private static ParseTree parse__gen3(ParserContext ctx) throws SyntaxError { + ParseTree tree = new ParseTree(new NonTerminal(95, "_gen3")); + tree.setList(true); + ctx.nonterminal = "_gen3"; + if ( ctx.tokens.current() != null && + !nonterminal_first.get(95).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(95).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + return tree; + } + if (ctx.tokens.current() == null) { + return tree; + } + int minimum = 0; + while (minimum > 0 || + (ctx.tokens.current() != null && + nonterminal_first.get(95).contains(terminal_map.get(ctx.tokens.current().getId())))) { + tree.add(parse_static_string_piece(ctx)); + ctx.nonterminal = "_gen3"; // because parse_* can reset this + minimum = Math.max(minimum - 1, 0); + } + return tree; + } public ParseTree parse__gen4(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { ParserContext ctx = new ParserContext(new TokenStream(tokens), error_formatter); return parse__gen4(ctx); } private static ParseTree parse__gen4(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(97, "_gen4")); + ParseTree tree = new ParseTree(new NonTerminal(96, "_gen4")); tree.setList(true); ctx.nonterminal = "_gen4"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(97).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(97).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(96).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(96).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3946,7 +3999,7 @@ private static ParseTree parse__gen4(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(97).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(96).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_string_piece(ctx)); ctx.nonterminal = "_gen4"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3958,12 +4011,12 @@ public ParseTree parse__gen6(List tokens, SyntaxErrorFormatter error_f return parse__gen6(ctx); } private static ParseTree parse__gen6(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(128, "_gen6")); + ParseTree tree = new ParseTree(new NonTerminal(86, "_gen6")); tree.setList(true); ctx.nonterminal = "_gen6"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(128).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(128).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(86).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(86).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3972,7 +4025,7 @@ private static ParseTree parse__gen6(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(128).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(86).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_import_alias(ctx)); ctx.nonterminal = "_gen6"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -3984,12 +4037,12 @@ public ParseTree parse__gen7(List tokens, SyntaxErrorFormatter error_f return parse__gen7(ctx); } private static ParseTree parse__gen7(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(101, "_gen7")); + ParseTree tree = new ParseTree(new NonTerminal(134, "_gen7")); tree.setList(true); ctx.nonterminal = "_gen7"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(101).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(101).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(134).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(134).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -3998,7 +4051,7 @@ private static ParseTree parse__gen7(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(101).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(134).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_task_sections(ctx)); ctx.nonterminal = "_gen7"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -4010,12 +4063,12 @@ public ParseTree parse__gen8(List tokens, SyntaxErrorFormatter error_f return parse__gen8(ctx); } private static ParseTree parse__gen8(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(123, "_gen8")); + ParseTree tree = new ParseTree(new NonTerminal(115, "_gen8")); tree.setList(true); ctx.nonterminal = "_gen8"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(123).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(123).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(115).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(115).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -4024,7 +4077,7 @@ private static ParseTree parse__gen8(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(123).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(115).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_command_part(ctx)); ctx.nonterminal = "_gen8"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -4036,12 +4089,12 @@ public ParseTree parse__gen9(List tokens, SyntaxErrorFormatter error_f return parse__gen9(ctx); } private static ParseTree parse__gen9(ParserContext ctx) throws SyntaxError { - ParseTree tree = new ParseTree(new NonTerminal(66, "_gen9")); + ParseTree tree = new ParseTree(new NonTerminal(136, "_gen9")); tree.setList(true); ctx.nonterminal = "_gen9"; if ( ctx.tokens.current() != null && - !nonterminal_first.get(66).contains(terminal_map.get(ctx.tokens.current().getId())) && - nonterminal_follow.get(66).contains(terminal_map.get(ctx.tokens.current().getId())) ) { + !nonterminal_first.get(136).contains(terminal_map.get(ctx.tokens.current().getId())) && + nonterminal_follow.get(136).contains(terminal_map.get(ctx.tokens.current().getId())) ) { return tree; } if (ctx.tokens.current() == null) { @@ -4050,7 +4103,7 @@ private static ParseTree parse__gen9(ParserContext ctx) throws SyntaxError { int minimum = 0; while (minimum > 0 || (ctx.tokens.current() != null && - nonterminal_first.get(66).contains(terminal_map.get(ctx.tokens.current().getId())))) { + nonterminal_first.get(136).contains(terminal_map.get(ctx.tokens.current().getId())))) { tree.add(parse_expression_placeholder_kv(ctx)); ctx.nonterminal = "_gen9"; // because parse_* can reset this minimum = Math.max(minimum - 1, 0); @@ -4065,20 +4118,20 @@ private static ParseTree parse__gen13(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[71][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(136, "_gen13")); + int rule = (current != null) ? table[55][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(121, "_gen13")); ctx.nonterminal = "_gen13"; if ( current != null && - !nonterminal_first.get(136).contains(terminal_map.get(current.getId())) && - nonterminal_follow.get(136).contains(terminal_map.get(current.getId())) ) { + !nonterminal_first.get(121).contains(terminal_map.get(current.getId())) && + nonterminal_follow.get(121).contains(terminal_map.get(current.getId())) ) { return tree; } if (current == null) { return tree; } - if (rule == 50) { + if (rule == 51) { /* $_gen13 = $setter */ - ctx.rule = rules.get(50); + ctx.rule = rules.get(51); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_setter(ctx); tree.add(subtree); @@ -4094,20 +4147,20 @@ private static ParseTree parse__gen16(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[70][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(135, "_gen16")); + int rule = (current != null) ? table[50][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(116, "_gen16")); ctx.nonterminal = "_gen16"; if ( current != null && - !nonterminal_first.get(135).contains(terminal_map.get(current.getId())) && - nonterminal_follow.get(135).contains(terminal_map.get(current.getId())) ) { + !nonterminal_first.get(116).contains(terminal_map.get(current.getId())) && + nonterminal_follow.get(116).contains(terminal_map.get(current.getId())) ) { return tree; } if (current == null) { return tree; } - if (rule == 69) { + if (rule == 70) { /* $_gen16 = $alias */ - ctx.rule = rules.get(69); + ctx.rule = rules.get(70); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_alias(ctx); tree.add(subtree); @@ -4123,20 +4176,20 @@ private static ParseTree parse__gen18(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[44][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(109, "_gen18")); + int rule = (current != null) ? table[10][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(76, "_gen18")); ctx.nonterminal = "_gen18"; if ( current != null && - !nonterminal_first.get(109).contains(terminal_map.get(current.getId())) && - nonterminal_follow.get(109).contains(terminal_map.get(current.getId())) ) { + !nonterminal_first.get(76).contains(terminal_map.get(current.getId())) && + nonterminal_follow.get(76).contains(terminal_map.get(current.getId())) ) { return tree; } if (current == null) { return tree; } - if (rule == 72) { + if (rule == 73) { /* $_gen18 = $call_body */ - ctx.rule = rules.get(72); + ctx.rule = rules.get(73); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_call_body(ctx); tree.add(subtree); @@ -4144,35 +4197,6 @@ private static ParseTree parse__gen18(ParserContext ctx) throws SyntaxError { } return tree; } - public ParseTree parse__gen3(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { - ParserContext ctx = new ParserContext(new TokenStream(tokens), error_formatter); - return parse__gen3(ctx); - } - private static ParseTree parse__gen3(ParserContext ctx) throws SyntaxError { - Terminal current = ctx.tokens.current(); - Terminal next; - ParseTree subtree; - int rule = (current != null) ? table[48][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(113, "_gen3")); - ctx.nonterminal = "_gen3"; - if ( current != null && - !nonterminal_first.get(113).contains(terminal_map.get(current.getId())) && - nonterminal_follow.get(113).contains(terminal_map.get(current.getId())) ) { - return tree; - } - if (current == null) { - return tree; - } - if (rule == 10) { - /* $_gen3 = :string */ - ctx.rule = rules.get(10); - tree.setAstTransformation(new AstTransformSubstitution(0)); - next = expect(ctx, WdlTerminalIdentifier.TERMINAL_STRING); - tree.add(next); - return tree; - } - return tree; - } public ParseTree parse__gen5(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { ParserContext ctx = new ParserContext(new TokenStream(tokens), error_formatter); return parse__gen5(ctx); @@ -4181,20 +4205,20 @@ private static ParseTree parse__gen5(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[34][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(99, "_gen5")); + int rule = (current != null) ? table[18][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(84, "_gen5")); ctx.nonterminal = "_gen5"; if ( current != null && - !nonterminal_first.get(99).contains(terminal_map.get(current.getId())) && - nonterminal_follow.get(99).contains(terminal_map.get(current.getId())) ) { + !nonterminal_first.get(84).contains(terminal_map.get(current.getId())) && + nonterminal_follow.get(84).contains(terminal_map.get(current.getId())) ) { return tree; } if (current == null) { return tree; } - if (rule == 17) { + if (rule == 18) { /* $_gen5 = $import_namespace */ - ctx.rule = rules.get(17); + ctx.rule = rules.get(18); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_import_namespace(ctx); tree.add(subtree); @@ -4210,19 +4234,19 @@ private static ParseTree parse_alias(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[28][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(93, "alias")); + int rule = (current != null) ? table[42][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(108, "alias")); ctx.nonterminal = "alias"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "alias", - nonterminal_first.get(93), - nonterminal_rules.get(93) + nonterminal_first.get(108), + nonterminal_rules.get(108) )); } - if (rule == 77) { + if (rule == 78) { /* $alias = :as :identifier -> $1 */ - ctx.rule = rules.get(77); + ctx.rule = rules.get(78); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_AS); tree.add(next); @@ -4233,8 +4257,8 @@ private static ParseTree parse_alias(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "alias", current, - nonterminal_first.get(93), - rules.get(77) + nonterminal_first.get(108), + rules.get(78) )); } public ParseTree parse_call(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4245,19 +4269,19 @@ private static ParseTree parse_call(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[68][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(133, "call")); + int rule = (current != null) ? table[36][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(102, "call")); ctx.nonterminal = "call"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "call", - nonterminal_first.get(133), - nonterminal_rules.get(133) + nonterminal_first.get(102), + nonterminal_rules.get(102) )); } - if (rule == 74) { + if (rule == 75) { /* $call = :call :fqn $_gen16 $_gen17 $_gen18 -> Call( task=$1, alias=$2, after=$3, body=$4 ) */ - ctx.rule = rules.get(74); + ctx.rule = rules.get(75); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("task", 1); parameters.put("alias", 2); @@ -4279,8 +4303,8 @@ private static ParseTree parse_call(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "call", current, - nonterminal_first.get(133), - rules.get(74) + nonterminal_first.get(102), + rules.get(75) )); } public ParseTree parse_call_after(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4292,18 +4316,18 @@ private static ParseTree parse_call_after(ParserContext ctx) throws SyntaxError Terminal next; ParseTree subtree; int rule = (current != null) ? table[25][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(90, "call_after")); + ParseTree tree = new ParseTree(new NonTerminal(91, "call_after")); ctx.nonterminal = "call_after"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "call_after", - nonterminal_first.get(90), - nonterminal_rules.get(90) + nonterminal_first.get(91), + nonterminal_rules.get(91) )); } - if (rule == 78) { + if (rule == 79) { /* $call_after = :after :identifier -> $1 */ - ctx.rule = rules.get(78); + ctx.rule = rules.get(79); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_AFTER); tree.add(next); @@ -4314,8 +4338,8 @@ private static ParseTree parse_call_after(ParserContext ctx) throws SyntaxError throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "call_after", current, - nonterminal_first.get(90), - rules.get(78) + nonterminal_first.get(91), + rules.get(79) )); } public ParseTree parse_call_body(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4326,19 +4350,19 @@ private static ParseTree parse_call_body(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[69][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(134, "call_body")); + int rule = (current != null) ? table[17][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(83, "call_body")); ctx.nonterminal = "call_body"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "call_body", - nonterminal_first.get(134), - nonterminal_rules.get(134) + nonterminal_first.get(83), + nonterminal_rules.get(83) )); } - if (rule == 76) { + if (rule == 77) { /* $call_body = :lbrace :input :colon $_gen19 :rbrace -> CallBody( inputs=$3 ) */ - ctx.rule = rules.get(76); + ctx.rule = rules.get(77); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("inputs", 3); tree.setAstTransformation(new AstTransformNodeCreator("CallBody", parameters)); @@ -4357,8 +4381,8 @@ private static ParseTree parse_call_body(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "call_body", current, - nonterminal_first.get(134), - rules.get(76) + nonterminal_first.get(83), + rules.get(77) )); } public ParseTree parse_command(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4369,19 +4393,19 @@ private static ParseTree parse_command(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[67][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(132, "command")); + int rule = (current != null) ? table[15][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(81, "command")); ctx.nonterminal = "command"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "command", - nonterminal_first.get(132), - nonterminal_rules.get(132) + nonterminal_first.get(81), + nonterminal_rules.get(81) )); } - if (rule == 33) { + if (rule == 34) { /* $command = :raw_command :raw_cmd_start $_gen8 :raw_cmd_end -> RawCommand( parts=$2 ) */ - ctx.rule = rules.get(33); + ctx.rule = rules.get(34); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("parts", 2); tree.setAstTransformation(new AstTransformNodeCreator("RawCommand", parameters)); @@ -4398,8 +4422,8 @@ private static ParseTree parse_command(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "command", current, - nonterminal_first.get(132), - rules.get(33) + nonterminal_first.get(81), + rules.get(34) )); } public ParseTree parse_command_part(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4410,27 +4434,27 @@ private static ParseTree parse_command_part(ParserContext ctx) throws SyntaxErro Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[17][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(82, "command_part")); + int rule = (current != null) ? table[9][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(75, "command_part")); ctx.nonterminal = "command_part"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "command_part", - nonterminal_first.get(82), - nonterminal_rules.get(82) + nonterminal_first.get(75), + nonterminal_rules.get(75) )); } - if (rule == 34) { + if (rule == 35) { /* $command_part = :cmd_part */ - ctx.rule = rules.get(34); + ctx.rule = rules.get(35); tree.setAstTransformation(new AstTransformSubstitution(0)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_CMD_PART); tree.add(next); return tree; } - else if (rule == 35) { + else if (rule == 36) { /* $command_part = $expression_placeholder */ - ctx.rule = rules.get(35); + ctx.rule = rules.get(36); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_expression_placeholder(ctx); tree.add(subtree); @@ -4439,8 +4463,8 @@ else if (rule == 35) { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "command_part", current, - nonterminal_first.get(82), - rules.get(35) + nonterminal_first.get(75), + rules.get(36) )); } public ParseTree parse_declaration(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4451,19 +4475,19 @@ private static ParseTree parse_declaration(ParserContext ctx) throws SyntaxError Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[15][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(80, "declaration")); + int rule = (current != null) ? table[44][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(110, "declaration")); ctx.nonterminal = "declaration"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "declaration", - nonterminal_first.get(80), - nonterminal_rules.get(80) + nonterminal_first.get(110), + nonterminal_rules.get(110) )); } - if (rule == 53) { + if (rule == 54) { /* $declaration = $type_e :identifier $setter -> Declaration( type=$0, name=$1, expression=$2 ) */ - ctx.rule = rules.get(53); + ctx.rule = rules.get(54); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("type", 0); parameters.put("name", 1); @@ -4480,8 +4504,8 @@ private static ParseTree parse_declaration(ParserContext ctx) throws SyntaxError throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "declaration", current, - nonterminal_first.get(80), - rules.get(53) + nonterminal_first.get(110), + rules.get(54) )); } public ParseTree parse_document(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4492,14 +4516,14 @@ private static ParseTree parse_document(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[41][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(106, "document")); + int rule = (current != null) ? table[51][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(117, "document")); ctx.nonterminal = "document"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "document", - nonterminal_first.get(106), - nonterminal_rules.get(106) + nonterminal_first.get(117), + nonterminal_rules.get(117) )); } if (rule == 2) { @@ -4521,7 +4545,7 @@ private static ParseTree parse_document(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "document", current, - nonterminal_first.get(106), + nonterminal_first.get(117), rules.get(2) )); } @@ -4533,19 +4557,19 @@ private static ParseTree parse_expression_placeholder(ParserContext ctx) throws Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[3][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(68, "expression_placeholder")); + int rule = (current != null) ? table[72][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(138, "expression_placeholder")); ctx.nonterminal = "expression_placeholder"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "expression_placeholder", - nonterminal_first.get(68), - nonterminal_rules.get(68) + nonterminal_first.get(138), + nonterminal_rules.get(138) )); } - if (rule == 37) { + if (rule == 38) { /* $expression_placeholder = :expression_placeholder_start $_gen9 $e :expression_placeholder_end -> ExpressionPlaceholder( attributes=$1, expr=$2 ) */ - ctx.rule = rules.get(37); + ctx.rule = rules.get(38); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("attributes", 1); parameters.put("expr", 2); @@ -4563,8 +4587,8 @@ private static ParseTree parse_expression_placeholder(ParserContext ctx) throws throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "expression_placeholder", current, - nonterminal_first.get(68), - rules.get(37) + nonterminal_first.get(138), + rules.get(38) )); } public ParseTree parse_expression_placeholder_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4575,19 +4599,19 @@ private static ParseTree parse_expression_placeholder_kv(ParserContext ctx) thro Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[40][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(105, "expression_placeholder_kv")); + int rule = (current != null) ? table[5][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(71, "expression_placeholder_kv")); ctx.nonterminal = "expression_placeholder_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "expression_placeholder_kv", - nonterminal_first.get(105), - nonterminal_rules.get(105) + nonterminal_first.get(71), + nonterminal_rules.get(71) )); } - if (rule == 38) { + if (rule == 39) { /* $expression_placeholder_kv = :cmd_attr_hint :identifier :equal $e -> ExpressionPlaceholderAttr( key=$1, value=$3 ) */ - ctx.rule = rules.get(38); + ctx.rule = rules.get(39); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 1); parameters.put("value", 3); @@ -4605,8 +4629,8 @@ private static ParseTree parse_expression_placeholder_kv(ParserContext ctx) thro throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "expression_placeholder_kv", current, - nonterminal_first.get(105), - rules.get(38) + nonterminal_first.get(71), + rules.get(39) )); } public ParseTree parse_file_body_element(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4617,14 +4641,14 @@ private static ParseTree parse_file_body_element(ParserContext ctx) throws Synta Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[42][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(107, "file_body_element")); + int rule = (current != null) ? table[21][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(87, "file_body_element")); ctx.nonterminal = "file_body_element"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "file_body_element", - nonterminal_first.get(107), - nonterminal_rules.get(107) + nonterminal_first.get(87), + nonterminal_rules.get(87) )); } if (rule == 3) { @@ -4654,7 +4678,7 @@ else if (rule == 5) { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "file_body_element", current, - nonterminal_first.get(107), + nonterminal_first.get(87), rules.get(5) )); } @@ -4666,19 +4690,19 @@ private static ParseTree parse_if_stmt(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[21][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(86, "if_stmt")); + int rule = (current != null) ? table[33][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(99, "if_stmt")); ctx.nonterminal = "if_stmt"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "if_stmt", - nonterminal_first.get(86), - nonterminal_rules.get(86) + nonterminal_first.get(99), + nonterminal_rules.get(99) )); } - if (rule == 81) { + if (rule == 82) { /* $if_stmt = :if :lparen $e :rparen :lbrace $_gen15 :rbrace -> If( expression=$2, body=$5 ) */ - ctx.rule = rules.get(81); + ctx.rule = rules.get(82); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("expression", 2); parameters.put("body", 5); @@ -4702,8 +4726,8 @@ private static ParseTree parse_if_stmt(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "if_stmt", current, - nonterminal_first.get(86), - rules.get(81) + nonterminal_first.get(99), + rules.get(82) )); } public ParseTree parse_import(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4714,19 +4738,19 @@ private static ParseTree parse_import(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[49][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(114, "import")); + int rule = (current != null) ? table[13][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(79, "import")); ctx.nonterminal = "import"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "import", - nonterminal_first.get(114), - nonterminal_rules.get(114) + nonterminal_first.get(79), + nonterminal_rules.get(79) )); } - if (rule == 20) { + if (rule == 21) { /* $import = :import $static_string $_gen5 $_gen6 -> Import( uri=$1, namespace=$2, aliases=$3 ) */ - ctx.rule = rules.get(20); + ctx.rule = rules.get(21); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("uri", 1); parameters.put("namespace", 2); @@ -4745,8 +4769,8 @@ private static ParseTree parse_import(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "import", current, - nonterminal_first.get(114), - rules.get(20) + nonterminal_first.get(79), + rules.get(21) )); } public ParseTree parse_import_alias(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4757,19 +4781,19 @@ private static ParseTree parse_import_alias(ParserContext ctx) throws SyntaxErro Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[39][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(104, "import_alias")); + int rule = (current != null) ? table[59][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(125, "import_alias")); ctx.nonterminal = "import_alias"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "import_alias", - nonterminal_first.get(104), - nonterminal_rules.get(104) + nonterminal_first.get(125), + nonterminal_rules.get(125) )); } - if (rule == 22) { + if (rule == 23) { /* $import_alias = :alias :identifier :as :identifier -> ImportAlias( old_name=$1, new_name=$3 ) */ - ctx.rule = rules.get(22); + ctx.rule = rules.get(23); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("old_name", 1); parameters.put("new_name", 3); @@ -4787,8 +4811,8 @@ private static ParseTree parse_import_alias(ParserContext ctx) throws SyntaxErro throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "import_alias", current, - nonterminal_first.get(104), - rules.get(22) + nonterminal_first.get(125), + rules.get(23) )); } public ParseTree parse_import_namespace(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4799,19 +4823,19 @@ private static ParseTree parse_import_namespace(ParserContext ctx) throws Syntax Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[9][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(74, "import_namespace")); + int rule = (current != null) ? table[2][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(68, "import_namespace")); ctx.nonterminal = "import_namespace"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "import_namespace", - nonterminal_first.get(74), - nonterminal_rules.get(74) + nonterminal_first.get(68), + nonterminal_rules.get(68) )); } - if (rule == 21) { + if (rule == 22) { /* $import_namespace = :as :identifier -> $1 */ - ctx.rule = rules.get(21); + ctx.rule = rules.get(22); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_AS); tree.add(next); @@ -4822,8 +4846,8 @@ private static ParseTree parse_import_namespace(ParserContext ctx) throws Syntax throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "import_namespace", current, - nonterminal_first.get(74), - rules.get(21) + nonterminal_first.get(68), + rules.get(22) )); } public ParseTree parse_input_declaration(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4834,19 +4858,19 @@ private static ParseTree parse_input_declaration(ParserContext ctx) throws Synta Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[8][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(73, "input_declaration")); + int rule = (current != null) ? table[66][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(132, "input_declaration")); ctx.nonterminal = "input_declaration"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "input_declaration", - nonterminal_first.get(73), - nonterminal_rules.get(73) + nonterminal_first.get(132), + nonterminal_rules.get(132) )); } - if (rule == 52) { + if (rule == 53) { /* $input_declaration = $type_e :identifier $_gen13 -> InputDeclaration( type=$0, name=$1, expression=$2 ) */ - ctx.rule = rules.get(52); + ctx.rule = rules.get(53); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("type", 0); parameters.put("name", 1); @@ -4863,8 +4887,8 @@ private static ParseTree parse_input_declaration(ParserContext ctx) throws Synta throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "input_declaration", current, - nonterminal_first.get(73), - rules.get(52) + nonterminal_first.get(132), + rules.get(53) )); } public ParseTree parse_input_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4875,19 +4899,19 @@ private static ParseTree parse_input_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[38][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(103, "input_kv")); + int rule = (current != null) ? table[64][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(130, "input_kv")); ctx.nonterminal = "input_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "input_kv", - nonterminal_first.get(103), - nonterminal_rules.get(103) + nonterminal_first.get(130), + nonterminal_rules.get(130) )); } - if (rule == 84) { + if (rule == 85) { /* $input_kv = :identifier :equal $e -> ObjectKV( key=$0, value=$2 ) */ - ctx.rule = rules.get(84); + ctx.rule = rules.get(85); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 0); parameters.put("value", 2); @@ -4903,8 +4927,8 @@ private static ParseTree parse_input_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "input_kv", current, - nonterminal_first.get(103), - rules.get(84) + nonterminal_first.get(130), + rules.get(85) )); } public ParseTree parse_inputs(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4915,19 +4939,19 @@ private static ParseTree parse_inputs(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[12][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(77, "inputs")); + int rule = (current != null) ? table[67][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(133, "inputs")); ctx.nonterminal = "inputs"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "inputs", - nonterminal_first.get(77), - nonterminal_rules.get(77) + nonterminal_first.get(133), + nonterminal_rules.get(133) )); } - if (rule == 40) { + if (rule == 41) { /* $inputs = :input :lbrace $_gen10 :rbrace -> Inputs( inputs=$2 ) */ - ctx.rule = rules.get(40); + ctx.rule = rules.get(41); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("inputs", 2); tree.setAstTransformation(new AstTransformNodeCreator("Inputs", parameters)); @@ -4944,8 +4968,8 @@ private static ParseTree parse_inputs(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "inputs", current, - nonterminal_first.get(77), - rules.get(40) + nonterminal_first.get(133), + rules.get(41) )); } public ParseTree parse_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4956,19 +4980,19 @@ private static ParseTree parse_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[30][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(95, "kv")); + int rule = (current != null) ? table[0][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(66, "kv")); ctx.nonterminal = "kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "kv", - nonterminal_first.get(95), - nonterminal_rules.get(95) + nonterminal_first.get(66), + nonterminal_rules.get(66) )); } - if (rule == 44) { + if (rule == 45) { /* $kv = :identifier :colon $e -> RuntimeAttribute( key=$0, value=$2 ) */ - ctx.rule = rules.get(44); + ctx.rule = rules.get(45); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 0); parameters.put("value", 2); @@ -4984,8 +5008,8 @@ private static ParseTree parse_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "kv", current, - nonterminal_first.get(95), - rules.get(44) + nonterminal_first.get(66), + rules.get(45) )); } public ParseTree parse_map_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -4996,19 +5020,19 @@ private static ParseTree parse_map_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[62][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(127, "map_kv")); + int rule = (current != null) ? table[7][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(73, "map_kv")); ctx.nonterminal = "map_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "map_kv", - nonterminal_first.get(127), - nonterminal_rules.get(127) + nonterminal_first.get(73), + nonterminal_rules.get(73) )); } - if (rule == 55) { + if (rule == 56) { /* $map_kv = $e :colon $e -> MapLiteralKv( key=$0, value=$2 ) */ - ctx.rule = rules.get(55); + ctx.rule = rules.get(56); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 0); parameters.put("value", 2); @@ -5024,8 +5048,8 @@ private static ParseTree parse_map_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "map_kv", current, - nonterminal_first.get(127), - rules.get(55) + nonterminal_first.get(73), + rules.get(56) )); } public ParseTree parse_meta(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5036,19 +5060,19 @@ private static ParseTree parse_meta(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[0][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(65, "meta")); + int rule = (current != null) ? table[39][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(105, "meta")); ctx.nonterminal = "meta"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "meta", - nonterminal_first.get(65), - nonterminal_rules.get(65) + nonterminal_first.get(105), + nonterminal_rules.get(105) )); } - if (rule == 45) { + if (rule == 46) { /* $meta = :meta $meta_map -> Meta( map=$1 ) */ - ctx.rule = rules.get(45); + ctx.rule = rules.get(46); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("Meta", parameters)); @@ -5061,8 +5085,8 @@ private static ParseTree parse_meta(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "meta", current, - nonterminal_first.get(65), - rules.get(45) + nonterminal_first.get(105), + rules.get(46) )); } public ParseTree parse_meta_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5073,19 +5097,19 @@ private static ParseTree parse_meta_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[37][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(102, "meta_kv")); + int rule = (current != null) ? table[1][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(67, "meta_kv")); ctx.nonterminal = "meta_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "meta_kv", - nonterminal_first.get(102), - nonterminal_rules.get(102) + nonterminal_first.get(67), + nonterminal_rules.get(67) )); } - if (rule == 49) { + if (rule == 50) { /* $meta_kv = :identifier :colon $meta_value -> MetaKvPair( key=$0, value=$2 ) */ - ctx.rule = rules.get(49); + ctx.rule = rules.get(50); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 0); parameters.put("value", 2); @@ -5101,8 +5125,8 @@ private static ParseTree parse_meta_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "meta_kv", current, - nonterminal_first.get(102), - rules.get(49) + nonterminal_first.get(67), + rules.get(50) )); } public ParseTree parse_meta_map(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5113,19 +5137,19 @@ private static ParseTree parse_meta_map(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[16][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(81, "meta_map")); + int rule = (current != null) ? table[6][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(72, "meta_map")); ctx.nonterminal = "meta_map"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "meta_map", - nonterminal_first.get(81), - nonterminal_rules.get(81) + nonterminal_first.get(72), + nonterminal_rules.get(72) )); } - if (rule == 48) { + if (rule == 49) { /* $meta_map = :lbrace $_gen12 :rbrace -> $1 */ - ctx.rule = rules.get(48); + ctx.rule = rules.get(49); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_LBRACE); tree.add(next); @@ -5138,8 +5162,8 @@ private static ParseTree parse_meta_map(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "meta_map", current, - nonterminal_first.get(81), - rules.get(48) + nonterminal_first.get(72), + rules.get(49) )); } public ParseTree parse_object_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5150,19 +5174,19 @@ private static ParseTree parse_object_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[45][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(110, "object_kv")); + int rule = (current != null) ? table[38][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(104, "object_kv")); ctx.nonterminal = "object_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "object_kv", - nonterminal_first.get(110), - nonterminal_rules.get(110) + nonterminal_first.get(104), + nonterminal_rules.get(104) )); } - if (rule == 83) { + if (rule == 84) { /* $object_kv = :identifier :colon $e -> ObjectKV( key=$0, value=$2 ) */ - ctx.rule = rules.get(83); + ctx.rule = rules.get(84); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("key", 0); parameters.put("value", 2); @@ -5178,8 +5202,8 @@ private static ParseTree parse_object_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "object_kv", current, - nonterminal_first.get(110), - rules.get(83) + nonterminal_first.get(104), + rules.get(84) )); } public ParseTree parse_output_kv(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5190,19 +5214,19 @@ private static ParseTree parse_output_kv(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[19][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(84, "output_kv")); + int rule = (current != null) ? table[61][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(127, "output_kv")); ctx.nonterminal = "output_kv"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "output_kv", - nonterminal_first.get(84), - nonterminal_rules.get(84) + nonterminal_first.get(127), + nonterminal_rules.get(127) )); } - if (rule == 58) { + if (rule == 59) { /* $output_kv = $type_e :identifier :equal $e -> Output( type=$0, name=$1, expression=$3 ) */ - ctx.rule = rules.get(58); + ctx.rule = rules.get(59); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("type", 0); parameters.put("name", 1); @@ -5221,8 +5245,8 @@ private static ParseTree parse_output_kv(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "output_kv", current, - nonterminal_first.get(84), - rules.get(58) + nonterminal_first.get(127), + rules.get(59) )); } public ParseTree parse_outputs(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5233,19 +5257,19 @@ private static ParseTree parse_outputs(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[35][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(100, "outputs")); + int rule = (current != null) ? table[63][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(129, "outputs")); ctx.nonterminal = "outputs"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "outputs", - nonterminal_first.get(100), - nonterminal_rules.get(100) + nonterminal_first.get(129), + nonterminal_rules.get(129) )); } - if (rule == 57) { + if (rule == 58) { /* $outputs = :output :lbrace $_gen14 :rbrace -> Outputs( outputs=$2 ) */ - ctx.rule = rules.get(57); + ctx.rule = rules.get(58); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("outputs", 2); tree.setAstTransformation(new AstTransformNodeCreator("Outputs", parameters)); @@ -5262,8 +5286,8 @@ private static ParseTree parse_outputs(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "outputs", current, - nonterminal_first.get(100), - rules.get(57) + nonterminal_first.get(129), + rules.get(58) )); } public ParseTree parse_parameter_meta(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5274,19 +5298,19 @@ private static ParseTree parse_parameter_meta(ParserContext ctx) throws SyntaxEr Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[4][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(69, "parameter_meta")); + int rule = (current != null) ? table[26][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(92, "parameter_meta")); ctx.nonterminal = "parameter_meta"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "parameter_meta", - nonterminal_first.get(69), - nonterminal_rules.get(69) + nonterminal_first.get(92), + nonterminal_rules.get(92) )); } - if (rule == 46) { + if (rule == 47) { /* $parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 ) */ - ctx.rule = rules.get(46); + ctx.rule = rules.get(47); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("ParameterMeta", parameters)); @@ -5299,8 +5323,8 @@ private static ParseTree parse_parameter_meta(ParserContext ctx) throws SyntaxEr throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "parameter_meta", current, - nonterminal_first.get(69), - rules.get(46) + nonterminal_first.get(92), + rules.get(47) )); } public ParseTree parse_rt_map(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5311,19 +5335,19 @@ private static ParseTree parse_rt_map(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[27][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(92, "rt_map")); + int rule = (current != null) ? table[69][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(135, "rt_map")); ctx.nonterminal = "rt_map"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "rt_map", - nonterminal_first.get(92), - nonterminal_rules.get(92) + nonterminal_first.get(135), + nonterminal_rules.get(135) )); } - if (rule == 43) { + if (rule == 44) { /* $rt_map = :lbrace $_gen11 :rbrace -> $1 */ - ctx.rule = rules.get(43); + ctx.rule = rules.get(44); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_LBRACE); tree.add(next); @@ -5336,8 +5360,8 @@ private static ParseTree parse_rt_map(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "rt_map", current, - nonterminal_first.get(92), - rules.get(43) + nonterminal_first.get(135), + rules.get(44) )); } public ParseTree parse_runtime(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5348,19 +5372,19 @@ private static ParseTree parse_runtime(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[50][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(115, "runtime")); + int rule = (current != null) ? table[41][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(107, "runtime")); ctx.nonterminal = "runtime"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "runtime", - nonterminal_first.get(115), - nonterminal_rules.get(115) + nonterminal_first.get(107), + nonterminal_rules.get(107) )); } - if (rule == 41) { + if (rule == 42) { /* $runtime = :runtime $rt_map -> Runtime( map=$1 ) */ - ctx.rule = rules.get(41); + ctx.rule = rules.get(42); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("Runtime", parameters)); @@ -5373,8 +5397,8 @@ private static ParseTree parse_runtime(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "runtime", current, - nonterminal_first.get(115), - rules.get(41) + nonterminal_first.get(107), + rules.get(42) )); } public ParseTree parse_scatter(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5385,19 +5409,19 @@ private static ParseTree parse_scatter(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[61][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(126, "scatter")); + int rule = (current != null) ? table[12][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(78, "scatter")); ctx.nonterminal = "scatter"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "scatter", - nonterminal_first.get(126), - nonterminal_rules.get(126) + nonterminal_first.get(78), + nonterminal_rules.get(78) )); } - if (rule == 82) { + if (rule == 83) { /* $scatter = :scatter :lparen :identifier :in $e :rparen :lbrace $_gen15 :rbrace -> Scatter( item=$2, collection=$4, body=$7 ) */ - ctx.rule = rules.get(82); + ctx.rule = rules.get(83); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("item", 2); parameters.put("collection", 4); @@ -5426,8 +5450,8 @@ private static ParseTree parse_scatter(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "scatter", current, - nonterminal_first.get(126), - rules.get(82) + nonterminal_first.get(78), + rules.get(83) )); } public ParseTree parse_setter(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5438,19 +5462,19 @@ private static ParseTree parse_setter(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[2][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(67, "setter")); + int rule = (current != null) ? table[3][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(69, "setter")); ctx.nonterminal = "setter"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "setter", - nonterminal_first.get(67), - nonterminal_rules.get(67) + nonterminal_first.get(69), + nonterminal_rules.get(69) )); } - if (rule == 54) { + if (rule == 55) { /* $setter = :equal $e -> $1 */ - ctx.rule = rules.get(54); + ctx.rule = rules.get(55); tree.setAstTransformation(new AstTransformSubstitution(1)); next = expect(ctx, WdlTerminalIdentifier.TERMINAL_EQUAL); tree.add(next); @@ -5461,8 +5485,8 @@ private static ParseTree parse_setter(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "setter", current, - nonterminal_first.get(67), - rules.get(54) + nonterminal_first.get(69), + rules.get(55) )); } public ParseTree parse_static_string(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5473,19 +5497,19 @@ private static ParseTree parse_static_string(ParserContext ctx) throws SyntaxErr Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[52][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(117, "static_string")); + int rule = (current != null) ? table[23][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(89, "static_string")); ctx.nonterminal = "static_string"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "static_string", - nonterminal_first.get(117), - nonterminal_rules.get(117) + nonterminal_first.get(89), + nonterminal_rules.get(89) )); } - if (rule == 12) { + if (rule == 11) { /* $static_string = :quote $_gen3 :quote -> StaticString( value=$1 ) */ - ctx.rule = rules.get(12); + ctx.rule = rules.get(11); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("value", 1); tree.setAstTransformation(new AstTransformNodeCreator("StaticString", parameters)); @@ -5500,8 +5524,49 @@ private static ParseTree parse_static_string(ParserContext ctx) throws SyntaxErr throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "static_string", current, - nonterminal_first.get(117), - rules.get(12) + nonterminal_first.get(89), + rules.get(11) + )); + } + public ParseTree parse_static_string_piece(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { + ParserContext ctx = new ParserContext(new TokenStream(tokens), error_formatter); + return parse_static_string_piece(ctx); + } + private static ParseTree parse_static_string_piece(ParserContext ctx) throws SyntaxError { + Terminal current = ctx.tokens.current(); + Terminal next; + ParseTree subtree; + int rule = (current != null) ? table[31][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(97, "static_string_piece")); + ctx.nonterminal = "static_string_piece"; + if (current == null) { + throw new SyntaxError(ctx.error_formatter.unexpectedEof( + "static_string_piece", + nonterminal_first.get(97), + nonterminal_rules.get(97) + )); + } + if (rule == 14) { + /* $static_string_piece = :string */ + ctx.rule = rules.get(14); + tree.setAstTransformation(new AstTransformSubstitution(0)); + next = expect(ctx, WdlTerminalIdentifier.TERMINAL_STRING); + tree.add(next); + return tree; + } + else if (rule == 15) { + /* $static_string_piece = :escape */ + ctx.rule = rules.get(15); + tree.setAstTransformation(new AstTransformSubstitution(0)); + next = expect(ctx, WdlTerminalIdentifier.TERMINAL_ESCAPE); + tree.add(next); + return tree; + } + throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( + "static_string_piece", + current, + nonterminal_first.get(97), + rules.get(15) )); } public ParseTree parse_string_literal(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5512,19 +5577,19 @@ private static ParseTree parse_string_literal(ParserContext ctx) throws SyntaxEr Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[31][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(96, "string_literal")); + int rule = (current != null) ? table[71][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(137, "string_literal")); ctx.nonterminal = "string_literal"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "string_literal", - nonterminal_first.get(96), - nonterminal_rules.get(96) + nonterminal_first.get(137), + nonterminal_rules.get(137) )); } - if (rule == 14) { + if (rule == 13) { /* $string_literal = :quote $_gen4 :quote -> StringLiteral( pieces=$1 ) */ - ctx.rule = rules.get(14); + ctx.rule = rules.get(13); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("pieces", 1); tree.setAstTransformation(new AstTransformNodeCreator("StringLiteral", parameters)); @@ -5539,8 +5604,8 @@ private static ParseTree parse_string_literal(ParserContext ctx) throws SyntaxEr throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "string_literal", current, - nonterminal_first.get(96), - rules.get(14) + nonterminal_first.get(137), + rules.get(13) )); } public ParseTree parse_string_piece(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5551,27 +5616,27 @@ private static ParseTree parse_string_piece(ParserContext ctx) throws SyntaxErro Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[57][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(122, "string_piece")); + int rule = (current != null) ? table[16][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(82, "string_piece")); ctx.nonterminal = "string_piece"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "string_piece", - nonterminal_first.get(122), - nonterminal_rules.get(122) + nonterminal_first.get(82), + nonterminal_rules.get(82) )); } - if (rule == 15) { - /* $string_piece = :string */ - ctx.rule = rules.get(15); + if (rule == 16) { + /* $string_piece = $static_string_piece */ + ctx.rule = rules.get(16); tree.setAstTransformation(new AstTransformSubstitution(0)); - next = expect(ctx, WdlTerminalIdentifier.TERMINAL_STRING); - tree.add(next); + subtree = parse_static_string_piece(ctx); + tree.add(subtree); return tree; } - else if (rule == 16) { + else if (rule == 17) { /* $string_piece = $expression_placeholder */ - ctx.rule = rules.get(16); + ctx.rule = rules.get(17); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_expression_placeholder(ctx); tree.add(subtree); @@ -5580,8 +5645,8 @@ else if (rule == 16) { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "string_piece", current, - nonterminal_first.get(122), - rules.get(16) + nonterminal_first.get(82), + rules.get(17) )); } public ParseTree parse_struct(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5592,14 +5657,14 @@ private static ParseTree parse_struct(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[43][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(108, "struct")); + int rule = (current != null) ? table[48][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(114, "struct")); ctx.nonterminal = "struct"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "struct", - nonterminal_first.get(108), - nonterminal_rules.get(108) + nonterminal_first.get(114), + nonterminal_rules.get(114) )); } if (rule == 8) { @@ -5624,7 +5689,7 @@ private static ParseTree parse_struct(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "struct", current, - nonterminal_first.get(108), + nonterminal_first.get(114), rules.get(8) )); } @@ -5636,14 +5701,14 @@ private static ParseTree parse_struct_declaration(ParserContext ctx) throws Synt Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[54][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(119, "struct_declaration")); + int rule = (current != null) ? table[32][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(98, "struct_declaration")); ctx.nonterminal = "struct_declaration"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "struct_declaration", - nonterminal_first.get(119), - nonterminal_rules.get(119) + nonterminal_first.get(98), + nonterminal_rules.get(98) )); } if (rule == 9) { @@ -5662,7 +5727,7 @@ private static ParseTree parse_struct_declaration(ParserContext ctx) throws Synt throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "struct_declaration", current, - nonterminal_first.get(119), + nonterminal_first.get(98), rules.get(9) )); } @@ -5674,19 +5739,19 @@ private static ParseTree parse_task(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[60][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(125, "task")); + int rule = (current != null) ? table[46][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(112, "task")); ctx.nonterminal = "task"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "task", - nonterminal_first.get(125), - nonterminal_rules.get(125) + nonterminal_first.get(112), + nonterminal_rules.get(112) )); } - if (rule == 24) { + if (rule == 25) { /* $task = :task :identifier :lbrace $_gen7 :rbrace -> Task( name=$1, sections=$3 ) */ - ctx.rule = rules.get(24); + ctx.rule = rules.get(25); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("name", 1); parameters.put("sections", 3); @@ -5706,8 +5771,8 @@ private static ParseTree parse_task(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "task", current, - nonterminal_first.get(125), - rules.get(24) + nonterminal_first.get(112), + rules.get(25) )); } public ParseTree parse_task_sections(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5718,67 +5783,67 @@ private static ParseTree parse_task_sections(ParserContext ctx) throws SyntaxErr Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[5][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(70, "task_sections")); + int rule = (current != null) ? table[11][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(77, "task_sections")); ctx.nonterminal = "task_sections"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "task_sections", - nonterminal_first.get(70), - nonterminal_rules.get(70) + nonterminal_first.get(77), + nonterminal_rules.get(77) )); } - if (rule == 25) { + if (rule == 26) { /* $task_sections = $command */ - ctx.rule = rules.get(25); + ctx.rule = rules.get(26); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_command(ctx); tree.add(subtree); return tree; } - else if (rule == 26) { + else if (rule == 27) { /* $task_sections = $inputs */ - ctx.rule = rules.get(26); + ctx.rule = rules.get(27); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_inputs(ctx); tree.add(subtree); return tree; } - else if (rule == 27) { + else if (rule == 28) { /* $task_sections = $outputs */ - ctx.rule = rules.get(27); + ctx.rule = rules.get(28); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_outputs(ctx); tree.add(subtree); return tree; } - else if (rule == 28) { + else if (rule == 29) { /* $task_sections = $runtime */ - ctx.rule = rules.get(28); + ctx.rule = rules.get(29); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_runtime(ctx); tree.add(subtree); return tree; } - else if (rule == 29) { + else if (rule == 30) { /* $task_sections = $parameter_meta */ - ctx.rule = rules.get(29); + ctx.rule = rules.get(30); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_parameter_meta(ctx); tree.add(subtree); return tree; } - else if (rule == 30) { + else if (rule == 31) { /* $task_sections = $meta */ - ctx.rule = rules.get(30); + ctx.rule = rules.get(31); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_meta(ctx); tree.add(subtree); return tree; } - else if (rule == 31) { + else if (rule == 32) { /* $task_sections = $declaration */ - ctx.rule = rules.get(31); + ctx.rule = rules.get(32); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_declaration(ctx); tree.add(subtree); @@ -5787,8 +5852,8 @@ else if (rule == 31) { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "task_sections", current, - nonterminal_first.get(70), - rules.get(31) + nonterminal_first.get(77), + rules.get(32) )); } public ParseTree parse_version(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5799,14 +5864,14 @@ private static ParseTree parse_version(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[53][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(118, "version")); + int rule = (current != null) ? table[19][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(85, "version")); ctx.nonterminal = "version"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "version", - nonterminal_first.get(118), - nonterminal_rules.get(118) + nonterminal_first.get(85), + nonterminal_rules.get(85) )); } if (rule == 6) { @@ -5824,7 +5889,7 @@ private static ParseTree parse_version(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "version", current, - nonterminal_first.get(118), + nonterminal_first.get(85), rules.get(6) )); } @@ -5836,75 +5901,75 @@ private static ParseTree parse_wf_body_element(ParserContext ctx) throws SyntaxE Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[20][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(85, "wf_body_element")); + int rule = (current != null) ? table[27][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(93, "wf_body_element")); ctx.nonterminal = "wf_body_element"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "wf_body_element", - nonterminal_first.get(85), - nonterminal_rules.get(85) + nonterminal_first.get(93), + nonterminal_rules.get(93) )); } - if (rule == 61) { + if (rule == 62) { /* $wf_body_element = $call */ - ctx.rule = rules.get(61); + ctx.rule = rules.get(62); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_call(ctx); tree.add(subtree); return tree; } - else if (rule == 62) { + else if (rule == 63) { /* $wf_body_element = $declaration */ - ctx.rule = rules.get(62); + ctx.rule = rules.get(63); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_declaration(ctx); tree.add(subtree); return tree; } - else if (rule == 63) { + else if (rule == 64) { /* $wf_body_element = $if_stmt */ - ctx.rule = rules.get(63); + ctx.rule = rules.get(64); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_if_stmt(ctx); tree.add(subtree); return tree; } - else if (rule == 64) { + else if (rule == 65) { /* $wf_body_element = $scatter */ - ctx.rule = rules.get(64); + ctx.rule = rules.get(65); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_scatter(ctx); tree.add(subtree); return tree; } - else if (rule == 65) { + else if (rule == 66) { /* $wf_body_element = $inputs */ - ctx.rule = rules.get(65); + ctx.rule = rules.get(66); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_inputs(ctx); tree.add(subtree); return tree; } - else if (rule == 66) { + else if (rule == 67) { /* $wf_body_element = $outputs */ - ctx.rule = rules.get(66); + ctx.rule = rules.get(67); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_outputs(ctx); tree.add(subtree); return tree; } - else if (rule == 67) { + else if (rule == 68) { /* $wf_body_element = $wf_parameter_meta */ - ctx.rule = rules.get(67); + ctx.rule = rules.get(68); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_wf_parameter_meta(ctx); tree.add(subtree); return tree; } - else if (rule == 68) { + else if (rule == 69) { /* $wf_body_element = $wf_meta */ - ctx.rule = rules.get(68); + ctx.rule = rules.get(69); tree.setAstTransformation(new AstTransformSubstitution(0)); subtree = parse_wf_meta(ctx); tree.add(subtree); @@ -5913,8 +5978,8 @@ else if (rule == 68) { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "wf_body_element", current, - nonterminal_first.get(85), - rules.get(68) + nonterminal_first.get(93), + rules.get(69) )); } public ParseTree parse_wf_meta(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5925,19 +5990,19 @@ private static ParseTree parse_wf_meta(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[22][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(87, "wf_meta")); + int rule = (current != null) ? table[35][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(101, "wf_meta")); ctx.nonterminal = "wf_meta"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "wf_meta", - nonterminal_first.get(87), - nonterminal_rules.get(87) + nonterminal_first.get(101), + nonterminal_rules.get(101) )); } - if (rule == 80) { + if (rule == 81) { /* $wf_meta = :meta $meta_map -> Meta( map=$1 ) */ - ctx.rule = rules.get(80); + ctx.rule = rules.get(81); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("Meta", parameters)); @@ -5950,8 +6015,8 @@ private static ParseTree parse_wf_meta(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "wf_meta", current, - nonterminal_first.get(87), - rules.get(80) + nonterminal_first.get(101), + rules.get(81) )); } public ParseTree parse_wf_parameter_meta(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5962,19 +6027,19 @@ private static ParseTree parse_wf_parameter_meta(ParserContext ctx) throws Synta Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[23][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(88, "wf_parameter_meta")); + int rule = (current != null) ? table[37][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(103, "wf_parameter_meta")); ctx.nonterminal = "wf_parameter_meta"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "wf_parameter_meta", - nonterminal_first.get(88), - nonterminal_rules.get(88) + nonterminal_first.get(103), + nonterminal_rules.get(103) )); } - if (rule == 79) { + if (rule == 80) { /* $wf_parameter_meta = :parameter_meta $meta_map -> ParameterMeta( map=$1 ) */ - ctx.rule = rules.get(79); + ctx.rule = rules.get(80); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("map", 1); tree.setAstTransformation(new AstTransformNodeCreator("ParameterMeta", parameters)); @@ -5987,8 +6052,8 @@ private static ParseTree parse_wf_parameter_meta(ParserContext ctx) throws Synta throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "wf_parameter_meta", current, - nonterminal_first.get(88), - rules.get(79) + nonterminal_first.get(103), + rules.get(80) )); } public ParseTree parse_workflow(List tokens, SyntaxErrorFormatter error_formatter) throws SyntaxError { @@ -5999,19 +6064,19 @@ private static ParseTree parse_workflow(ParserContext ctx) throws SyntaxError { Terminal current = ctx.tokens.current(); Terminal next; ParseTree subtree; - int rule = (current != null) ? table[64][current.getId()] : -1; - ParseTree tree = new ParseTree(new NonTerminal(129, "workflow")); + int rule = (current != null) ? table[22][current.getId()] : -1; + ParseTree tree = new ParseTree(new NonTerminal(88, "workflow")); ctx.nonterminal = "workflow"; if (current == null) { throw new SyntaxError(ctx.error_formatter.unexpectedEof( "workflow", - nonterminal_first.get(129), - nonterminal_rules.get(129) + nonterminal_first.get(88), + nonterminal_rules.get(88) )); } - if (rule == 60) { + if (rule == 61) { /* $workflow = :workflow :identifier :lbrace $_gen15 :rbrace -> Workflow( name=$1, body=$3 ) */ - ctx.rule = rules.get(60); + ctx.rule = rules.get(61); LinkedHashMap parameters = new LinkedHashMap(); parameters.put("name", 1); parameters.put("body", 3); @@ -6031,8 +6096,8 @@ private static ParseTree parse_workflow(ParserContext ctx) throws SyntaxError { throw new SyntaxError(ctx.error_formatter.unexpectedSymbol( "workflow", current, - nonterminal_first.get(129), - rules.get(60) + nonterminal_first.get(88), + rules.get(61) )); } /* Section: Lexer */ @@ -6159,10 +6224,6 @@ public void output(LexerContext ctx, TerminalIdentifier terminal, String source_ ctx.stack.push("wf_output"); } default_action(ctx, terminal, source_string, line, col); -} -public void wdl_unescape(LexerContext ctx, TerminalIdentifier terminal, String source_string, int line, int col) { - // As distinct from draft-2, the enclosing quotes are not included in `source_string` so no substring needed - default_action(ctx, terminal, StringEscapeUtils.unescapeJava(source_string), line, col); } /* END USER CODE */ public void destroy(Object context) { @@ -6800,12 +6861,62 @@ private void lexer_init() throws SyntaxError { }) ), new HermesRegex( - Pattern.compile("(.*?)(?=\\$\\{|~\\{|\")"), + Pattern.compile("\\\\[0-7][0-7][0-7]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\x[0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\U[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\."), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("(.*?)(?=\\\\|\\$\\{|~\\{|\")"), Arrays.asList(new LexerOutput[] { new LexerRegexOutput( WdlTerminalIdentifier.TERMINAL_STRING, 0, - getFunction("wdl_unescape") + getFunction("default_action") ), }) ), @@ -6845,12 +6956,62 @@ private void lexer_init() throws SyntaxError { }) ), new HermesRegex( - Pattern.compile("(.*?)(?=\\$\\{|~\\{|')"), + Pattern.compile("\\\\[0-7][0-7][0-7]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\x[0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\U[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]"), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("\\\\."), + Arrays.asList(new LexerOutput[] { + new LexerRegexOutput( + WdlTerminalIdentifier.TERMINAL_ESCAPE, + 0, + getFunction("default_action") + ), + }) + ), + new HermesRegex( + Pattern.compile("(.*?)(?=\\\\|\\$\\{|~\\{|\')"), Arrays.asList(new LexerOutput[] { new LexerRegexOutput( WdlTerminalIdentifier.TERMINAL_STRING, 0, - getFunction("wdl_unescape") + getFunction("default_action") ), }) ),