diff --git a/eudplib/epscript/cpp/parser/epparser.h b/eudplib/epscript/cpp/parser/epparser.h index db6ea920..d92d6758 100644 --- a/eudplib/epscript/cpp/parser/epparser.h +++ b/eudplib/epscript/cpp/parser/epparser.h @@ -30,53 +30,54 @@ #define SEMICOLON 30 #define IMPORT 31 #define NAME 32 -#define AS 33 -#define COLON 34 -#define FUNCTION 35 -#define RPAREN 36 -#define OBJECT 37 -#define LBRACKET 38 -#define VAR 39 -#define RBRACKET 40 -#define NUMBER 41 -#define RSQBRACKET 42 -#define SUBSCRIPT 43 -#define KILLS 44 -#define MEMBER 45 -#define STRING 46 -#define FUNCCALL 47 -#define L2V 48 -#define MAPSTRING 49 -#define UNIT 50 -#define SWITCH 51 -#define LOCATION 52 -#define STATTXTTBL 53 -#define VARRAY 54 -#define LIST 55 -#define STATIC 56 -#define CONST 57 -#define INC 58 -#define DEC 59 -#define IADD 60 -#define ISUB 61 -#define IMUL 62 -#define IDIV 63 -#define IMOD 64 -#define ILSH 65 -#define IRSH 66 -#define IBND 67 -#define IBOR 68 -#define IBXR 69 -#define ONCE 70 -#define IF 71 -#define SWITCHCASE 72 -#define CASE 73 -#define DEFAULT 74 -#define WHILE 75 -#define FOR 76 -#define FOREACH 77 -#define CONTINUE 78 -#define BREAK 79 -#define RETURN 80 -#define CONDITIONNAME 81 -#define ACTIONNAME 82 +#define TRGCONST 33 +#define AS 34 +#define COLON 35 +#define FUNCTION 36 +#define RPAREN 37 +#define OBJECT 38 +#define LBRACKET 39 +#define VAR 40 +#define RBRACKET 41 +#define NUMBER 42 +#define RSQBRACKET 43 +#define SUBSCRIPT 44 +#define KILLS 45 +#define MEMBER 46 +#define STRING 47 +#define FUNCCALL 48 +#define L2V 49 +#define MAPSTRING 50 +#define UNIT 51 +#define SWITCH 52 +#define LOCATION 53 +#define STATTXTTBL 54 +#define VARRAY 55 +#define LIST 56 +#define STATIC 57 +#define CONST 58 +#define INC 59 +#define DEC 60 +#define IADD 61 +#define ISUB 62 +#define IMUL 63 +#define IDIV 64 +#define IMOD 65 +#define ILSH 66 +#define IRSH 67 +#define IBND 68 +#define IBOR 69 +#define IBXR 70 +#define ONCE 71 +#define IF 72 +#define SWITCHCASE 73 +#define CASE 74 +#define DEFAULT 75 +#define WHILE 76 +#define FOR 77 +#define FOREACH 78 +#define CONTINUE 79 +#define BREAK 80 +#define RETURN 81 +#define CONDITIONNAME 82 +#define ACTIONNAME 83 diff --git a/eudplib/epscript/cpp/parser/epparser.lemon b/eudplib/epscript/cpp/parser/epparser.lemon index 591b5267..9ed1bbb2 100644 --- a/eudplib/epscript/cpp/parser/epparser.lemon +++ b/eudplib/epscript/cpp/parser/epparser.lemon @@ -76,8 +76,7 @@ chunks ::= chunks error. { throw_error(13494, "Chunk-level error"); } -chunk ::= relimp_chunk. -chunk ::= import_chunk SEMICOLON. +chunk ::= import_chunk. chunk ::= fdef_chunk. chunk ::= fdecl_chunk. chunk ::= object_chunk. @@ -102,12 +101,22 @@ relimp_path(A) ::= relimp_start(B) NAME(C). { delete B; A = C; } +relimp_path(A) ::= relimp_start(B) TRGCONST(C). { + C->data = B->data + C->data; + delete B; + A = C; +} relimp_path(A) ::= relimp_path(B) PERIOD NAME(C). { C->data = B->data + "." + C->data; delete B; A = C; } -relimp_chunk ::= relimp_path(A) SEMICOLON. { +relimp_path(A) ::= relimp_path(B) PERIOD TRGCONST(C). { + C->data = B->data + "." + C->data; + delete B; + A = C; +} +import_chunk ::= relimp_path(A) SEMICOLON. { std::string impPath, impModname; impPathProcess(A->data, impPath, impModname); @@ -118,7 +127,7 @@ relimp_chunk ::= relimp_path(A) SEMICOLON. { ps->gen << impModname << " = _RELIMP(\"" << impPath << "\", \"" << impModname << "\")" << std::endl; delete A; } -relimp_chunk ::= relimp_path(A) AS NAME(B) SEMICOLON. { +import_chunk ::= relimp_path(A) AS NAME(B) SEMICOLON. { std::string impPath, impModname; impPathProcess(A->data, impPath, impModname); @@ -129,15 +138,25 @@ relimp_chunk ::= relimp_path(A) AS NAME(B) SEMICOLON. { ps->gen << B->data << " = _RELIMP(\"" << impPath << "\", \"" << impModname << "\")" << std::endl; delete A; delete B; } +import_chunk ::= relimp_path(A) AS TRGCONST(B) SEMICOLON. { + throw_error(6754, "Module name conflict with trigger constant " + B->data, B->line); + delete A; delete B; +} -dottedName(A) ::= NAME(B). { A = B; } -dottedName(A) ::= dottedName(B) PERIOD NAME(C). { +absimp_start(A) ::= IMPORT NAME(B). { A = B; } +absimp_start(A) ::= IMPORT TRGCONST(B). { A = B; } +absimp_start(A) ::= absimp_start(B) PERIOD NAME(C). { + C->data = B->data + "." + C->data; + delete B; + A = C; +} +absimp_start(A) ::= absimp_start(B) PERIOD TRGCONST(C). { C->data = B->data + "." + C->data; delete B; A = C; } -import_chunk ::= IMPORT dottedName(A) AS NAME(B). { +import_chunk ::= absimp_start(A) AS NAME(B) SEMICOLON. { std::string impPath, impModname; impPathProcess(A->data, impPath, impModname); @@ -149,8 +168,12 @@ import_chunk ::= IMPORT dottedName(A) AS NAME(B). { ps->gen << "import " << impModname << " as " << B->data << std::endl; delete A; delete B; } +import_chunk ::= absimp_start(A) AS TRGCONST(B) SEMICOLON. { + throw_error(6754, "Module name conflict with trigger constant " + B->data, B->line); + delete A; delete B; +} -import_chunk ::= IMPORT dottedName(A). { +import_chunk ::= absimp_start(A) SEMICOLON. { std::string impPath, impModname; impPathProcess(A->data, impPath, impModname); @@ -466,7 +489,7 @@ exprList_nonEmpty(A) ::= funcexpr(B) LSQBRACKET LSQBRACKET numList_nonEmpty(C) R } -expr(A) ::= funcexpr(B) LSQBRACKET LSQBRACKET NUMBER(C) RSQBRACKET RSQBRACKET. [SUBSCRIPT] { +nonConstExpr(A) ::= funcexpr(B) LSQBRACKET LSQBRACKET NUMBER(C) RSQBRACKET RSQBRACKET. [SUBSCRIPT] { C->data = B->data + "[" + C->data + "]"; delete B; A = mkTokenTemp(C); @@ -480,24 +503,30 @@ exprList(A) ::= . { A = genEmpty(); } exprList(A) ::= exprList_nonEmpty(B). { A = B; } // Related to expressions -expr(A) ::= NUMBER(B). { A = B; } -expr(A) ::= KILLS(B). { +constExpr(A) ::= NUMBER(B). { A = B; } +constExpr(A) ::= KILLS(B). { B->data = "4"; A = B; } +constExpr(A) ::= TRGCONST(B). { A = B; } -expr(A) ::= NAME(B). { +nonConstExpr(A) ::= NAME(B). { checkIsRValue(B->data, B->line); A = B; } -expr(A)::= expr(B) PERIOD NAME(C). [MEMBER] { +nonConstExpr(A)::= nonConstExpr(B) PERIOD NAME(C). [MEMBER] { + B->data = B->data + "." + C->data; + delete C; + A = mkTokenTemp(B); +} +nonConstExpr(A)::= nonConstExpr(B) PERIOD TRGCONST(C). [MEMBER] { B->data = B->data + "." + C->data; delete C; A = mkTokenTemp(B); } -expr(A)::= expr(B) LSQBRACKET expr(C) RSQBRACKET. [SUBSCRIPT] { +nonConstExpr(A)::= nonConstExpr(B) LSQBRACKET expr(C) RSQBRACKET. [SUBSCRIPT] { B->data = B->data + "[" + C->data + "]"; delete C; A = mkTokenTemp(B); @@ -563,37 +592,57 @@ lambdaExprStart(A) ::= FUNCTION LPAREN typedNameList(args) RPAREN fdef_rettypes( A->data = funcname; } -expr(A) ::= lambdaExprStart(B) stmt. { +constExpr(A) ::= lambdaExprStart(B) stmt. { ps->gen.unindent(true); ps->closure.popScope(); A = mkTokenTemp(B); } +expr(A) ::= constLogicExpr(B). { A = B; } +expr(A) ::= logicExpr(B). { A = B; } // Function calls -fArg(A) ::= expr(B). { A = B; } -fArg(A) ::= STRING(B). { A = B; } -fArg(A) ::= NAME(B) ASSIGN expr(C). { // Keyword argument +fNonConstArg(A) ::= logicExpr(B). { A = B; } +fConstArg(A) ::= constLogicExpr(B). { A = B; } +fConstArg(A) ::= STRING(B). { A = B; } +fConstArg(A) ::= NAME(B) ASSIGN expr(C). { // Keyword argument C->data = B->data + "=" + C->data; C->type = TOKEN_TEMP; A = C; delete B; } -fArg(A) ::= NAME(B) ASSIGN STRING(C). { // Keyword argument +fConstArg(A) ::= NAME(B) ASSIGN STRING(C). { // Keyword argument C->data = B->data + "=" + C->data; C->type = TOKEN_TEMP; A = C; delete B; } +fArg(A) ::= fConstArg(B). { A = B; } +fArg(A) ::= fNonConstArg(B). { A = B; } -fArgs_nonEmpty(A) ::= fArg(B). { A = B; } -fArgs_nonEmpty(A) ::= fArgs_nonEmpty(B) COMMA fArg(C). { +fConstArgs_nonEmpty(A) ::= fConstArg(B). { A = B; } +fConstArgs_nonEmpty(A) ::= fConstArgs_nonEmpty(B) COMMA fConstArg(C). { + B->data = B->data + ", " + C->data; + B->type = TOKEN_TEMP; + A = B; + delete C; +} +fNonConstArgs_nonEmpty(A) ::= fNonConstArg(B). { A = B; } +fNonConstArgs_nonEmpty(A) ::= fConstArgs_nonEmpty(B) COMMA fNonConstArg(C). { + B->data = B->data + ", " + C->data; + B->type = TOKEN_TEMP; + A = B; + delete C; +} +fNonConstArgs_nonEmpty(A) ::= fNonConstArgs_nonEmpty(B) COMMA fArg(C). { B->data = B->data + ", " + C->data; B->type = TOKEN_TEMP; A = B; delete C; } +fArgs_nonEmpty(A) ::= fConstArgs_nonEmpty(B). { A = B; } +fArgs_nonEmpty(A) ::= fNonConstArgs_nonEmpty(B). { A = B; } fArgs(A) ::= . { A = genEmpty(); } fArgs(A) ::= fArgs_nonEmpty(B). { A = B; } @@ -611,7 +660,7 @@ funcexpr(out) ::= NAME(name) LPAREN fArgs(exprs) RPAREN. [FUNCCALL] { delete exprs; } -funcexpr(out) ::= expr(name) LPAREN fArgs(exprs) RPAREN. [FUNCCALL] { +funcexpr(out) ::= nonConstExpr(name) LPAREN fArgs(exprs) RPAREN. [FUNCCALL] { // If calling function imported from another module, add f_ prefix to function name. static std::regex prefixedFuncNameRegex("^[a-z][_a-zA-Z0-9]*"); std::string& nameStr = name->data; @@ -636,9 +685,15 @@ funcexpr(out) ::= expr(name) LPAREN fArgs(exprs) RPAREN. [FUNCCALL] { // Expressions -expr(A) ::= funcexpr(B). { A = B; } +nonConstExpr(A) ::= funcexpr(B). { A = B; } -expr(A) ::= LPAREN expr(B) RPAREN. { +constExpr(A) ::= LPAREN constLogicExpr(B) RPAREN. { + A = genEmpty(); + A->data = "(" + B->data + ")"; + A->type = TOKEN_EXPR; + A->subToken[0] = B; +} +nonConstExpr(A) ::= LPAREN logicExpr(B) RPAREN. { A = genEmpty(); A->data = "(" + B->data + ")"; A->type = TOKEN_EXPR; @@ -648,53 +703,53 @@ expr(A) ::= LPAREN expr(B) RPAREN. { commaSkippable ::= COMMA. commaSkippable ::= . -expr(A) ::= LSQBRACKET exprList_nonEmpty(B) commaSkippable RSQBRACKET. { +constExpr(A) ::= LSQBRACKET exprList_nonEmpty(B) commaSkippable RSQBRACKET. { B->data = "_ARR(FlattenList([" + B->data + "]))"; A = mkTokenTemp(B); } -expr(A) ::= L2V LPAREN expr(B) RPAREN. { +nonConstExpr(A) ::= L2V LPAREN expr(B) RPAREN. { B->data = "_L2V(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= MAPSTRING LPAREN STRING(B) RPAREN. { +constExpr(A) ::= MAPSTRING LPAREN STRING(B) RPAREN. { B->data = "GetStringIndex(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= UNIT LPAREN STRING(B) RPAREN. { +constExpr(A) ::= UNIT LPAREN STRING(B) RPAREN. { B->data = "EncodeUnit(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= SWITCH LPAREN STRING(B) RPAREN. { +constExpr(A) ::= SWITCH LPAREN STRING(B) RPAREN. { B->data = "EncodeSwitch(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= LOCATION LPAREN STRING(B) RPAREN. { +constExpr(A) ::= LOCATION LPAREN STRING(B) RPAREN. { B->data = "GetLocationIndex(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= STATTXTTBL LPAREN STRING(B) RPAREN. { +constExpr(A) ::= STATTXTTBL LPAREN STRING(B) RPAREN. { B->data = "EncodeTBL(" + B->data + ")"; A = mkTokenTemp(B); } -expr(A) ::= VARRAY LPAREN exprList_nonEmpty(B) commaSkippable RPAREN. { +constExpr(A) ::= VARRAY LPAREN exprList_nonEmpty(B) commaSkippable RPAREN. { B->data = "_VARR(FlattenList([" + B->data + "]))"; A = mkTokenTemp(B); } -expr(A) ::= LIST LPAREN exprList_nonEmpty(B) commaSkippable RPAREN. { +logicExpr(A) ::= LIST LPAREN exprList_nonEmpty(B) commaSkippable RPAREN. { B->data = "FlattenList([" + B->data + "])"; A = mkTokenTemp(B); } // Ternary operators -expr(A) ::= expr(L) QMARK expr(B) COLON expr(C). [QMARK] { +logicExpr(A) ::= logicExpr(L) QMARK expr(B) COLON expr(C). [QMARK] { std::stringstream ss; ss << "EUDTernary"; applyNegativeOptimization(ss, L); @@ -706,38 +761,158 @@ expr(A) ::= expr(L) QMARK expr(B) COLON expr(C). [QMARK] { } // Binary operators -expr(A) ::= expr(B) PLUS expr(C). { A = binopConcat(B, "+", C); } -expr(A) ::= expr(B) MINUS expr(C). { A = binopConcat(B, "-", C); } -expr(A) ::= expr(B) MULTIPLY expr(C). { A = binopConcat(B, "*", C); } -expr(A) ::= expr(B) DIVIDE expr(C). { A = binopConcat(B, "//", C); } -expr(A) ::= expr(B) MOD expr(C). { A = binopConcat(B, "%", C); } -expr(A) ::= expr(B) LSHIFT expr(C). { +constTerm(A) ::= constFactor(B). { A = B; } +constTerm(A) ::= constTerm(B) PLUS constFactor(C). { A = binopConcat(B, "+", C); } +constTerm(A) ::= constTerm(B) MINUS constFactor(C). { A = binopConcat(B, "-", C); } + +term(A) ::= factor(B). { A = B; } +term(A) ::= constFactor(B) PLUS factor(C). { A = binopConcat(B, "+", C); } +term(A) ::= term(B) PLUS constFactor(C). { A = binopConcat(B, "+", C); } +term(A) ::= term(B) PLUS factor(C). { A = binopConcat(B, "+", C); } +term(A) ::= constFactor(B) MINUS factor(C). { A = binopConcat(B, "-", C); } +term(A) ::= term(B) MINUS constFactor(C). { A = binopConcat(B, "-", C); } +term(A) ::= term(B) MINUS factor(C). { A = binopConcat(B, "-", C); } + +constFactor(A) ::= constExpr(B). { A = B; } +constFactor(A) ::= constFactor(B) MULTIPLY constExpr(C). { A = binopConcat(B, "*", C); } +constFactor(A) ::= constFactor(B) MOD constExpr(C). { A = binopConcat(B, "%", C); } +constFactor(A) ::= constFactor(B) DIVIDE constExpr(C). { A = binopConcat(B, "//", C); } + +factor(A) ::= nonConstExpr(B). { A = B; } +factor(A) ::= constExpr(B) MULTIPLY nonConstExpr(C). { A = binopConcat(B, "*", C); } +factor(A) ::= factor(B) MULTIPLY constExpr(C). { A = binopConcat(B, "*", C); } +factor(A) ::= factor(B) MULTIPLY nonConstExpr(C). { A = binopConcat(B, "*", C); } +factor(A) ::= constExpr(B) DIVIDE nonConstExpr(C). { A = binopConcat(B, "//", C); } +factor(A) ::= factor(B) DIVIDE constExpr(C). { A = binopConcat(B, "//", C); } +factor(A) ::= factor(B) DIVIDE nonConstExpr(C). { A = binopConcat(B, "//", C); } +factor(A) ::= constExpr(B) MOD nonConstExpr(C). { A = binopConcat(B, "%", C); } +factor(A) ::= factor(B) MOD constExpr(C). { A = binopConcat(B, "%", C); } +factor(A) ::= factor(B) MOD nonConstExpr(C). { A = binopConcat(B, "%", C); } + +constShTerm(A) ::= constTerm(B). { A = B; } +constShTerm(A) ::= constShTerm(B) RSHIFT constTerm(C). { A = binopConcat(B, ">>", C); } +constShTerm(A) ::= constShTerm(B) LSHIFT constTerm(C). { + C->data = "_LSH(" + B->data + "," + C->data + ")"; + delete B; + A = mkTokenTemp(C); +} +shTerm(A) ::= term(B). { A = B; } +shTerm(A) ::= constTerm(B) RSHIFT term(C). { A = binopConcat(B, ">>", C); } +shTerm(A) ::= shTerm(B) RSHIFT term(C). { A = binopConcat(B, ">>", C); } +shTerm(A) ::= shTerm(B) RSHIFT constTerm(C). { A = binopConcat(B, ">>", C); } +shTerm(A) ::= constTerm(B) LSHIFT term(C). { + C->data = "f_bitlshift(" + B->data + "," + C->data + ")"; + delete B; + A = mkTokenTemp(C); +} +shTerm(A) ::= shTerm(B) LSHIFT constTerm(C). { + C->data = "_LSH(" + B->data + "," + C->data + ")"; + delete B; + A = mkTokenTemp(C); +} +shTerm(A) ::= shTerm(B) LSHIFT term(C). { C->data = "_LSH(" + B->data + "," + C->data + ")"; delete B; A = mkTokenTemp(C); } -expr(A) ::= expr(B) RSHIFT expr(C). { A = binopConcat(B, ">>", C); } -expr(A) ::= expr(B) BITAND expr(C). { A = binopConcat(B, "&", C); } -expr(A) ::= expr(B) BITOR expr(C). { A = binopConcat(B, "|", C); } -expr(A) ::= expr(B) BITXOR expr(C). { A = binopConcat(B, "^", C); } -// Unary operators -expr(A) ::= PLUS expr(B). [UNARY] { B->data = "+" + B->data; A = mkTokenTemp(B); } -expr(A) ::= MINUS expr(B). [UNARY] { B->data = "-" + B->data; A = mkTokenTemp(B); } -expr(A) ::= BITNOT expr(B). [UNARY] { B->data = "~" + B->data; A = mkTokenTemp(B); } +constBitAndTerm(A) ::= constShTerm(B). { A = B; } +constBitAndTerm(A) ::= constBitAndTerm(B) BITAND constShTerm(C). { A = binopConcat(B, "&", C); } +bitAndTerm(A) ::= shTerm(B). { A = B; } +bitAndTerm(A) ::= constShTerm(B) BITAND shTerm(C). { A = binopConcat(B, "&", C); } +bitAndTerm(A) ::= bitAndTerm(B) BITAND shTerm(C). { A = binopConcat(B, "&", C); } +bitAndTerm(A) ::= bitAndTerm(B) BITAND constShTerm(C). { A = binopConcat(B, "&", C); } +constBitXorTerm(A) ::= constBitAndTerm(B). { A = B; } +constBitXorTerm(A) ::= constBitXorTerm(B) BITXOR constBitAndTerm(C). { A = binopConcat(B, "^", C); } +bitXorTerm(A) ::= bitAndTerm(B). { A = B; } +bitXorTerm(A) ::= constBitAndTerm(B) BITXOR bitAndTerm(C). { A = binopConcat(B, "^", C); } +bitXorTerm(A) ::= bitXorTerm(B) BITXOR constBitAndTerm(C). { A = binopConcat(B, "^", C); } +bitXorTerm(A) ::= bitXorTerm(B) BITXOR bitAndTerm(C). { A = binopConcat(B, "^", C); } +constBitOrTerm(A) ::= constBitXorTerm(B). { A = B; } +constBitOrTerm(A) ::= constBitOrTerm(B) BITOR constBitXorTerm(C). { A = binopConcat(B, "|", C); } +bitOrTerm(A) ::= bitXorTerm(B). { A = B; } +bitOrTerm(A) ::= constBitXorTerm(B) BITOR bitXorTerm(C). { A = binopConcat(B, "|", C); } +bitOrTerm(A) ::= bitOrTerm(B) BITOR bitXorTerm(C). { A = binopConcat(B, "|", C); } +bitOrTerm(A) ::= bitOrTerm(B) BITOR constBitXorTerm(C). { A = binopConcat(B, "|", C); } -expr(A) ::= expr(B) EQ expr(C). { A = binopConcat(B, "==", C); } -expr(A) ::= expr(B) NE expr(C). { A = negate(binopConcat(B, "==", C)); } -expr(A) ::= expr(B) LE expr(C). { A = binopConcat(B, "<=", C); } -expr(A) ::= expr(B) GE expr(C). { A = binopConcat(B, ">=", C); } +// Unary operators +constExpr(A) ::= PLUS constExpr(B). [UNARY] { B->data = "+" + B->data; A = mkTokenTemp(B); } +nonConstExpr(A) ::= PLUS nonConstExpr(B). [UNARY] { B->data = "+" + B->data; A = mkTokenTemp(B); } +constExpr(A) ::= MINUS constExpr(B). [UNARY] { B->data = "-" + B->data; A = mkTokenTemp(B); } +nonConstExpr(A) ::= MINUS nonConstExpr(B). [UNARY] { B->data = "-" + B->data; A = mkTokenTemp(B); } +constExpr(A) ::= BITNOT constExpr(B). [UNARY] { B->data = "~" + B->data; A = mkTokenTemp(B); } +nonConstExpr(A) ::= BITNOT nonConstExpr(B). [UNARY] { B->data = "~" + B->data; A = mkTokenTemp(B); } +constExpr(A) ::= LNOT constExpr(B). [UNARY] { A = negate(B); } +nonConstExpr(A) ::= LNOT nonConstExpr(B). [UNARY] { A = negate(B); } + + + +constEqExpr(A) ::= constBitOrTerm(B). { A = B; } +constEqExpr(A) ::= constBitOrTerm(B) EQ constBitOrTerm(C). { A = binopConcat(B, "==", C); } +constEqExpr(A) ::= constBitOrTerm(B) NE constBitOrTerm(C). { A = negate(binopConcat(B, "==", C)); } +eqExpr(A) ::= bitOrTerm(B). { A = B; } +eqExpr(A) ::= constBitOrTerm(B) EQ bitOrTerm(C). { A = binopConcat(B, "==", C); } +eqExpr(A) ::= bitOrTerm(B) EQ constBitOrTerm(C). { A = binopConcat(B, "==", C); } +eqExpr(A) ::= bitOrTerm(B) EQ bitOrTerm(C). { A = binopConcat(B, "==", C); } +eqExpr(A) ::= constBitOrTerm(B) NE bitOrTerm(C). { A = negate(binopConcat(B, "==", C)); } +eqExpr(A) ::= bitOrTerm(B) NE constBitOrTerm(C). { A = negate(binopConcat(B, "==", C)); } +eqExpr(A) ::= bitOrTerm(B) NE bitOrTerm(C). { A = negate(binopConcat(B, "==", C)); } + +constCompExpr(A) ::= constEqExpr(B). { A = B; } +constCompExpr(A) ::= constEqExpr(B) LE constEqExpr(C). { A = binopConcat(B, "<=", C); } +constCompExpr(A) ::= constEqExpr(B) GE constEqExpr(C). { A = binopConcat(B, ">=", C); } +constCompExpr(A) ::= constEqExpr(B) LT constEqExpr(C). { A = negate(binopConcat(B, ">=", C)); } +constCompExpr(A) ::= constEqExpr(B) GT constEqExpr(C). { A = negate(binopConcat(B, "<=", C)); } +compExpr(A) ::= eqExpr(B). { A = B; } +compExpr(A) ::= constEqExpr(B) LE eqExpr(C). { A = binopConcat(B, "<=", C); } +compExpr(A) ::= eqExpr(B) LE constEqExpr(C). { A = binopConcat(B, "<=", C); } +compExpr(A) ::= eqExpr(B) LE eqExpr(C). { A = binopConcat(B, "<=", C); } +compExpr(A) ::= constEqExpr(B) GE eqExpr(C). { A = binopConcat(B, ">=", C); } +compExpr(A) ::= eqExpr(B) GE constEqExpr(C). { A = binopConcat(B, ">=", C); } +compExpr(A) ::= eqExpr(B) GE eqExpr(C). { A = binopConcat(B, ">=", C); } +compExpr(A) ::= constEqExpr(B) LT eqExpr(C). { A = negate(binopConcat(B, ">=", C)); } +compExpr(A) ::= eqExpr(B) LT constEqExpr(C). { A = negate(binopConcat(B, ">=", C)); } +compExpr(A) ::= eqExpr(B) LT eqExpr(C). { A = negate(binopConcat(B, ">=", C)); } +compExpr(A) ::= constEqExpr(B) GT eqExpr(C). { A = negate(binopConcat(B, "<=", C)); } +compExpr(A) ::= eqExpr(B) GT constEqExpr(C). { A = negate(binopConcat(B, "<=", C)); } +compExpr(A) ::= eqExpr(B) GT eqExpr(C). { A = negate(binopConcat(B, "<=", C)); } + +constLogicAndExpr(A) ::= constCompExpr(B). { A = B; } +logicAndExpr(A) ::= compExpr(B). { A = B; } +logicAndExpr(A) ::= logicAndExpr(B) LAND compExpr(C). { + A = genEmpty(); + A->line = C->line; + + // Generate data! + A->type = TOKEN_LAND; + A->subToken[0] = B; + A->subToken[1] = C; + + std::stringstream ss; + ss << "EUDSCAnd()"; + shortCircuitCondListGetter(ss, A, TOKEN_LAND); + ss << "()"; + A->data = ss.str(); +} +logicAndExpr(A) ::= logicAndExpr(B) LAND constCompExpr(C). { + A = genEmpty(); + A->line = C->line; -expr(A) ::= expr(B) LT expr(C). { A = negate(binopConcat(B, ">=", C)); } -expr(A) ::= expr(B) GT expr(C). { A = negate(binopConcat(B, "<=", C)); } + // Generate data! + A->type = TOKEN_LAND; + A->subToken[0] = B; + A->subToken[1] = C; -expr(A) ::= expr(B) LAND expr(C). { + std::stringstream ss; + ss << "EUDSCAnd()"; + shortCircuitCondListGetter(ss, A, TOKEN_LAND); + ss << "()"; + A->data = ss.str(); +} +logicAndExpr(A) ::= constCompExpr(B) LAND compExpr(C). { A = genEmpty(); A->line = C->line; @@ -753,8 +928,10 @@ expr(A) ::= expr(B) LAND expr(C). { A->data = ss.str(); } +constLogicExpr(A) ::= constLogicAndExpr(B). { A = B; } +logicExpr(A) ::= logicAndExpr(B). { A = B; } // OR operation is very costly, so we make some deliberate choice! -expr(A) ::= expr(B) LOR expr(C). { +logicExpr(A) ::= logicExpr(B) LOR logicAndExpr(C). { A = genEmpty(); A->line = C->line; @@ -769,8 +946,36 @@ expr(A) ::= expr(B) LOR expr(C). { ss << "()"; A->data = ss.str(); } +logicExpr(A) ::= logicExpr(B) LOR constLogicExpr(C). { + A = genEmpty(); + A->line = C->line; + + // Generate data! + A->type = TOKEN_LOR; + A->subToken[0] = B; + A->subToken[1] = C; -expr(A) ::= LNOT expr(B). { A = negate(B); } + std::stringstream ss; + ss << "EUDSCOr()"; + shortCircuitCondListGetter(ss, A, TOKEN_LOR); + ss << "()"; + A->data = ss.str(); +} +logicExpr(A) ::= constLogicAndExpr(B) LOR logicAndExpr(C). { + A = genEmpty(); + A->line = C->line; + + // Generate data! + A->type = TOKEN_LOR; + A->subToken[0] = B; + A->subToken[1] = C; + + std::stringstream ss; + ss << "EUDSCOr()"; + shortCircuitCondListGetter(ss, A, TOKEN_LOR); + ss << "()"; + A->data = ss.str(); +} // Statements @@ -905,13 +1110,18 @@ lvalue(A) ::= NAME(B). { A = B; } -lvalue(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET. [SUBSCRIPT] { +lvalue(A) ::= nonConstExpr(B) LSQBRACKET expr(C) RSQBRACKET. [SUBSCRIPT] { C->data = "_ARRW(" + B->data + ", " + C->data + ")"; A = mkTokenTemp(C); delete B; } -lvalue(A) ::= expr(B) PERIOD NAME(C). [MEMBER] { +lvalue(A) ::= nonConstExpr(B) PERIOD NAME(C). [MEMBER] { + C->data = "_ATTW(" + B->data + ", '" + C->data + "')"; + A = mkTokenTemp(C); + delete B; +} +lvalue(A) ::= nonConstExpr(B) PERIOD TRGCONST(C). [MEMBER] { C->data = "_ATTW(" + B->data + ", '" + C->data + "')"; A = mkTokenTemp(C); delete B; @@ -1225,25 +1435,62 @@ return_stmt ::= RETURN(X) exprList(exprs). { // Trigger statements -expr(A) ::= CONDITIONNAME(B) LPAREN fArgs(C) RPAREN. { +logicExpr(A) ::= CONDITIONNAME(B) LPAREN fArgs(C) RPAREN. { B->data = B->data + "(" + C->data + ")"; delete C; A = mkTokenTemp(B); } -expr(A) ::= KILLS(B) LPAREN fArgs(C) RPAREN. { +logicExpr(A) ::= KILLS(B) LPAREN fArgs(C) RPAREN. { B->data = B->data + "(" + C->data + ")"; delete C; A = mkTokenTemp(B); } -actionStmt ::= ACTIONNAME(A) LPAREN fArgs(B) RPAREN SEMICOLON. { +actionStmt ::= ACTIONNAME(A) LPAREN fNonConstArgs_nonEmpty(B) RPAREN SEMICOLON. { writeTraceInfo(ps->gen, A); ps->gen << "DoActions(" << A->data << "(" << B->data << "))" << std::endl; delete A; delete B; } -expr(A) ::= ACTIONNAME(B) LPAREN fArgs(C) RPAREN. { +constAction(A) ::= ACTIONNAME(B) LPAREN fConstArgs_nonEmpty(C) RPAREN SEMICOLON. { + B->data = B->data + "(" + C->data + "),\n"; + delete C; + A = mkTokenTemp(B); +} +constAction(A) ::= ACTIONNAME(B) LPAREN RPAREN SEMICOLON. { + B->data = B->data + "(),\n"; + A = mkTokenTemp(B); +} +constActionList(A) ::= constAction(B). { A = B; } +constActionList(A) ::= constActionList(B) constAction(C). { + B->data = B->data + C->data; + A = B; + delete C; +} +actionStmt ::= constActionList(C) ACTIONNAME(A) LPAREN fNonConstArgs_nonEmpty(B) RPAREN SEMICOLON. { + writeTraceInfo(ps->gen, C); + ps->gen << "DoActions(" << std::endl; + ps->gen.indent(); + ps->gen << C->data; + ps->gen.unindent(false); + ps->gen << ")" << std::endl; + delete C; + writeTraceInfo(ps->gen, A); + ps->gen << "DoActions(" << A->data << "(" << B->data << "))" << std::endl; + delete A; delete B; +} +actionStmt ::= constActionList(A). { + writeTraceInfo(ps->gen, A); + ps->gen << "DoActions(" << std::endl; + ps->gen.indent(); + ps->gen << A->data; + ps->gen.unindent(false); + ps->gen << ")" << std::endl; + delete A; +} + +constExpr(A) ::= ACTIONNAME(B) LPAREN fArgs(C) RPAREN. { B->data = B->data + "(" + C->data + ")"; delete C; A = mkTokenTemp(B); diff --git a/eudplib/epscript/cpp/parser/epparser.out b/eudplib/epscript/cpp/parser/epparser.out index 853e7cee..2397b287 100644 --- a/eudplib/epscript/cpp/parser/epparser.out +++ b/eudplib/epscript/cpp/parser/epparser.out @@ -4,19 +4,25 @@ State 0: chunks ::= * chunks chunk chunks ::= * chunks error + $ reduce 1 + IMPORT reduce 1 + FUNCTION reduce 1 + OBJECT reduce 1 + LBRACKET reduce 1 + VAR reduce 1 + CONST reduce 1 program accept - chunks shift 18 - {default} reduce 1 + chunks shift 84 State 1: - method_chunk ::= method_header * stmt - stmt ::= * error SEMICOLON - stmt ::= * bodyStmt lbracket ::= * LBRACKET blockStmt ::= * blockStmtSub rbracket blockStmt ::= * lbracket error RBRACKET + blockStmt ::= lbracket * error RBRACKET blockStmtSub ::= * lbracket + (45) blockStmtSub ::= lbracket * blockStmtSub ::= * lbracket bodyStmtList + blockStmtSub ::= lbracket * bodyStmtList bodyStmt ::= * blockStmt bodyStmt ::= * SEMICOLON bodyStmt ::= * vdef_stmt SEMICOLON @@ -35,58 +41,32 @@ State 1: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + bodyStmtList ::= * bodyStmt + bodyStmtList ::= * bodyStmtList bodyStmt + bodyStmtList ::= * bodyStmtList error + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -136,94 +116,87 @@ State 1: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 302 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 45 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 595 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 348 + lbracket shift 1 + blockStmtSub shift 170 + bodyStmtList shift 17 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 2: - fdef_chunk ::= fdef_header * stmt + method_chunk ::= method_header * stmt stmt ::= * error SEMICOLON stmt ::= * bodyStmt lbracket ::= * LBRACKET @@ -249,58 +222,29 @@ State 2: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -350,93 +294,86 @@ State 2: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 306 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 403 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 3: + fdef_chunk ::= fdef_header * stmt stmt ::= * error SEMICOLON stmt ::= * bodyStmt lbracket ::= * LBRACKET @@ -462,58 +399,29 @@ State 3: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -544,7 +452,6 @@ State 3: if_block ::= * if_block elif_header RPAREN stmt if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt - if_stmt ::= if_block else_header * stmt switchcase_header ::= * SWITCHCASE LPAREN expr switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks @@ -564,91 +471,83 @@ State 3: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 318 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 374 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 4: stmt ::= * error SEMICOLON @@ -676,58 +575,29 @@ State 4: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -758,6 +628,7 @@ State 4: if_block ::= * if_block elif_header RPAREN stmt if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt + if_stmt ::= if_block else_header * stmt switchcase_header ::= * SWITCHCASE LPAREN expr switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks @@ -774,95 +645,86 @@ State 4: foreach_opener ::= * FOREACH LPAREN foreach_header ::= * foreach_opener nameList_nonEmpty COLON exprList_nonEmpty foreach_stmt ::= * foreach_header RPAREN stmt - foreach_stmt ::= foreach_header RPAREN * stmt continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 327 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 171 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 5: stmt ::= * error SEMICOLON @@ -890,58 +752,29 @@ State 5: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -985,98 +818,90 @@ State 5: for_header2 ::= * for_header1 expr SEMICOLON for_header ::= * for_header2 for_action_stmt for_stmt ::= * for_header RPAREN stmt - for_stmt ::= for_header RPAREN * stmt foreach_opener ::= * FOREACH LPAREN foreach_header ::= * foreach_opener nameList_nonEmpty COLON exprList_nonEmpty foreach_stmt ::= * foreach_header RPAREN stmt + foreach_stmt ::= foreach_header RPAREN * stmt continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 329 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 178 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 6: stmt ::= * error SEMICOLON @@ -1104,58 +929,29 @@ State 6: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -1194,103 +990,95 @@ State 6: while_start ::= * WHILE while_header ::= * while_start LPAREN expr while_stmt ::= * while_header RPAREN stmt - while_stmt ::= while_header RPAREN * stmt for_opener ::= * FOR LPAREN for_header1 ::= * for_opener for_init_stmt SEMICOLON for_header2 ::= * for_header1 expr SEMICOLON for_header ::= * for_header2 for_action_stmt for_stmt ::= * for_header RPAREN stmt + for_stmt ::= for_header RPAREN * stmt foreach_opener ::= * FOREACH LPAREN foreach_header ::= * foreach_opener nameList_nonEmpty COLON exprList_nonEmpty foreach_stmt ::= * foreach_header RPAREN stmt continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 342 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 179 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 7: stmt ::= * error SEMICOLON @@ -1318,58 +1106,29 @@ State 7: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -1398,7 +1157,6 @@ State 7: if_header ::= * if_start LPAREN expr if_block ::= * if_header RPAREN stmt if_block ::= * if_block elif_header RPAREN stmt - if_block ::= if_block elif_header RPAREN * stmt if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr @@ -1409,6 +1167,7 @@ State 7: while_start ::= * WHILE while_header ::= * while_start LPAREN expr while_stmt ::= * while_header RPAREN stmt + while_stmt ::= while_header RPAREN * stmt for_opener ::= * FOR LPAREN for_header1 ::= * for_opener for_init_stmt SEMICOLON for_header2 ::= * for_header1 expr SEMICOLON @@ -1420,91 +1179,83 @@ State 7: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 348 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 180 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 8: stmt ::= * error SEMICOLON @@ -1532,58 +1283,29 @@ State 8: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -1611,8 +1333,8 @@ State 8: if_start ::= * IF if_header ::= * if_start LPAREN expr if_block ::= * if_header RPAREN stmt - if_block ::= if_header RPAREN * stmt if_block ::= * if_block elif_header RPAREN stmt + if_block ::= if_block elif_header RPAREN * stmt if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr @@ -1634,91 +1356,83 @@ State 8: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 350 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 182 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 9: stmt ::= * error SEMICOLON @@ -1746,58 +1460,29 @@ State 9: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -1821,11 +1506,11 @@ State 9: once_block ::= * once_header RPAREN stmt once_nocond ::= * once_start once_block ::= * once_nocond stmt - once_block ::= once_nocond * stmt once_stmt ::= * once_block if_start ::= * IF if_header ::= * if_start LPAREN expr if_block ::= * if_header RPAREN stmt + if_block ::= if_header RPAREN * stmt if_block ::= * if_block elif_header RPAREN stmt if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt @@ -1848,91 +1533,83 @@ State 9: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 353 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 183 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 10: stmt ::= * error SEMICOLON @@ -1960,58 +1637,29 @@ State 10: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -2033,9 +1681,9 @@ State 10: once_start ::= * ONCE once_header ::= * once_start LPAREN expr once_block ::= * once_header RPAREN stmt - once_block ::= once_header RPAREN * stmt once_nocond ::= * once_start once_block ::= * once_nocond stmt + once_block ::= once_nocond * stmt once_stmt ::= * once_block if_start ::= * IF if_header ::= * if_start LPAREN expr @@ -2062,101 +1710,92 @@ State 10: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 354 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 185 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 11: + stmt ::= * error SEMICOLON + stmt ::= * bodyStmt lbracket ::= * LBRACKET blockStmt ::= * blockStmtSub rbracket blockStmt ::= * lbracket error RBRACKET - blockStmt ::= lbracket * error RBRACKET blockStmtSub ::= * lbracket - (40) blockStmtSub ::= lbracket * blockStmtSub ::= * lbracket bodyStmtList - blockStmtSub ::= lbracket * bodyStmtList bodyStmt ::= * blockStmt bodyStmt ::= * SEMICOLON bodyStmt ::= * vdef_stmt SEMICOLON @@ -2175,61 +1814,29 @@ State 11: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - bodyStmtList ::= * bodyStmt - bodyStmtList ::= * bodyStmtList bodyStmt - bodyStmtList ::= * bodyStmtList error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -2251,6 +1858,7 @@ State 11: once_start ::= * ONCE once_header ::= * once_start LPAREN expr once_block ::= * once_header RPAREN stmt + once_block ::= once_header RPAREN * stmt once_nocond ::= * once_start once_block ::= * once_nocond stmt once_stmt ::= * once_block @@ -2279,92 +1887,83 @@ State 11: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 275 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 345 - lbracket shift 11 - blockStmtSub shift 118 - bodyStmtList shift 17 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 40 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 186 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 12: stmt ::= * error SEMICOLON @@ -2392,59 +1991,30 @@ State 12: bodyStmt ::= * continue_stmt SEMICOLON bodyStmt ::= * break_stmt SEMICOLON bodyStmt ::= * return_stmt SEMICOLON - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - expr ::= lambdaExprStart * stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + constExpr ::= lambdaExprStart * stmt funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -2494,91 +2064,83 @@ State 12: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 276 - vdef_stmt shift 274 - blockStmt shift 399 - stmt shift 317 - bodyStmt shift 404 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 596 + vdef_stmt shift 594 + blockStmt shift 204 + stmt shift 232 + bodyStmt shift 208 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 13: lbracket ::= * LBRACKET @@ -2606,58 +2168,29 @@ State 13: bodyStmt ::= * return_stmt SEMICOLON bodyStmtList ::= bodyStmtList * bodyStmt bodyStmtList ::= bodyStmtList * error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -2689,7 +2222,7 @@ State 13: if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr - (184) default_chunk ::= default_clause bodyStmtList * + (274) case_chunk ::= case_clause bodyStmtList * switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks switchcase_block ::= * switchcase_header RPAREN LBRACKET @@ -2708,91 +2241,85 @@ State 13: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 380 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 381 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 184 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 274 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + CASE reduce 274 + DEFAULT reduce 274 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 350 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 351 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 14: lbracket ::= * LBRACKET @@ -2821,58 +2348,29 @@ State 14: bodyStmtList ::= * bodyStmt bodyStmtList ::= * bodyStmtList bodyStmt bodyStmtList ::= * bodyStmtList error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -2904,8 +2402,8 @@ State 14: if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr - (183) default_chunk ::= default_clause * - default_chunk ::= default_clause * bodyStmtList + (273) case_chunk ::= case_clause * + case_chunk ::= case_clause * bodyStmtList switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks switchcase_block ::= * switchcase_header RPAREN LBRACKET @@ -2924,91 +2422,85 @@ State 14: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 345 - lbracket shift 11 - blockStmtSub shift 118 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 273 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + CASE reduce 273 + DEFAULT reduce 273 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 348 + lbracket shift 1 + blockStmtSub shift 170 bodyStmtList shift 13 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 183 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 15: lbracket ::= * LBRACKET @@ -3036,58 +2528,29 @@ State 15: bodyStmt ::= * return_stmt SEMICOLON bodyStmtList ::= bodyStmtList * bodyStmt bodyStmtList ::= bodyStmtList * error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -3119,7 +2582,7 @@ State 15: if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr - (179) case_chunk ::= case_clause bodyStmtList * + (279) default_chunk ::= default_clause bodyStmtList * switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks switchcase_block ::= * switchcase_header RPAREN LBRACKET @@ -3138,91 +2601,83 @@ State 15: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 380 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 381 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 179 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 279 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 350 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 351 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 16: lbracket ::= * LBRACKET @@ -3251,58 +2706,29 @@ State 16: bodyStmtList ::= * bodyStmt bodyStmtList ::= * bodyStmtList bodyStmt bodyStmtList ::= * bodyStmtList error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -3334,8 +2760,8 @@ State 16: if_stmt ::= * if_block if_stmt ::= * if_block else_header stmt switchcase_header ::= * SWITCHCASE LPAREN expr - (178) case_chunk ::= case_clause * - case_chunk ::= case_clause * bodyStmtList + (278) default_chunk ::= default_clause * + default_chunk ::= default_clause * bodyStmtList switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks default_chunk switchcase_block ::= * switchcase_header RPAREN LBRACKET case_chunks switchcase_block ::= * switchcase_header RPAREN LBRACKET @@ -3354,91 +2780,83 @@ State 16: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 345 - lbracket shift 11 - blockStmtSub shift 118 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 278 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 348 + lbracket shift 1 + blockStmtSub shift 170 bodyStmtList shift 15 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 178 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 17: lbracket ::= * LBRACKET @@ -3446,7 +2864,7 @@ State 17: blockStmt ::= * lbracket error RBRACKET blockStmtSub ::= * lbracket blockStmtSub ::= * lbracket bodyStmtList - (41) blockStmtSub ::= lbracket bodyStmtList * + (46) blockStmtSub ::= lbracket bodyStmtList * bodyStmt ::= * blockStmt bodyStmt ::= * SEMICOLON bodyStmt ::= * vdef_stmt SEMICOLON @@ -3467,58 +2885,29 @@ State 17: bodyStmt ::= * return_stmt SEMICOLON bodyStmtList ::= bodyStmtList * bodyStmt bodyStmtList ::= bodyStmtList * error - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET funcexprStmt ::= * funcexpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr vdef_stmt ::= * VAR nameList_nonEmpty vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty vdefAssignStatic_stmt ::= * STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST lvalueList_nonEmpty ::= * lvalue lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue assign_stmt ::= * lvalue ASSIGN expr @@ -3568,10099 +2957,26841 @@ State 17: continue_stmt ::= * CONTINUE break_stmt ::= * BREAK return_stmt ::= * RETURN exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= * ACTIONNAME LPAREN fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - SEMICOLON shift 398 - NAME shift 157 - FUNCTION shift 278 - LBRACKET shift 403 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - STATIC shift 231 - CONST shift 111 - INC shift 37 - DEC shift 36 - ONCE shift 355 - IF shift 351 - SWITCHCASE shift 220 - WHILE shift 343 - FOR shift 214 - FOREACH shift 209 - CONTINUE shift 326 - BREAK shift 325 - RETURN shift 29 - CONDITIONNAME shift 239 - ACTIONNAME shift 205 - error shift 380 - vdef_stmt shift 274 - blockStmt shift 399 - bodyStmt shift 381 - lbracket shift 11 - blockStmtSub shift 118 - vdefAssignStatic_stmt shift 273 - vdefAssign_stmt shift 272 - cdef_stmt shift 271 - assign_stmt shift 270 - funcexprStmt shift 269 - actionStmt shift 391 - once_stmt shift 390 - if_stmt shift 389 - while_stmt shift 388 - for_stmt shift 387 - foreach_stmt shift 386 - switchcase_stmt shift 385 - continue_stmt shift 268 - break_stmt shift 267 - return_stmt shift 266 - expr shift 143 - funcexpr shift 168 - lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - once_start shift 227 - once_header shift 226 - once_block shift 352 - once_nocond shift 9 - if_start shift 225 - if_header shift 224 - if_block shift 98 - switchcase_header shift 219 - switchcase_block shift 217 - while_start shift 216 - while_header shift 215 - for_opener shift 19 - for_header1 shift 49 - for_header2 shift 21 - for_header shift 210 - foreach_opener shift 110 - foreach_header shift 207 - {default} reduce 41 + actionStmt ::= * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= * constAction + constActionList ::= * constActionList constAction + actionStmt ::= * constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + actionStmt ::= * constActionList + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON shift 203 + NAME shift 367 + LBRACKET shift 353 + VAR shift 168 + RBRACKET reduce 46 + L2V shift 580 + STATIC shift 547 + CONST shift 166 + INC shift 134 + DEC shift 133 + ONCE shift 361 + IF shift 544 + SWITCHCASE shift 536 + WHILE shift 531 + FOR shift 527 + FOREACH shift 522 + CONTINUE shift 519 + BREAK shift 518 + RETURN shift 25 + ACTIONNAME shift 516 + error shift 350 + vdef_stmt shift 594 + blockStmt shift 204 + bodyStmt shift 351 + lbracket shift 1 + blockStmtSub shift 170 + vdefAssignStatic_stmt shift 593 + vdefAssign_stmt shift 592 + cdef_stmt shift 591 + assign_stmt shift 590 + funcexprStmt shift 589 + actionStmt shift 196 + once_stmt shift 195 + if_stmt shift 194 + while_stmt shift 193 + for_stmt shift 192 + foreach_stmt shift 191 + switchcase_stmt shift 190 + continue_stmt shift 588 + break_stmt shift 587 + return_stmt shift 586 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + once_start shift 360 + once_header shift 545 + once_block shift 184 + once_nocond shift 10 + if_start shift 543 + if_header shift 541 + if_block shift 130 + switchcase_header shift 534 + switchcase_block shift 532 + while_start shift 530 + while_header shift 528 + for_opener shift 97 + for_header1 shift 42 + for_header2 shift 108 + for_header shift 523 + foreach_opener shift 165 + foreach_header shift 520 + constAction shift 174 + constActionList shift 156 State 18: - (0) program ::= chunks * - chunks ::= chunks * chunk - chunks ::= chunks * error - chunk ::= * relimp_chunk - chunk ::= * import_chunk SEMICOLON - chunk ::= * fdef_chunk - chunk ::= * fdecl_chunk - chunk ::= * object_chunk - chunk ::= * vdef_stmt SEMICOLON - chunk ::= * vdefAssign_global_stmt SEMICOLON - chunk ::= * cdef_global_stmt SEMICOLON - chunk ::= * blockStmt - relimp_start ::= * IMPORT PERIOD - relimp_start ::= * relimp_start PERIOD - relimp_path ::= * relimp_start NAME - relimp_path ::= * relimp_path PERIOD NAME - relimp_chunk ::= * relimp_path SEMICOLON - relimp_chunk ::= * relimp_path AS NAME SEMICOLON - import_chunk ::= * IMPORT dottedName AS NAME - import_chunk ::= * IMPORT dottedName - fdef_header ::= * FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes - fdef_chunk ::= * fdef_header stmt - fdecl_chunk ::= * FUNCTION NAME LPAREN typedNameList RPAREN SEMICOLON - object_body ::= * OBJECT NAME LBRACKET - object_body ::= * object_body VAR typedNameList_nonEmpty SEMICOLON - object_body ::= * object_body method_chunk - object_chunk ::= * object_body RBRACKET SEMICOLON - lbracket ::= * LBRACKET - blockStmt ::= * blockStmtSub rbracket - blockStmt ::= * lbracket error RBRACKET - blockStmtSub ::= * lbracket - blockStmtSub ::= * lbracket bodyStmtList - vdef_stmt ::= * VAR nameList_nonEmpty - vdefAssign_global_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty - cdef_global_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty - - $ reduce 0 - IMPORT shift 105 - FUNCTION shift 290 - OBJECT shift 196 - LBRACKET shift 403 - VAR shift 107 - CONST shift 106 - error shift 427 - chunk shift 428 - relimp_chunk shift 426 - import_chunk shift 299 - fdef_chunk shift 424 - fdecl_chunk shift 423 - object_chunk shift 422 - vdef_stmt shift 298 - vdefAssign_global_stmt shift 297 - cdef_global_stmt shift 296 - blockStmt shift 418 - relimp_start shift 186 - relimp_path shift 175 - fdef_header shift 2 - object_body shift 101 - lbracket shift 11 - blockStmtSub shift 118 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg + fArgs_nonEmpty ::= * fConstArgs_nonEmpty + fArgs_nonEmpty ::= * fNonConstArgs_nonEmpty + (109) fArgs ::= * + fArgs ::= * fArgs_nonEmpty + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= CONDITIONNAME LPAREN * fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 109 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 485 + fNonConstArgs_nonEmpty shift 481 + fArgs_nonEmpty shift 555 + fArgs shift 554 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 19: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg + fArgs_nonEmpty ::= * fConstArgs_nonEmpty + fArgs_nonEmpty ::= * fNonConstArgs_nonEmpty + (109) fArgs ::= * + fArgs ::= * fArgs_nonEmpty funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - vdef_stmt ::= * VAR nameList_nonEmpty - vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty - cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - lvalueList_nonEmpty ::= * lvalue - lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue - assign_stmt ::= * lvalue ASSIGN expr - assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty - assign_stmt ::= * INC lvalue - assign_stmt ::= * lvalue INC - assign_stmt ::= * DEC lvalue - assign_stmt ::= * lvalue DEC - assign_stmt ::= * lvalue IADD expr - assign_stmt ::= * lvalue ISUB expr - assign_stmt ::= * lvalue IMUL expr - assign_stmt ::= * lvalue IDIV expr - assign_stmt ::= * lvalue IMOD expr - assign_stmt ::= * lvalue ILSH expr - assign_stmt ::= * lvalue IRSH expr - assign_stmt ::= * lvalue IBND expr - assign_stmt ::= * lvalue IBOR expr - assign_stmt ::= * lvalue IBXR expr - for_init_stmt_nonEmpty ::= * vdef_stmt - for_init_stmt_nonEmpty ::= * vdefAssign_stmt - for_init_stmt_nonEmpty ::= * cdef_stmt - for_init_stmt_nonEmpty ::= * assign_stmt - for_init_stmt_nonEmpty ::= * for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty - for_init_stmt ::= * for_init_stmt_nonEmpty - (199) for_init_stmt ::= * - for_header1 ::= for_opener * for_init_stmt SEMICOLON - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONST shift 111 - INC shift 37 - DEC shift 36 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - vdef_stmt shift 340 - vdefAssign_stmt shift 339 - cdef_stmt shift 338 - assign_stmt shift 337 - expr shift 143 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + constExpr ::= ACTIONNAME LPAREN * fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 109 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - for_init_stmt_nonEmpty shift 213 - for_init_stmt shift 212 - {default} reduce 199 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 485 + fNonConstArgs_nonEmpty shift 481 + fArgs_nonEmpty shift 555 + fArgs shift 553 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 20: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg + fArgs_nonEmpty ::= * fConstArgs_nonEmpty + fArgs_nonEmpty ::= * fNonConstArgs_nonEmpty + (109) fArgs ::= * + fArgs ::= * fArgs_nonEmpty funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - vdef_stmt ::= * VAR nameList_nonEmpty - vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty - cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - lvalueList_nonEmpty ::= * lvalue - lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue - assign_stmt ::= * lvalue ASSIGN expr - assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty - assign_stmt ::= * INC lvalue - assign_stmt ::= * lvalue INC - assign_stmt ::= * DEC lvalue - assign_stmt ::= * lvalue DEC - assign_stmt ::= * lvalue IADD expr - assign_stmt ::= * lvalue ISUB expr - assign_stmt ::= * lvalue IMUL expr - assign_stmt ::= * lvalue IDIV expr - assign_stmt ::= * lvalue IMOD expr - assign_stmt ::= * lvalue ILSH expr - assign_stmt ::= * lvalue IRSH expr - assign_stmt ::= * lvalue IBND expr - assign_stmt ::= * lvalue IBOR expr - assign_stmt ::= * lvalue IBXR expr - for_init_stmt_nonEmpty ::= * vdef_stmt - for_init_stmt_nonEmpty ::= * vdefAssign_stmt - for_init_stmt_nonEmpty ::= * cdef_stmt - for_init_stmt_nonEmpty ::= * assign_stmt - for_init_stmt_nonEmpty ::= * for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty - for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty COMMA * for_init_stmt_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - VAR shift 113 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONST shift 111 - INC shift 37 - DEC shift 36 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - vdef_stmt shift 340 - vdefAssign_stmt shift 339 - cdef_stmt shift 338 - assign_stmt shift 337 - expr shift 143 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + funcexpr ::= nonConstExpr LPAREN * fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 109 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - for_init_stmt_nonEmpty shift 336 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 485 + fNonConstArgs_nonEmpty shift 481 + fArgs_nonEmpty shift 555 + fArgs shift 551 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 21: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - funcexprStmt ::= * funcexpr + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg + fArgs_nonEmpty ::= * fConstArgs_nonEmpty + fArgs_nonEmpty ::= * fNonConstArgs_nonEmpty + (109) fArgs ::= * + fArgs ::= * fArgs_nonEmpty funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - lvalueList_nonEmpty ::= * lvalue - lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue - assign_stmt ::= * lvalue ASSIGN expr - assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty - assign_stmt ::= * INC lvalue - assign_stmt ::= * lvalue INC - assign_stmt ::= * DEC lvalue - assign_stmt ::= * lvalue DEC - assign_stmt ::= * lvalue IADD expr - assign_stmt ::= * lvalue ISUB expr - assign_stmt ::= * lvalue IMUL expr - assign_stmt ::= * lvalue IDIV expr - assign_stmt ::= * lvalue IMOD expr - assign_stmt ::= * lvalue ILSH expr - assign_stmt ::= * lvalue IRSH expr - assign_stmt ::= * lvalue IBND expr - assign_stmt ::= * lvalue IBOR expr - assign_stmt ::= * lvalue IBXR expr - for_action_stmt_nonEmpty ::= * funcexprStmt - for_action_stmt_nonEmpty ::= * assign_stmt - for_action_stmt_nonEmpty ::= * for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty - (203) for_action_stmt ::= * - for_action_stmt ::= * for_action_stmt_nonEmpty - for_header ::= for_header2 * for_action_stmt - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - INC shift 37 - DEC shift 36 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - assign_stmt shift 332 - funcexprStmt shift 333 - expr shift 143 - funcexpr shift 168 + funcexpr ::= NAME LPAREN * fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 109 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - for_action_stmt_nonEmpty shift 211 - for_action_stmt shift 330 - {default} reduce 203 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 485 + fNonConstArgs_nonEmpty shift 481 + fArgs_nonEmpty shift 555 + fArgs shift 506 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 22: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - funcexprStmt ::= * funcexpr + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg + fArgs_nonEmpty ::= * fConstArgs_nonEmpty + fArgs_nonEmpty ::= * fNonConstArgs_nonEmpty + (109) fArgs ::= * + fArgs ::= * fArgs_nonEmpty funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - lvalueList_nonEmpty ::= * lvalue - lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue - assign_stmt ::= * lvalue ASSIGN expr - assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty - assign_stmt ::= * INC lvalue - assign_stmt ::= * lvalue INC - assign_stmt ::= * DEC lvalue - assign_stmt ::= * lvalue DEC - assign_stmt ::= * lvalue IADD expr - assign_stmt ::= * lvalue ISUB expr - assign_stmt ::= * lvalue IMUL expr - assign_stmt ::= * lvalue IDIV expr - assign_stmt ::= * lvalue IMOD expr - assign_stmt ::= * lvalue ILSH expr - assign_stmt ::= * lvalue IRSH expr - assign_stmt ::= * lvalue IBND expr - assign_stmt ::= * lvalue IBOR expr - assign_stmt ::= * lvalue IBXR expr - for_action_stmt_nonEmpty ::= * funcexprStmt - for_action_stmt_nonEmpty ::= * assign_stmt - for_action_stmt_nonEmpty ::= * for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty - for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty COMMA * for_action_stmt_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - INC shift 37 - DEC shift 36 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - assign_stmt shift 332 - funcexprStmt shift 333 - expr shift 143 - funcexpr shift 168 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + logicExpr ::= KILLS LPAREN * fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 109 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 160 - lvalueList_nonEmpty shift 180 - for_action_stmt_nonEmpty shift 331 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 485 + fNonConstArgs_nonEmpty shift 481 + fArgs_nonEmpty shift 555 + fArgs shift 505 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 23: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - actionStmt ::= ACTIONNAME LPAREN * fArgs RPAREN SEMICOLON - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - expr ::= ACTIONNAME LPAREN * fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constAction ::= ACTIONNAME LPAREN * fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME LPAREN * RPAREN SEMICOLON + actionStmt ::= constActionList ACTIONNAME LPAREN * fNonConstArgs_nonEmpty RPAREN SEMICOLON + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN shift 513 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 204 - {default} reduce 92 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 454 + fNonConstArgs_nonEmpty shift 452 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 24: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= * fConstArg + fConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= * fConstArgs_nonEmpty COMMA fNonConstArg + fNonConstArgs_nonEmpty ::= * fNonConstArgs_nonEmpty COMMA fArg funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - expr ::= ACTIONNAME LPAREN * fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + actionStmt ::= ACTIONNAME LPAREN * fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME LPAREN * fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME LPAREN * RPAREN SEMICOLON + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN shift 513 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 236 - {default} reduce 92 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 482 + fConstArg shift 486 + fConstArgs_nonEmpty shift 454 + fNonConstArgs_nonEmpty shift 453 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 25: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + (82) exprList ::= * + exprList ::= * exprList_nonEmpty + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= CONDITIONNAME LPAREN * fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + return_stmt ::= RETURN * exprList + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + SEMICOLON reduce 82 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 455 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + exprList shift 517 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 235 - {default} reduce 92 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 26: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fArg ::= * fConstArg + fArg ::= * fNonConstArg + fNonConstArgs_nonEmpty ::= fNonConstArgs_nonEmpty COMMA * fArg funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - funcexpr ::= expr LPAREN * fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 199 - {default} reduce 92 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 479 + fConstArg shift 480 + fArg shift 478 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 27: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + fNonConstArg ::= * logicExpr + fConstArg ::= * constLogicExpr + fConstArg ::= * STRING + fConstArg ::= * NAME ASSIGN expr + fConstArg ::= * NAME ASSIGN STRING + fConstArgs_nonEmpty ::= fConstArgs_nonEmpty COMMA * fConstArg + fNonConstArgs_nonEmpty ::= fConstArgs_nonEmpty COMMA * fNonConstArg funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= NAME LPAREN * fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 354 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + STRING shift 487 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 198 - {default} reduce 92 + constLogicExpr shift 488 + logicExpr shift 399 + fNonConstArg shift 483 + fConstArg shift 484 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 28: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= * fArg - fArgs_nonEmpty ::= * fArgs_nonEmpty COMMA fArg - (92) fArgs ::= * - fArgs ::= * fArgs_nonEmpty + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= KILLS LPAREN * fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + cdef_global_stmt ::= CONST nameList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 446 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - fArg shift 367 - fArgs_nonEmpty shift 238 - fArgs shift 197 - {default} reduce 92 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 29: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - (77) exprList ::= * - exprList ::= * exprList_nonEmpty - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - return_stmt ::= RETURN * exprList - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 206 - expr shift 142 - funcexpr shift 264 - exprList shift 324 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + vdefAssign_global_stmt ::= VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 448 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - {default} reduce 77 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 30: - case_start ::= * CASE - case_clause ::= * case_start exprList_nonEmpty COLON - case_chunk ::= * case_clause - case_chunk ::= * case_clause bodyStmtList - case_chunks ::= case_chunks * case_chunk - default_clause ::= * DEFAULT COLON - default_chunk ::= * default_clause - default_chunk ::= * default_clause bodyStmtList - switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks * default_chunk - (186) switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks * - - CASE shift 347 - DEFAULT shift 202 - case_start shift 35 - case_clause shift 16 - case_chunk shift 322 - default_clause shift 14 - default_chunk shift 320 - {default} reduce 186 - -State 31: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= * expr - fArg ::= * STRING - fArg ::= * NAME ASSIGN expr - fArg ::= * NAME ASSIGN STRING - fArgs_nonEmpty ::= fArgs_nonEmpty COMMA * fArg - funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 185 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 368 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 146 - funcexpr shift 286 - lambdaExprStart shift 12 - fArg shift 366 - -State 32: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - cdef_global_stmt ::= CONST nameList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 188 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + foreach_header ::= foreach_opener nameList_nonEmpty COLON * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 456 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 + +State 31: + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + case_clause ::= case_start * exprList_nonEmpty COLON + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 468 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 + +State 32: + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalueList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 411 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 33: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - vdefAssign_global_stmt ::= VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 189 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + cdef_stmt ::= CONST nameList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 471 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 34: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - foreach_header ::= foreach_opener nameList_nonEmpty COLON * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 208 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 473 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 35: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - case_clause ::= case_start * exprList_nonEmpty COLON - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 179 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + vdefAssign_stmt ::= VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 475 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 36: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - assign_stmt ::= DEC * lvalue - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 143 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= LIST LPAREN * exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 160 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 356 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 37: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - assign_stmt ::= INC * lvalue - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 143 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= VARRAY LPAREN * exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 161 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 357 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 38: exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET exprList_nonEmpty ::= * expr exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalueList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 228 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= LSQBRACKET * exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 162 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 39: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + fdef_rettypes ::= COLON * exprList_nonEmpty + exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= * expr + exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= * NAME - lvalue ::= * expr LSQBRACKET expr RSQBRACKET - lvalue ::= * expr PERIOD NAME - lvalueList_nonEmpty ::= lvalueList_nonEmpty COMMA * lvalue - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 157 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 143 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + exprList_nonEmpty shift 355 + expr shift 345 + funcexpr shift 223 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - lvalue shift 358 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 40: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= exprList_nonEmpty COMMA * expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - cdef_stmt ::= CONST nameList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 229 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + (117) commaSkippable ::= COMMA * + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + RPAREN reduce 117 + NUMBER shift 268 + RSQBRACKET reduce 117 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 347 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 41: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr + fConstArg ::= NAME ASSIGN * expr + fConstArg ::= NAME ASSIGN * STRING funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 230 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + STRING shift 449 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 450 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 42: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - vdefAssign_stmt ::= VAR nameList_nonEmpty ASSIGN * exprList_nonEmpty - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 232 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + for_header2 ::= for_header1 * expr SEMICOLON + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 525 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 43: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= LIST LPAREN * exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 114 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + while_header ::= while_start LPAREN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 529 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 44: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= VARRAY LPAREN * exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 115 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + switchcase_header ::= SWITCHCASE LPAREN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 535 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 45: - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= LSQBRACKET * exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 116 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + elif_header ::= elif_start LPAREN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 538 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 46: - fdef_rettypes ::= COLON * exprList_nonEmpty - exprList_nonEmpty ::= * funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= * expr - exprList_nonEmpty ::= * exprList_nonEmpty COMMA expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - exprList_nonEmpty shift 287 - expr shift 142 - funcexpr shift 264 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + if_header ::= if_start LPAREN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 542 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 47: - case_start ::= * CASE - case_clause ::= * case_start exprList_nonEmpty COLON - case_chunk ::= * case_clause - case_chunk ::= * case_clause bodyStmtList - case_chunks ::= * case_chunks case_chunk - case_chunks ::= * case_chunk - switchcase_block ::= switchcase_header RPAREN LBRACKET * case_chunks default_chunk - switchcase_block ::= switchcase_header RPAREN LBRACKET * case_chunks - (187) switchcase_block ::= switchcase_header RPAREN LBRACKET * - - CASE shift 347 - case_start shift 35 - case_clause shift 16 - case_chunk shift 319 - case_chunks shift 30 - {default} reduce 187 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + once_header ::= once_start LPAREN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 546 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 48: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - fArg ::= NAME ASSIGN * expr - fArg ::= NAME ASSIGN * STRING + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - STRING shift 311 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 125 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IBXR * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 412 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 49: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - for_header2 ::= for_header1 * expr SEMICOLON - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 120 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IBOR * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 413 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 50: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - while_header ::= while_start LPAREN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 126 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IBND * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 414 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 51: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - switchcase_header ::= SWITCHCASE LPAREN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 127 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IRSH * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 415 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 52: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - elif_header ::= elif_start LPAREN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 128 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue ILSH * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 416 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 53: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - if_header ::= if_start LPAREN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 129 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IMOD * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 417 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 54: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - once_header ::= once_start LPAREN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 130 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IDIV * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 418 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 55: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IBXR * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 131 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IMUL * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 419 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 56: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IBOR * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 132 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue ISUB * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 420 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 57: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IBND * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 133 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue IADD * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 421 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 58: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IRSH * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 134 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + assign_stmt ::= lvalue ASSIGN * expr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 424 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 59: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue ILSH * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 135 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + logicExpr ::= logicExpr QMARK expr COLON * expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 337 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 60: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IMOD * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 136 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= L2V LPAREN * expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 579 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 61: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IDIV * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 137 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + logicExpr ::= logicExpr QMARK * expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 549 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 62: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= nonConstExpr LSQBRACKET * expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IMUL * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 138 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + lvalue ::= nonConstExpr LSQBRACKET * expr RSQBRACKET + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 585 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 63: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + typedName ::= NAME COLON * expr + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue ISUB * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 139 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 431 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 64: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= nonConstExpr LSQBRACKET * expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue IADD * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 140 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 598 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 65: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + exprList_nonEmpty ::= exprList_nonEmpty COMMA * expr + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt + expr ::= * constLogicExpr + expr ::= * logicExpr funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - assign_stmt ::= lvalue ASSIGN * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 141 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + expr shift 347 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 344 + logicExpr shift 343 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 66: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= LNOT * expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 149 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= LPAREN * constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= LPAREN * logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 584 + logicExpr shift 429 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 341 + logicAndExpr shift 316 State 67: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= BITNOT * expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 169 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= LPAREN * logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN + logicExpr ::= * logicExpr QMARK expr COLON expr + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + logicExpr ::= * logicAndExpr + logicExpr ::= * logicExpr LOR logicAndExpr + logicExpr ::= * logicExpr LOR constLogicExpr + logicExpr ::= * constLogicAndExpr LOR logicAndExpr + logicExpr ::= * CONDITIONNAME LPAREN fArgs RPAREN + logicExpr ::= * KILLS LPAREN fArgs RPAREN + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 267 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + LIST shift 561 + CONDITIONNAME shift 556 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + logicExpr shift 429 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 558 + logicAndExpr shift 316 State 68: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= MINUS * expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 170 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + constLogicAndExpr ::= * constCompExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + constLogicExpr ::= * constLogicAndExpr + logicExpr ::= logicExpr LOR * logicAndExpr + logicExpr ::= logicExpr LOR * constLogicExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constLogicExpr shift 338 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 319 + compExpr shift 317 + constLogicAndExpr shift 339 + logicAndExpr shift 312 State 69: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= PLUS * expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 171 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + logicAndExpr ::= * compExpr + logicAndExpr ::= * logicAndExpr LAND compExpr + logicAndExpr ::= * logicAndExpr LAND constCompExpr + logicAndExpr ::= * constCompExpr LAND compExpr + logicExpr ::= constLogicAndExpr LOR * logicAndExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 557 + compExpr shift 317 + logicAndExpr shift 313 State 70: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= L2V LPAREN * expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 121 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + logicAndExpr ::= logicAndExpr LAND * compExpr + logicAndExpr ::= logicAndExpr LAND * constCompExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 311 + eqExpr shift 310 + constCompExpr shift 314 + compExpr shift 315 State 71: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= exprList_nonEmpty COMMA * expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - (99) commaSkippable ::= COMMA * - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 147 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= * eqExpr + compExpr ::= * constEqExpr LE eqExpr + compExpr ::= * eqExpr LE constEqExpr + compExpr ::= * eqExpr LE eqExpr + compExpr ::= * constEqExpr GE eqExpr + compExpr ::= * eqExpr GE constEqExpr + compExpr ::= * eqExpr GE eqExpr + compExpr ::= * constEqExpr LT eqExpr + compExpr ::= * eqExpr LT constEqExpr + compExpr ::= * eqExpr LT eqExpr + compExpr ::= * constEqExpr GT eqExpr + compExpr ::= * eqExpr GT constEqExpr + compExpr ::= * eqExpr GT eqExpr + logicAndExpr ::= constCompExpr LAND * compExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 - {default} reduce 99 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 397 + eqExpr shift 310 + compExpr shift 318 State 72: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= LPAREN * expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 122 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= eqExpr GT * constEqExpr + compExpr ::= eqExpr GT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 321 + eqExpr shift 320 State 73: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - expr ::= expr LSQBRACKET * expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - lvalue ::= expr LSQBRACKET * expr RSQBRACKET - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 123 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= eqExpr LT * constEqExpr + compExpr ::= eqExpr LT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 323 + eqExpr shift 322 State 74: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= expr LOR * expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 148 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= eqExpr GE * constEqExpr + compExpr ::= eqExpr GE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 325 + eqExpr shift 324 State 75: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= expr LAND * expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 150 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= eqExpr LE * constEqExpr + compExpr ::= eqExpr LE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 327 + eqExpr shift 326 State 76: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= expr GT * expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 151 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= constEqExpr GT * constEqExpr + compExpr ::= constEqExpr GT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 329 + eqExpr shift 328 State 77: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= expr LT * expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 152 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= constEqExpr LT * constEqExpr + compExpr ::= constEqExpr LT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 331 + eqExpr shift 330 State 78: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= expr GE * expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 153 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= constEqExpr GE * constEqExpr + compExpr ::= constEqExpr GE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 333 + eqExpr shift 332 State 79: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= expr LE * expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 154 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + constCompExpr ::= constEqExpr LE * constEqExpr + compExpr ::= constEqExpr LE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 301 + bitOrTerm shift 300 + constEqExpr shift 335 + eqExpr shift 334 State 80: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= expr NE * expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 155 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= constEqExpr GT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 426 + bitOrTerm shift 300 + eqExpr shift 328 State 81: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= expr EQ * expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 156 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= constEqExpr LT * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 426 + bitOrTerm shift 300 + eqExpr shift 330 State 82: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= expr BITXOR * expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 162 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= constEqExpr GE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 426 + bitOrTerm shift 300 + eqExpr shift 332 State 83: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= expr BITOR * expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 161 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= * bitOrTerm + eqExpr ::= * constBitOrTerm EQ bitOrTerm + eqExpr ::= * bitOrTerm EQ constBitOrTerm + eqExpr ::= * bitOrTerm EQ bitOrTerm + eqExpr ::= * constBitOrTerm NE bitOrTerm + eqExpr ::= * bitOrTerm NE constBitOrTerm + eqExpr ::= * bitOrTerm NE bitOrTerm + compExpr ::= constEqExpr LE * eqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 426 + bitOrTerm shift 300 + eqExpr shift 334 State 84: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= expr BITAND * expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 163 - funcexpr shift 286 - lambdaExprStart shift 12 + (0) program ::= chunks * + chunks ::= chunks * chunk + chunks ::= chunks * error + chunk ::= * import_chunk + chunk ::= * fdef_chunk + chunk ::= * fdecl_chunk + chunk ::= * object_chunk + chunk ::= * vdef_stmt SEMICOLON + chunk ::= * vdefAssign_global_stmt SEMICOLON + chunk ::= * cdef_global_stmt SEMICOLON + chunk ::= * blockStmt + relimp_start ::= * IMPORT PERIOD + relimp_start ::= * relimp_start PERIOD + relimp_path ::= * relimp_start NAME + relimp_path ::= * relimp_start TRGCONST + relimp_path ::= * relimp_path PERIOD NAME + relimp_path ::= * relimp_path PERIOD TRGCONST + import_chunk ::= * relimp_path SEMICOLON + import_chunk ::= * relimp_path AS NAME SEMICOLON + import_chunk ::= * relimp_path AS TRGCONST SEMICOLON + absimp_start ::= * IMPORT NAME + absimp_start ::= * IMPORT TRGCONST + absimp_start ::= * absimp_start PERIOD NAME + absimp_start ::= * absimp_start PERIOD TRGCONST + import_chunk ::= * absimp_start AS NAME SEMICOLON + import_chunk ::= * absimp_start AS TRGCONST SEMICOLON + import_chunk ::= * absimp_start SEMICOLON + fdef_header ::= * FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes + fdef_chunk ::= * fdef_header stmt + fdecl_chunk ::= * FUNCTION NAME LPAREN typedNameList RPAREN SEMICOLON + object_body ::= * OBJECT NAME LBRACKET + object_body ::= * object_body VAR typedNameList_nonEmpty SEMICOLON + object_body ::= * object_body method_chunk + object_chunk ::= * object_body RBRACKET SEMICOLON + lbracket ::= * LBRACKET + blockStmt ::= * blockStmtSub rbracket + blockStmt ::= * lbracket error RBRACKET + blockStmtSub ::= * lbracket + blockStmtSub ::= * lbracket bodyStmtList + vdef_stmt ::= * VAR nameList_nonEmpty + vdefAssign_global_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty + cdef_global_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty + + $ reduce 0 + IMPORT shift 445 + FUNCTION shift 605 + OBJECT shift 504 + LBRACKET shift 353 + VAR shift 164 + CONST shift 163 + error shift 390 + chunk shift 391 + import_chunk shift 389 + fdef_chunk shift 388 + fdecl_chunk shift 387 + object_chunk shift 386 + vdef_stmt shift 612 + vdefAssign_global_stmt shift 611 + cdef_global_stmt shift 610 + blockStmt shift 382 + relimp_start shift 441 + relimp_path shift 437 + absimp_start shift 434 + fdef_header shift 3 + object_body shift 153 + lbracket shift 1 + blockStmtSub shift 170 State 85: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= expr RSHIFT * expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 164 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= bitOrTerm NE * constBitOrTerm + eqExpr ::= bitOrTerm NE * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 303 + bitOrTerm shift 302 State 86: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= expr LSHIFT * expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 165 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= bitOrTerm EQ * constBitOrTerm + eqExpr ::= bitOrTerm EQ * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 305 + bitOrTerm shift 304 State 87: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= expr MOD * expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 172 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= constBitOrTerm NE * constBitOrTerm + eqExpr ::= constBitOrTerm NE * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 307 + bitOrTerm shift 306 State 88: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= expr DIVIDE * expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 173 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constEqExpr ::= constBitOrTerm EQ * constBitOrTerm + eqExpr ::= constBitOrTerm EQ * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 299 + bitXorTerm shift 297 + constBitOrTerm shift 309 + bitOrTerm shift 308 State 89: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= expr MULTIPLY * expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 174 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= constBitOrTerm NE * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 476 + bitXorTerm shift 297 + bitOrTerm shift 306 State 90: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= expr MINUS * expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 166 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + bitOrTerm ::= * bitXorTerm + bitOrTerm ::= * constBitXorTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR bitXorTerm + bitOrTerm ::= * bitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + eqExpr ::= constBitOrTerm EQ * bitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 476 + bitXorTerm shift 297 + bitOrTerm shift 308 State 91: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= expr PLUS * expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 167 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + bitOrTerm ::= bitOrTerm BITOR * bitXorTerm + bitOrTerm ::= bitOrTerm BITOR * constBitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 293 + bitAndTerm shift 291 + constBitXorTerm shift 295 + bitXorTerm shift 294 State 92: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= expr QMARK expr COLON * expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 144 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + bitXorTerm ::= * bitAndTerm + bitXorTerm ::= * constBitAndTerm BITXOR bitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR constBitAndTerm + bitXorTerm ::= * bitXorTerm BITXOR bitAndTerm + bitOrTerm ::= constBitXorTerm BITOR * bitXorTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 477 + bitAndTerm shift 291 + bitXorTerm shift 298 State 93: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= expr QMARK * expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 124 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + bitXorTerm ::= bitXorTerm BITXOR * constBitAndTerm + bitXorTerm ::= bitXorTerm BITXOR * bitAndTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 284 + shTerm shift 274 + constBitAndTerm shift 289 + bitAndTerm shift 288 State 94: - typedName ::= NAME COLON * expr - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt - funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 145 - funcexpr shift 286 + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= LPAREN * constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + constCompExpr ::= * constEqExpr + constCompExpr ::= * constEqExpr LE constEqExpr + constCompExpr ::= * constEqExpr GE constEqExpr + constCompExpr ::= * constEqExpr LT constEqExpr + constCompExpr ::= * constEqExpr GT constEqExpr + constLogicAndExpr ::= * constCompExpr + constLogicExpr ::= * constLogicAndExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 lambdaExprStart shift 12 + constLogicExpr shift 584 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 372 + constEqExpr shift 393 + constCompExpr shift 552 + constLogicAndExpr shift 339 State 95: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET - expr ::= expr LSQBRACKET * expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 119 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + bitAndTerm ::= * shTerm + bitAndTerm ::= * constShTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND shTerm + bitAndTerm ::= * bitAndTerm BITAND constShTerm + bitXorTerm ::= constBitAndTerm BITXOR * bitAndTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 427 + shTerm shift 274 + bitAndTerm shift 292 State 96: - expr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - exprList_nonEmpty ::= exprList_nonEmpty COMMA * expr - expr ::= * NUMBER - expr ::= * KILLS - expr ::= * NAME - expr ::= * expr PERIOD NAME - expr ::= * expr LSQBRACKET expr RSQBRACKET + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes - expr ::= * lambdaExprStart stmt + constExpr ::= * lambdaExprStart stmt funcexpr ::= * NAME LPAREN fArgs RPAREN - funcexpr ::= * expr LPAREN fArgs RPAREN - expr ::= * funcexpr - expr ::= * LPAREN expr RPAREN - expr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET - expr ::= * L2V LPAREN expr RPAREN - expr ::= * MAPSTRING LPAREN STRING RPAREN - expr ::= * UNIT LPAREN STRING RPAREN - expr ::= * SWITCH LPAREN STRING RPAREN - expr ::= * LOCATION LPAREN STRING RPAREN - expr ::= * STATTXTTBL LPAREN STRING RPAREN - expr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * LIST LPAREN exprList_nonEmpty commaSkippable RPAREN - expr ::= * expr QMARK expr COLON expr - expr ::= * expr PLUS expr - expr ::= * expr MINUS expr - expr ::= * expr MULTIPLY expr - expr ::= * expr DIVIDE expr - expr ::= * expr MOD expr - expr ::= * expr LSHIFT expr - expr ::= * expr RSHIFT expr - expr ::= * expr BITAND expr - expr ::= * expr BITOR expr - expr ::= * expr BITXOR expr - expr ::= * PLUS expr - expr ::= * MINUS expr - expr ::= * BITNOT expr - expr ::= * expr EQ expr - expr ::= * expr NE expr - expr ::= * expr LE expr - expr ::= * expr GE expr - expr ::= * expr LT expr - expr ::= * expr GT expr - expr ::= * expr LAND expr - expr ::= * expr LOR expr - expr ::= * LNOT expr - expr ::= * CONDITIONNAME LPAREN fArgs RPAREN - expr ::= * KILLS LPAREN fArgs RPAREN - expr ::= * ACTIONNAME LPAREN fArgs RPAREN - - LNOT shift 66 - PLUS shift 69 - MINUS shift 68 - BITNOT shift 67 - LPAREN shift 72 - LSQBRACKET shift 45 - NAME shift 279 - FUNCTION shift 278 - NUMBER shift 406 - KILLS shift 280 - L2V shift 259 - MAPSTRING shift 258 - UNIT shift 255 - SWITCH shift 252 - LOCATION shift 249 - STATTXTTBL shift 246 - VARRAY shift 243 - LIST shift 241 - CONDITIONNAME shift 239 - ACTIONNAME shift 237 - expr shift 147 - funcexpr shift 286 + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + bitAndTerm ::= bitAndTerm BITAND * shTerm + bitAndTerm ::= bitAndTerm BITAND * constShTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 lambdaExprStart shift 12 + constTerm shift 286 + constFactor shift 257 + term shift 285 + factor shift 249 + constShTerm shift 271 + shTerm shift 270 State 97: - method_header ::= FUNCTION NAME LPAREN * typedNameList RPAREN fdef_rettypes - typedName ::= * NAME - typedName ::= * NAME COLON expr - typedNameList_nonEmpty ::= * typedName - typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty - (69) typedNameList ::= * - typedNameList ::= * typedNameList_nonEmpty + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + vdef_stmt ::= * VAR nameList_nonEmpty + vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty + cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + lvalueList_nonEmpty ::= * lvalue + lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue + assign_stmt ::= * lvalue ASSIGN expr + assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty + assign_stmt ::= * INC lvalue + assign_stmt ::= * lvalue INC + assign_stmt ::= * DEC lvalue + assign_stmt ::= * lvalue DEC + assign_stmt ::= * lvalue IADD expr + assign_stmt ::= * lvalue ISUB expr + assign_stmt ::= * lvalue IMUL expr + assign_stmt ::= * lvalue IDIV expr + assign_stmt ::= * lvalue IMOD expr + assign_stmt ::= * lvalue ILSH expr + assign_stmt ::= * lvalue IRSH expr + assign_stmt ::= * lvalue IBND expr + assign_stmt ::= * lvalue IBOR expr + assign_stmt ::= * lvalue IBXR expr + for_init_stmt_nonEmpty ::= * vdef_stmt + for_init_stmt_nonEmpty ::= * vdefAssign_stmt + for_init_stmt_nonEmpty ::= * cdef_stmt + for_init_stmt_nonEmpty ::= * assign_stmt + for_init_stmt_nonEmpty ::= * for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty + for_init_stmt ::= * for_init_stmt_nonEmpty + (294) for_init_stmt ::= * + for_header1 ::= for_opener * for_init_stmt SEMICOLON - NAME shift 277 - typedNameList shift 191 - typedNameList_nonEmpty shift 315 - typedName shift 201 - {default} reduce 69 + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + SEMICOLON reduce 294 + NAME shift 367 + VAR shift 168 + L2V shift 580 + CONST shift 166 + INC shift 134 + DEC shift 133 + vdef_stmt shift 467 + vdefAssign_stmt shift 466 + cdef_stmt shift 465 + assign_stmt shift 464 + funcexpr shift 231 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + for_init_stmt_nonEmpty shift 463 + for_init_stmt shift 526 State 98: - elif_start ::= * ELSE IF - elif_header ::= * elif_start LPAREN expr - if_block ::= if_block * elif_header RPAREN stmt - else_header ::= * ELSE - (173) if_stmt ::= if_block * - if_stmt ::= if_block * else_header stmt - - ELSE shift 223 - elif_start shift 222 - elif_header shift 221 - else_header shift 3 - {default} reduce 173 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + shTerm ::= * term + shTerm ::= * constTerm RSHIFT term + shTerm ::= * shTerm RSHIFT term + shTerm ::= * shTerm RSHIFT constTerm + shTerm ::= * constTerm LSHIFT term + shTerm ::= * shTerm LSHIFT constTerm + shTerm ::= * shTerm LSHIFT term + bitAndTerm ::= constShTerm BITAND * shTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constTerm shift 398 + constFactor shift 257 + term shift 285 + factor shift 249 + shTerm shift 279 State 99: - typedName ::= * NAME - typedName ::= * NAME COLON expr - typedNameList_nonEmpty ::= * typedName - typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty - (69) typedNameList ::= * - typedNameList ::= * typedNameList_nonEmpty - lambdaExprStart ::= FUNCTION LPAREN * typedNameList RPAREN fdef_rettypes - - NAME shift 277 - typedNameList shift 200 - typedNameList_nonEmpty shift 315 - typedName shift 201 - {default} reduce 69 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + constCompExpr ::= constEqExpr GT * constEqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 372 + constEqExpr shift 329 State 100: - fdef_header ::= FUNCTION NAME LPAREN * typedNameList RPAREN fdef_rettypes - fdecl_chunk ::= FUNCTION NAME LPAREN * typedNameList RPAREN SEMICOLON - typedName ::= * NAME - typedName ::= * NAME COLON expr - typedNameList_nonEmpty ::= * typedName - typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty - (69) typedNameList ::= * - typedNameList ::= * typedNameList_nonEmpty - - NAME shift 277 - typedNameList shift 288 - typedNameList_nonEmpty shift 315 - typedName shift 201 - {default} reduce 69 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + constCompExpr ::= constEqExpr LT * constEqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 372 + constEqExpr shift 331 State 101: - object_body ::= object_body * VAR typedNameList_nonEmpty SEMICOLON - method_header ::= * FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes - method_chunk ::= * method_header stmt - object_body ::= object_body * method_chunk - object_chunk ::= object_body * RBRACKET SEMICOLON - - FUNCTION shift 193 - VAR shift 102 - RBRACKET shift 190 - method_header shift 1 - method_chunk shift 301 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + constCompExpr ::= constEqExpr GE * constEqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 372 + constEqExpr shift 333 State 102: - object_body ::= object_body VAR * typedNameList_nonEmpty SEMICOLON - typedName ::= * NAME - typedName ::= * NAME COLON expr - typedNameList_nonEmpty ::= * typedName - typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty - - NAME shift 277 - typedNameList_nonEmpty shift 194 - typedName shift 201 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= * constBitOrTerm + constEqExpr ::= * constBitOrTerm EQ constBitOrTerm + constEqExpr ::= * constBitOrTerm NE constBitOrTerm + constCompExpr ::= constEqExpr LE * constEqExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 372 + constEqExpr shift 335 State 103: - typedName ::= * NAME - typedName ::= * NAME COLON expr - typedNameList_nonEmpty ::= * typedName - typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty - typedNameList_nonEmpty ::= typedName COMMA * typedNameList_nonEmpty - - NAME shift 277 - typedNameList_nonEmpty shift 316 - typedName shift 201 - -State 104: - (23) fdef_rettypes ::= * - fdef_rettypes ::= * COLON exprList_nonEmpty - fdef_header ::= FUNCTION NAME LPAREN typedNameList RPAREN * fdef_rettypes - fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList RPAREN * SEMICOLON - - SEMICOLON shift 307 - COLON shift 46 - fdef_rettypes shift 308 - {default} reduce 23 - -State 105: - relimp_start ::= IMPORT * PERIOD - dottedName ::= * NAME - dottedName ::= * dottedName PERIOD NAME - import_chunk ::= IMPORT * dottedName AS NAME - import_chunk ::= IMPORT * dottedName - - PERIOD shift 417 - NAME shift 416 - dottedName shift 187 - -State 106: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - cdef_global_stmt ::= CONST * nameList_nonEmpty ASSIGN exprList_nonEmpty + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + vdef_stmt ::= * VAR nameList_nonEmpty + vdefAssign_stmt ::= * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty + cdef_stmt ::= * CONST nameList_nonEmpty ASSIGN exprList_nonEmpty + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + lvalueList_nonEmpty ::= * lvalue + lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue + assign_stmt ::= * lvalue ASSIGN expr + assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty + assign_stmt ::= * INC lvalue + assign_stmt ::= * lvalue INC + assign_stmt ::= * DEC lvalue + assign_stmt ::= * lvalue DEC + assign_stmt ::= * lvalue IADD expr + assign_stmt ::= * lvalue ISUB expr + assign_stmt ::= * lvalue IMUL expr + assign_stmt ::= * lvalue IDIV expr + assign_stmt ::= * lvalue IMOD expr + assign_stmt ::= * lvalue ILSH expr + assign_stmt ::= * lvalue IRSH expr + assign_stmt ::= * lvalue IBND expr + assign_stmt ::= * lvalue IBOR expr + assign_stmt ::= * lvalue IBXR expr + for_init_stmt_nonEmpty ::= * vdef_stmt + for_init_stmt_nonEmpty ::= * vdefAssign_stmt + for_init_stmt_nonEmpty ::= * cdef_stmt + for_init_stmt_nonEmpty ::= * assign_stmt + for_init_stmt_nonEmpty ::= * for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty + for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty COMMA * for_init_stmt_nonEmpty - NAME shift 362 - nameList_nonEmpty shift 176 + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + VAR shift 168 + L2V shift 580 + CONST shift 166 + INC shift 134 + DEC shift 133 + vdef_stmt shift 467 + vdefAssign_stmt shift 466 + cdef_stmt shift 465 + assign_stmt shift 464 + funcexpr shift 231 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + for_init_stmt_nonEmpty shift 462 -State 107: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - vdef_stmt ::= VAR * nameList_nonEmpty - vdefAssign_global_stmt ::= VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty +State 104: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + shTerm ::= shTerm LSHIFT * constTerm + shTerm ::= shTerm LSHIFT * term + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constTerm shift 276 + constFactor shift 257 + term shift 275 + factor shift 249 + +State 105: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + shTerm ::= shTerm RSHIFT * term + shTerm ::= shTerm RSHIFT * constTerm + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constTerm shift 278 + constFactor shift 257 + term shift 277 + factor shift 249 + +State 106: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= constBitOrTerm NE * constBitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 307 - NAME shift 362 - nameList_nonEmpty shift 177 +State 107: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= * constBitXorTerm + constBitOrTerm ::= * constBitOrTerm BITOR constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constEqExpr ::= constBitOrTerm EQ * constBitOrTerm + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 371 + constBitOrTerm shift 309 State 108: - (23) fdef_rettypes ::= * - fdef_rettypes ::= * COLON exprList_nonEmpty - method_header ::= FUNCTION NAME LPAREN typedNameList RPAREN * fdef_rettypes + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexprStmt ::= * funcexpr + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + lvalueList_nonEmpty ::= * lvalue + lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue + assign_stmt ::= * lvalue ASSIGN expr + assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty + assign_stmt ::= * INC lvalue + assign_stmt ::= * lvalue INC + assign_stmt ::= * DEC lvalue + assign_stmt ::= * lvalue DEC + assign_stmt ::= * lvalue IADD expr + assign_stmt ::= * lvalue ISUB expr + assign_stmt ::= * lvalue IMUL expr + assign_stmt ::= * lvalue IDIV expr + assign_stmt ::= * lvalue IMOD expr + assign_stmt ::= * lvalue ILSH expr + assign_stmt ::= * lvalue IRSH expr + assign_stmt ::= * lvalue IBND expr + assign_stmt ::= * lvalue IBOR expr + assign_stmt ::= * lvalue IBXR expr + for_action_stmt_nonEmpty ::= * funcexprStmt + for_action_stmt_nonEmpty ::= * assign_stmt + for_action_stmt_nonEmpty ::= * for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty + (298) for_action_stmt ::= * + for_action_stmt ::= * for_action_stmt_nonEmpty + for_header ::= for_header2 * for_action_stmt - COLON shift 46 - fdef_rettypes shift 303 - {default} reduce 23 + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + RPAREN reduce 298 + L2V shift 580 + INC shift 134 + DEC shift 133 + assign_stmt shift 460 + funcexprStmt shift 461 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + for_action_stmt_nonEmpty shift 459 + for_action_stmt shift 524 State 109: - (23) fdef_rettypes ::= * - fdef_rettypes ::= * COLON exprList_nonEmpty - lambdaExprStart ::= FUNCTION LPAREN typedNameList RPAREN * fdef_rettypes - - COLON shift 46 - fdef_rettypes shift 314 - {default} reduce 23 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + shTerm ::= constTerm LSHIFT * term + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constFactor shift 394 + term shift 280 + factor shift 249 State 110: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - foreach_header ::= foreach_opener * nameList_nonEmpty COLON exprList_nonEmpty - - NAME shift 362 - nameList_nonEmpty shift 178 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= * factor + term ::= * constFactor PLUS factor + term ::= * term PLUS constFactor + term ::= * term PLUS factor + term ::= * constFactor MINUS factor + term ::= * term MINUS constFactor + term ::= * term MINUS factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + shTerm ::= constTerm RSHIFT * term + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constFactor shift 394 + term shift 281 + factor shift 249 State 111: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - cdef_stmt ::= CONST * nameList_nonEmpty ASSIGN exprList_nonEmpty - - NAME shift 362 - nameList_nonEmpty shift 181 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= * constBitAndTerm + constBitXorTerm ::= * constBitXorTerm BITXOR constBitAndTerm + constBitOrTerm ::= constBitOrTerm BITOR * constBitXorTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 287 + constBitXorTerm shift 296 State 112: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - vdefAssignStatic_stmt ::= STATIC VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexprStmt ::= * funcexpr + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + lvalueList_nonEmpty ::= * lvalue + lvalueList_nonEmpty ::= * lvalueList_nonEmpty COMMA lvalue + assign_stmt ::= * lvalue ASSIGN expr + assign_stmt ::= * lvalueList_nonEmpty ASSIGN exprList_nonEmpty + assign_stmt ::= * INC lvalue + assign_stmt ::= * lvalue INC + assign_stmt ::= * DEC lvalue + assign_stmt ::= * lvalue DEC + assign_stmt ::= * lvalue IADD expr + assign_stmt ::= * lvalue ISUB expr + assign_stmt ::= * lvalue IMUL expr + assign_stmt ::= * lvalue IDIV expr + assign_stmt ::= * lvalue IMOD expr + assign_stmt ::= * lvalue ILSH expr + assign_stmt ::= * lvalue IRSH expr + assign_stmt ::= * lvalue IBND expr + assign_stmt ::= * lvalue IBOR expr + assign_stmt ::= * lvalue IBXR expr + for_action_stmt_nonEmpty ::= * funcexprStmt + for_action_stmt_nonEmpty ::= * assign_stmt + for_action_stmt_nonEmpty ::= * for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty + for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty COMMA * for_action_stmt_nonEmpty - NAME shift 362 - nameList_nonEmpty shift 182 + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + L2V shift 580 + INC shift 134 + DEC shift 133 + assign_stmt shift 460 + funcexprStmt shift 461 + funcexpr shift 392 + nonConstExpr shift 430 + lvalue shift 368 + lvalueList_nonEmpty shift 470 + for_action_stmt_nonEmpty shift 458 State 113: - nameList_nonEmpty ::= * NAME - nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME - vdef_stmt ::= VAR * nameList_nonEmpty - vdefAssign_stmt ::= VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty - - NAME shift 362 - nameList_nonEmpty shift 183 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= term MINUS * constFactor + term ::= term MINUS * factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constFactor shift 238 + factor shift 237 State 114: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - commaSkippable ::= * COMMA - (100) commaSkippable ::= * - expr ::= LIST LPAREN exprList_nonEmpty * commaSkippable RPAREN - - COMMA shift 71 - commaSkippable shift 240 - {default} reduce 100 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= term PLUS * constFactor + term ::= term PLUS * factor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 242 + lambdaExprStart shift 12 + constFactor shift 246 + factor shift 243 State 115: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - commaSkippable ::= * COMMA - (100) commaSkippable ::= * - expr ::= VARRAY LPAREN exprList_nonEmpty * commaSkippable RPAREN - - COMMA shift 71 - commaSkippable shift 242 - {default} reduce 100 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= * constShTerm + constBitAndTerm ::= * constBitAndTerm BITAND constShTerm + constBitXorTerm ::= constBitXorTerm BITXOR * constBitAndTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 269 + constBitAndTerm shift 290 State 116: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - commaSkippable ::= * COMMA - (100) commaSkippable ::= * - expr ::= LSQBRACKET exprList_nonEmpty * commaSkippable RSQBRACKET - - COMMA shift 71 - commaSkippable shift 234 - {default} reduce 100 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= constFactor MINUS * factor + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 428 + lambdaExprStart shift 12 + factor shift 239 State 117: - numList_nonEmpty ::= * NUMBER - numList_nonEmpty ::= * numList_nonEmpty COMMA NUMBER - exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET * numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= funcexpr LSQBRACKET LSQBRACKET * NUMBER RSQBRACKET RSQBRACKET - - NUMBER shift 262 - numList_nonEmpty shift 184 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + term ::= constFactor PLUS * factor + factor ::= * nonConstExpr + factor ::= * constExpr MULTIPLY nonConstExpr + factor ::= * factor MULTIPLY constExpr + factor ::= * factor MULTIPLY nonConstExpr + factor ::= * constExpr DIVIDE nonConstExpr + factor ::= * factor DIVIDE constExpr + factor ::= * factor DIVIDE nonConstExpr + factor ::= * constExpr MOD nonConstExpr + factor ::= * factor MOD constExpr + factor ::= * factor MOD nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 228 + constExpr shift 428 + lambdaExprStart shift 12 + factor shift 256 State 118: - rbracket ::= * RBRACKET - blockStmt ::= blockStmtSub * rbracket - - RBRACKET shift 402 - rbracket shift 401 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= * constTerm + constShTerm ::= * constShTerm RSHIFT constTerm + constShTerm ::= * constShTerm LSHIFT constTerm + constBitAndTerm ::= constBitAndTerm BITAND * constShTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 273 + constFactor shift 255 + constShTerm shift 272 State 119: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - expr ::= expr LSQBRACKET expr * RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - RSQBRACKET shift 309 + case_start ::= * CASE + case_clause ::= * case_start exprList_nonEmpty COLON + case_chunk ::= * case_clause + case_chunk ::= * case_clause bodyStmtList + case_chunks ::= case_chunks * case_chunk + default_clause ::= * DEFAULT COLON + default_chunk ::= * default_clause + default_chunk ::= * default_clause bodyStmtList + switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks * default_chunk + (281) switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks * -State 120: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - for_header2 ::= for_header1 expr * SEMICOLON + RBRACKET reduce 281 + CASE shift 363 + DEFAULT shift 510 + case_start shift 31 + case_clause shift 14 + case_chunk shift 408 + default_clause shift 16 + default_chunk shift 509 - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - SEMICOLON shift 334 +State 120: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + factor ::= factor MOD * constExpr + factor ::= factor MOD * nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 215 + constExpr shift 247 + lambdaExprStart shift 12 State 121: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= L2V LPAREN expr * RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - RPAREN shift 376 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + constExpr ::= LNOT * constExpr + nonConstExpr ::= * LNOT nonConstExpr + nonConstExpr ::= LNOT * nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 216 + constExpr shift 250 + lambdaExprStart shift 12 State 122: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= LPAREN expr * RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - RPAREN shift 379 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + constExpr ::= BITNOT * constExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= BITNOT * nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 217 + constExpr shift 251 + lambdaExprStart shift 12 State 123: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - expr ::= expr LSQBRACKET expr * RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - lvalue ::= expr LSQBRACKET expr * RSQBRACKET - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - RSQBRACKET shift 158 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + constExpr ::= MINUS * constExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= MINUS * nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 218 + constExpr shift 252 + lambdaExprStart shift 12 State 124: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr QMARK expr * COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - COLON shift 92 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + constExpr ::= PLUS * constExpr + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= PLUS * nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 219 + constExpr shift 253 + lambdaExprStart shift 12 State 125: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - (88) fArg ::= NAME ASSIGN expr * - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 88 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + factor ::= factor DIVIDE * constExpr + factor ::= factor DIVIDE * nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 220 + constExpr shift 248 + lambdaExprStart shift 12 State 126: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (190) while_header ::= while_start LPAREN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 190 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + constExpr ::= * LPAREN constLogicExpr RPAREN + nonConstExpr ::= * LPAREN logicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + nonConstExpr ::= * L2V LPAREN expr RPAREN + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + factor ::= factor MULTIPLY * constExpr + factor ::= factor MULTIPLY * nonConstExpr + constExpr ::= * PLUS constExpr + nonConstExpr ::= * PLUS nonConstExpr + constExpr ::= * MINUS constExpr + nonConstExpr ::= * MINUS nonConstExpr + constExpr ::= * BITNOT constExpr + nonConstExpr ::= * BITNOT nonConstExpr + constExpr ::= * LNOT constExpr + nonConstExpr ::= * LNOT nonConstExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 121 + PLUS shift 124 + MINUS shift 123 + BITNOT shift 122 + LPAREN shift 66 + LSQBRACKET shift 38 + NAME shift 229 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + L2V shift 580 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + funcexpr shift 231 + nonConstExpr shift 221 + constExpr shift 234 + lambdaExprStart shift 12 State 127: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (175) switchcase_header ::= SWITCHCASE LPAREN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 175 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= constShTerm LSHIFT * constTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 282 + constFactor shift 255 State 128: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (170) elif_header ::= elif_start LPAREN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 170 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= * constFactor + constTerm ::= * constTerm PLUS constFactor + constTerm ::= * constTerm MINUS constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constShTerm ::= constShTerm RSHIFT * constTerm + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constTerm shift 283 + constFactor shift 255 State 129: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (167) if_header ::= if_start LPAREN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 167 + case_start ::= * CASE + case_clause ::= * case_start exprList_nonEmpty COLON + case_chunk ::= * case_clause + case_chunk ::= * case_clause bodyStmtList + case_chunks ::= * case_chunks case_chunk + case_chunks ::= * case_chunk + switchcase_block ::= switchcase_header RPAREN LBRACKET * case_chunks default_chunk + switchcase_block ::= switchcase_header RPAREN LBRACKET * case_chunks + (282) switchcase_block ::= switchcase_header RPAREN LBRACKET * -State 130: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (161) once_header ::= once_start LPAREN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 161 + RBRACKET reduce 282 + CASE shift 363 + case_start shift 31 + case_clause shift 14 + case_chunk shift 407 + case_chunks shift 119 + +State 130: + elif_start ::= * ELSE IF + elif_header ::= * elif_start LPAREN expr + if_block ::= if_block * elif_header RPAREN stmt + else_header ::= * ELSE + (268) if_stmt ::= if_block * + if_stmt ::= if_block * else_header stmt + + $ reduce 268 + ELSE shift 359 + ELSE reduce 268 -- dropped by precedence + QMARK reduce 268 + COMMA reduce 268 + LOR reduce 268 + LAND reduce 268 + LNOT reduce 268 + EQ reduce 268 + LE reduce 268 + LT reduce 268 + GE reduce 268 + GT reduce 268 + NE reduce 268 + BITOR reduce 268 + BITXOR reduce 268 + BITAND reduce 268 + LSHIFT reduce 268 + RSHIFT reduce 268 + PLUS reduce 268 + MINUS reduce 268 + DIVIDE reduce 268 + MULTIPLY reduce 268 + MOD reduce 268 + BITNOT reduce 268 + LPAREN reduce 268 + SEMICOLON reduce 268 + IMPORT reduce 268 + NAME reduce 268 + COLON reduce 268 + FUNCTION reduce 268 + RPAREN reduce 268 + OBJECT reduce 268 + LBRACKET reduce 268 + VAR reduce 268 + RBRACKET reduce 268 + RSQBRACKET reduce 268 + L2V reduce 268 + STATIC reduce 268 + CONST reduce 268 + INC reduce 268 + DEC reduce 268 + ONCE reduce 268 + IF reduce 268 + SWITCHCASE reduce 268 + CASE reduce 268 + DEFAULT reduce 268 + WHILE reduce 268 + FOR reduce 268 + FOREACH reduce 268 + CONTINUE reduce 268 + BREAK reduce 268 + RETURN reduce 268 + ACTIONNAME reduce 268 + elif_start shift 539 + elif_header shift 537 + else_header shift 4 State 131: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (159) assign_stmt ::= lvalue IBXR expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 159 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= constTerm MINUS * constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constFactor shift 241 State 132: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (158) assign_stmt ::= lvalue IBOR expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 158 + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constTerm ::= constTerm PLUS * constFactor + constFactor ::= * constExpr + constFactor ::= * constFactor MULTIPLY constExpr + constFactor ::= * constFactor MOD constExpr + constFactor ::= * constFactor DIVIDE constExpr + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 240 + lambdaExprStart shift 12 + constFactor shift 235 State 133: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (157) assign_stmt ::= lvalue IBND expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 157 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + assign_stmt ::= DEC * lvalue + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 430 + lvalue shift 409 State 134: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (156) assign_stmt ::= lvalue IRSH expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 156 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + assign_stmt ::= INC * lvalue + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 430 + lvalue shift 410 State 135: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (155) assign_stmt ::= lvalue ILSH expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 155 + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + lvalue ::= * NAME + lvalue ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + lvalue ::= * nonConstExpr PERIOD NAME + lvalue ::= * nonConstExpr PERIOD TRGCONST + lvalueList_nonEmpty ::= lvalueList_nonEmpty COMMA * lvalue + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 367 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 430 + lvalue shift 469 State 136: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (154) assign_stmt ::= lvalue IMOD expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 154 + method_header ::= FUNCTION NAME LPAREN * typedNameList RPAREN fdef_rettypes + typedName ::= * NAME + typedName ::= * NAME COLON expr + typedNameList_nonEmpty ::= * typedName + typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty + (74) typedNameList ::= * + typedNameList ::= * typedNameList_nonEmpty + + NAME shift 400 + RPAREN reduce 74 + typedNameList shift 499 + typedNameList_nonEmpty shift 508 + typedName shift 406 State 137: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (153) assign_stmt ::= lvalue IDIV expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 153 + typedName ::= * NAME + typedName ::= * NAME COLON expr + typedNameList_nonEmpty ::= * typedName + typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty + (74) typedNameList ::= * + typedNameList ::= * typedNameList_nonEmpty + lambdaExprStart ::= FUNCTION LPAREN * typedNameList RPAREN fdef_rettypes + + NAME shift 400 + RPAREN reduce 74 + typedNameList shift 507 + typedNameList_nonEmpty shift 508 + typedName shift 406 + +State 138: + fdef_header ::= FUNCTION NAME LPAREN * typedNameList RPAREN fdef_rettypes + fdecl_chunk ::= FUNCTION NAME LPAREN * typedNameList RPAREN SEMICOLON + typedName ::= * NAME + typedName ::= * NAME COLON expr + typedNameList_nonEmpty ::= * typedName + typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty + (74) typedNameList ::= * + typedNameList ::= * typedNameList_nonEmpty + + NAME shift 400 + RPAREN reduce 74 + typedNameList shift 603 + typedNameList_nonEmpty shift 508 + typedName shift 406 + +State 139: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constFactor ::= constFactor DIVIDE * constExpr + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 244 + lambdaExprStart shift 12 + +State 140: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constFactor ::= constFactor MOD * constExpr + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 245 + lambdaExprStart shift 12 + +State 141: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= LNOT * constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 250 + lambdaExprStart shift 12 + +State 142: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= BITNOT * constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 251 + lambdaExprStart shift 12 + +State 143: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= MINUS * constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 252 + lambdaExprStart shift 12 + +State 144: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constExpr ::= * PLUS constExpr + constExpr ::= PLUS * constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 253 + lambdaExprStart shift 12 + +State 145: + constExpr ::= * NUMBER + constExpr ::= * KILLS + constExpr ::= * TRGCONST + lambdaExprStart ::= * FUNCTION LPAREN typedNameList RPAREN fdef_rettypes + constExpr ::= * lambdaExprStart stmt + constExpr ::= * LPAREN constLogicExpr RPAREN + constExpr ::= * LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET + constExpr ::= * MAPSTRING LPAREN STRING RPAREN + constExpr ::= * UNIT LPAREN STRING RPAREN + constExpr ::= * SWITCH LPAREN STRING RPAREN + constExpr ::= * LOCATION LPAREN STRING RPAREN + constExpr ::= * STATTXTTBL LPAREN STRING RPAREN + constExpr ::= * VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN + constFactor ::= constFactor MULTIPLY * constExpr + constExpr ::= * PLUS constExpr + constExpr ::= * MINUS constExpr + constExpr ::= * BITNOT constExpr + constExpr ::= * LNOT constExpr + constExpr ::= * ACTIONNAME LPAREN fArgs RPAREN + + LNOT shift 141 + PLUS shift 144 + MINUS shift 143 + BITNOT shift 142 + LPAREN shift 94 + LSQBRACKET shift 38 + TRGCONST shift 266 + FUNCTION shift 597 + NUMBER shift 268 + KILLS shift 264 + MAPSTRING shift 578 + UNIT shift 575 + SWITCH shift 572 + LOCATION shift 569 + STATTXTTBL shift 566 + VARRAY shift 563 + ACTIONNAME shift 559 + constExpr shift 254 + lambdaExprStart shift 12 + +State 146: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + factor ::= constExpr MOD * nonConstExpr + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 212 + +State 147: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + nonConstExpr ::= LNOT * nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 216 + +State 148: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= BITNOT * nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 217 + +State 149: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= MINUS * nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 218 + +State 150: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= PLUS * nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 219 + +State 151: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + factor ::= constExpr DIVIDE * nonConstExpr + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 213 + +State 152: + nonConstExpr ::= * funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + nonConstExpr ::= * NAME + nonConstExpr ::= * nonConstExpr PERIOD NAME + nonConstExpr ::= * nonConstExpr PERIOD TRGCONST + nonConstExpr ::= * nonConstExpr LSQBRACKET expr RSQBRACKET + funcexpr ::= * NAME LPAREN fArgs RPAREN + funcexpr ::= * nonConstExpr LPAREN fArgs RPAREN + nonConstExpr ::= * funcexpr + nonConstExpr ::= * LPAREN logicExpr RPAREN + nonConstExpr ::= * L2V LPAREN expr RPAREN + factor ::= constExpr MULTIPLY * nonConstExpr + nonConstExpr ::= * PLUS nonConstExpr + nonConstExpr ::= * MINUS nonConstExpr + nonConstExpr ::= * BITNOT nonConstExpr + nonConstExpr ::= * LNOT nonConstExpr + + LNOT shift 147 + PLUS shift 150 + MINUS shift 149 + BITNOT shift 148 + LPAREN shift 67 + NAME shift 229 + L2V shift 580 + funcexpr shift 231 + nonConstExpr shift 214 + +State 153: + object_body ::= object_body * VAR typedNameList_nonEmpty SEMICOLON + method_header ::= * FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes + method_chunk ::= * method_header stmt + object_body ::= object_body * method_chunk + object_chunk ::= object_body * RBRACKET SEMICOLON + + FUNCTION shift 501 + VAR shift 154 + RBRACKET shift 498 + method_header shift 2 + method_chunk shift 402 + +State 154: + object_body ::= object_body VAR * typedNameList_nonEmpty SEMICOLON + typedName ::= * NAME + typedName ::= * NAME COLON expr + typedNameList_nonEmpty ::= * typedName + typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty + + NAME shift 400 + typedNameList_nonEmpty shift 502 + typedName shift 406 + +State 155: + typedName ::= * NAME + typedName ::= * NAME COLON expr + typedNameList_nonEmpty ::= * typedName + typedNameList_nonEmpty ::= * typedName COMMA typedNameList_nonEmpty + typedNameList_nonEmpty ::= typedName COMMA * typedNameList_nonEmpty + + NAME shift 400 + typedNameList_nonEmpty shift 451 + typedName shift 406 + +State 156: + constAction ::= * ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= * ACTIONNAME LPAREN RPAREN SEMICOLON + constActionList ::= constActionList * constAction + actionStmt ::= constActionList * ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + (318) actionStmt ::= constActionList * + + $ reduce 318 + ELSE reduce 318 + QMARK reduce 318 + COMMA reduce 318 + LOR reduce 318 + LAND reduce 318 + LNOT reduce 318 + EQ reduce 318 + LE reduce 318 + LT reduce 318 + GE reduce 318 + GT reduce 318 + NE reduce 318 + BITOR reduce 318 + BITXOR reduce 318 + BITAND reduce 318 + LSHIFT reduce 318 + RSHIFT reduce 318 + PLUS reduce 318 + MINUS reduce 318 + DIVIDE reduce 318 + MULTIPLY reduce 318 + MOD reduce 318 + BITNOT reduce 318 + LPAREN reduce 318 + SEMICOLON reduce 318 + IMPORT reduce 318 + NAME reduce 318 + COLON reduce 318 + FUNCTION reduce 318 + RPAREN reduce 318 + OBJECT reduce 318 + LBRACKET reduce 318 + VAR reduce 318 + RBRACKET reduce 318 + RSQBRACKET reduce 318 + L2V reduce 318 + STATIC reduce 318 + CONST reduce 318 + INC reduce 318 + DEC reduce 318 + ONCE reduce 318 + IF reduce 318 + SWITCHCASE reduce 318 + CASE reduce 318 + DEFAULT reduce 318 + WHILE reduce 318 + FOR reduce 318 + FOREACH reduce 318 + CONTINUE reduce 318 + BREAK reduce 318 + RETURN reduce 318 + ACTIONNAME shift 512 + ACTIONNAME reduce 318 -- dropped by precedence + constAction shift 172 + +State 157: + (28) fdef_rettypes ::= * + fdef_rettypes ::= * COLON exprList_nonEmpty + method_header ::= FUNCTION NAME LPAREN typedNameList RPAREN * fdef_rettypes + + LNOT reduce 28 + PLUS reduce 28 + MINUS reduce 28 + BITNOT reduce 28 + LPAREN reduce 28 + SEMICOLON reduce 28 + NAME reduce 28 + COLON shift 39 + LBRACKET reduce 28 + VAR reduce 28 + L2V reduce 28 + STATIC reduce 28 + CONST reduce 28 + INC reduce 28 + DEC reduce 28 + ONCE reduce 28 + IF reduce 28 + SWITCHCASE reduce 28 + WHILE reduce 28 + FOR reduce 28 + FOREACH reduce 28 + CONTINUE reduce 28 + BREAK reduce 28 + RETURN reduce 28 + ACTIONNAME reduce 28 + fdef_rettypes shift 356 + +State 158: + (28) fdef_rettypes ::= * + fdef_rettypes ::= * COLON exprList_nonEmpty + lambdaExprStart ::= FUNCTION LPAREN typedNameList RPAREN * fdef_rettypes + + LNOT reduce 28 + PLUS reduce 28 + MINUS reduce 28 + BITNOT reduce 28 + LPAREN reduce 28 + SEMICOLON reduce 28 + NAME reduce 28 + COLON shift 39 + LBRACKET reduce 28 + VAR reduce 28 + L2V reduce 28 + STATIC reduce 28 + CONST reduce 28 + INC reduce 28 + DEC reduce 28 + ONCE reduce 28 + IF reduce 28 + SWITCHCASE reduce 28 + WHILE reduce 28 + FOR reduce 28 + FOREACH reduce 28 + CONTINUE reduce 28 + BREAK reduce 28 + RETURN reduce 28 + ACTIONNAME reduce 28 + fdef_rettypes shift 358 + +State 159: + (28) fdef_rettypes ::= * + fdef_rettypes ::= * COLON exprList_nonEmpty + fdef_header ::= FUNCTION NAME LPAREN typedNameList RPAREN * fdef_rettypes + fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList RPAREN * SEMICOLON + + LNOT reduce 28 + PLUS reduce 28 + MINUS reduce 28 + BITNOT reduce 28 + LPAREN reduce 28 + SEMICOLON shift 375 + SEMICOLON reduce 28 -- dropped by precedence + NAME reduce 28 + COLON shift 39 + LBRACKET reduce 28 + VAR reduce 28 + L2V reduce 28 + STATIC reduce 28 + CONST reduce 28 + INC reduce 28 + DEC reduce 28 + ONCE reduce 28 + IF reduce 28 + SWITCHCASE reduce 28 + WHILE reduce 28 + FOR reduce 28 + FOREACH reduce 28 + CONTINUE reduce 28 + BREAK reduce 28 + RETURN reduce 28 + ACTIONNAME reduce 28 + fdef_rettypes shift 357 + +State 160: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + commaSkippable ::= * COMMA + (118) commaSkippable ::= * + logicExpr ::= LIST LPAREN exprList_nonEmpty * commaSkippable RPAREN + + COMMA shift 40 + RPAREN reduce 118 + commaSkippable shift 560 + +State 161: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + commaSkippable ::= * COMMA + (118) commaSkippable ::= * + constExpr ::= VARRAY LPAREN exprList_nonEmpty * commaSkippable RPAREN + + COMMA shift 40 + RPAREN reduce 118 + commaSkippable shift 562 + +State 162: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + commaSkippable ::= * COMMA + (118) commaSkippable ::= * + constExpr ::= LSQBRACKET exprList_nonEmpty * commaSkippable RSQBRACKET + + COMMA shift 40 + RSQBRACKET reduce 118 + commaSkippable shift 550 + +State 163: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + cdef_global_stmt ::= CONST * nameList_nonEmpty ASSIGN exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 447 + +State 164: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + vdef_stmt ::= VAR * nameList_nonEmpty + vdefAssign_global_stmt ::= VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 401 + +State 165: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + foreach_header ::= foreach_opener * nameList_nonEmpty COLON exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 457 + +State 166: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + cdef_stmt ::= CONST * nameList_nonEmpty ASSIGN exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 472 + +State 167: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + vdefAssignStatic_stmt ::= STATIC VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 474 + +State 168: + nameList_nonEmpty ::= * NAME + nameList_nonEmpty ::= * nameList_nonEmpty COMMA NAME + vdef_stmt ::= VAR * nameList_nonEmpty + vdefAssign_stmt ::= VAR * nameList_nonEmpty ASSIGN exprList_nonEmpty + + NAME shift 396 + nameList_nonEmpty shift 425 + +State 169: + numList_nonEmpty ::= * NUMBER + numList_nonEmpty ::= * numList_nonEmpty COMMA NUMBER + exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET * numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET * NUMBER RSQBRACKET RSQBRACKET + + NUMBER shift 491 + numList_nonEmpty shift 490 + +State 170: + rbracket ::= * RBRACKET + blockStmt ::= blockStmtSub * rbracket + + RBRACKET shift 207 + rbracket shift 206 + +State 171: + (269) if_stmt ::= if_block else_header stmt * + + $ reduce 269 + ELSE reduce 269 + QMARK reduce 269 + COMMA reduce 269 + LOR reduce 269 + LAND reduce 269 + LNOT reduce 269 + EQ reduce 269 + LE reduce 269 + LT reduce 269 + GE reduce 269 + GT reduce 269 + NE reduce 269 + BITOR reduce 269 + BITXOR reduce 269 + BITAND reduce 269 + LSHIFT reduce 269 + RSHIFT reduce 269 + PLUS reduce 269 + MINUS reduce 269 + DIVIDE reduce 269 + MULTIPLY reduce 269 + MOD reduce 269 + BITNOT reduce 269 + LPAREN reduce 269 + SEMICOLON reduce 269 + IMPORT reduce 269 + NAME reduce 269 + COLON reduce 269 + FUNCTION reduce 269 + RPAREN reduce 269 + OBJECT reduce 269 + LBRACKET reduce 269 + VAR reduce 269 + RBRACKET reduce 269 + RSQBRACKET reduce 269 + L2V reduce 269 + STATIC reduce 269 + CONST reduce 269 + INC reduce 269 + DEC reduce 269 + ONCE reduce 269 + IF reduce 269 + SWITCHCASE reduce 269 + CASE reduce 269 + DEFAULT reduce 269 + WHILE reduce 269 + FOR reduce 269 + FOREACH reduce 269 + CONTINUE reduce 269 + BREAK reduce 269 + RETURN reduce 269 + ACTIONNAME reduce 269 + +State 172: + (316) constActionList ::= constActionList constAction * + + $ reduce 316 + ELSE reduce 316 + QMARK reduce 316 + COMMA reduce 316 + LOR reduce 316 + LAND reduce 316 + LNOT reduce 316 + EQ reduce 316 + LE reduce 316 + LT reduce 316 + GE reduce 316 + GT reduce 316 + NE reduce 316 + BITOR reduce 316 + BITXOR reduce 316 + BITAND reduce 316 + LSHIFT reduce 316 + RSHIFT reduce 316 + PLUS reduce 316 + MINUS reduce 316 + DIVIDE reduce 316 + MULTIPLY reduce 316 + MOD reduce 316 + BITNOT reduce 316 + LPAREN reduce 316 + SEMICOLON reduce 316 + IMPORT reduce 316 + NAME reduce 316 + COLON reduce 316 + FUNCTION reduce 316 + RPAREN reduce 316 + OBJECT reduce 316 + LBRACKET reduce 316 + VAR reduce 316 + RBRACKET reduce 316 + RSQBRACKET reduce 316 + L2V reduce 316 + STATIC reduce 316 + CONST reduce 316 + INC reduce 316 + DEC reduce 316 + ONCE reduce 316 + IF reduce 316 + SWITCHCASE reduce 316 + CASE reduce 316 + DEFAULT reduce 316 + WHILE reduce 316 + FOR reduce 316 + FOREACH reduce 316 + CONTINUE reduce 316 + BREAK reduce 316 + RETURN reduce 316 + ACTIONNAME reduce 316 + +State 173: + (317) actionStmt ::= constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON * + + $ reduce 317 + ELSE reduce 317 + QMARK reduce 317 + COMMA reduce 317 + LOR reduce 317 + LAND reduce 317 + LNOT reduce 317 + EQ reduce 317 + LE reduce 317 + LT reduce 317 + GE reduce 317 + GT reduce 317 + NE reduce 317 + BITOR reduce 317 + BITXOR reduce 317 + BITAND reduce 317 + LSHIFT reduce 317 + RSHIFT reduce 317 + PLUS reduce 317 + MINUS reduce 317 + DIVIDE reduce 317 + MULTIPLY reduce 317 + MOD reduce 317 + BITNOT reduce 317 + LPAREN reduce 317 + SEMICOLON reduce 317 + IMPORT reduce 317 + NAME reduce 317 + COLON reduce 317 + FUNCTION reduce 317 + RPAREN reduce 317 + OBJECT reduce 317 + LBRACKET reduce 317 + VAR reduce 317 + RBRACKET reduce 317 + RSQBRACKET reduce 317 + L2V reduce 317 + STATIC reduce 317 + CONST reduce 317 + INC reduce 317 + DEC reduce 317 + ONCE reduce 317 + IF reduce 317 + SWITCHCASE reduce 317 + CASE reduce 317 + DEFAULT reduce 317 + WHILE reduce 317 + FOR reduce 317 + FOREACH reduce 317 + CONTINUE reduce 317 + BREAK reduce 317 + RETURN reduce 317 + ACTIONNAME reduce 317 + +State 174: + (315) constActionList ::= constAction * + + $ reduce 315 + ELSE reduce 315 + QMARK reduce 315 + COMMA reduce 315 + LOR reduce 315 + LAND reduce 315 + LNOT reduce 315 + EQ reduce 315 + LE reduce 315 + LT reduce 315 + GE reduce 315 + GT reduce 315 + NE reduce 315 + BITOR reduce 315 + BITXOR reduce 315 + BITAND reduce 315 + LSHIFT reduce 315 + RSHIFT reduce 315 + PLUS reduce 315 + MINUS reduce 315 + DIVIDE reduce 315 + MULTIPLY reduce 315 + MOD reduce 315 + BITNOT reduce 315 + LPAREN reduce 315 + SEMICOLON reduce 315 + IMPORT reduce 315 + NAME reduce 315 + COLON reduce 315 + FUNCTION reduce 315 + RPAREN reduce 315 + OBJECT reduce 315 + LBRACKET reduce 315 + VAR reduce 315 + RBRACKET reduce 315 + RSQBRACKET reduce 315 + L2V reduce 315 + STATIC reduce 315 + CONST reduce 315 + INC reduce 315 + DEC reduce 315 + ONCE reduce 315 + IF reduce 315 + SWITCHCASE reduce 315 + CASE reduce 315 + DEFAULT reduce 315 + WHILE reduce 315 + FOR reduce 315 + FOREACH reduce 315 + CONTINUE reduce 315 + BREAK reduce 315 + RETURN reduce 315 + ACTIONNAME reduce 315 + +State 175: + (314) constAction ::= ACTIONNAME LPAREN RPAREN SEMICOLON * + + $ reduce 314 + ELSE reduce 314 + QMARK reduce 314 + COMMA reduce 314 + LOR reduce 314 + LAND reduce 314 + LNOT reduce 314 + EQ reduce 314 + LE reduce 314 + LT reduce 314 + GE reduce 314 + GT reduce 314 + NE reduce 314 + BITOR reduce 314 + BITXOR reduce 314 + BITAND reduce 314 + LSHIFT reduce 314 + RSHIFT reduce 314 + PLUS reduce 314 + MINUS reduce 314 + DIVIDE reduce 314 + MULTIPLY reduce 314 + MOD reduce 314 + BITNOT reduce 314 + LPAREN reduce 314 + SEMICOLON reduce 314 + IMPORT reduce 314 + NAME reduce 314 + COLON reduce 314 + FUNCTION reduce 314 + RPAREN reduce 314 + OBJECT reduce 314 + LBRACKET reduce 314 + VAR reduce 314 + RBRACKET reduce 314 + RSQBRACKET reduce 314 + L2V reduce 314 + STATIC reduce 314 + CONST reduce 314 + INC reduce 314 + DEC reduce 314 + ONCE reduce 314 + IF reduce 314 + SWITCHCASE reduce 314 + CASE reduce 314 + DEFAULT reduce 314 + WHILE reduce 314 + FOR reduce 314 + FOREACH reduce 314 + CONTINUE reduce 314 + BREAK reduce 314 + RETURN reduce 314 + ACTIONNAME reduce 314 + +State 176: + (312) actionStmt ::= ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON * + + $ reduce 312 + ELSE reduce 312 + QMARK reduce 312 + COMMA reduce 312 + LOR reduce 312 + LAND reduce 312 + LNOT reduce 312 + EQ reduce 312 + LE reduce 312 + LT reduce 312 + GE reduce 312 + GT reduce 312 + NE reduce 312 + BITOR reduce 312 + BITXOR reduce 312 + BITAND reduce 312 + LSHIFT reduce 312 + RSHIFT reduce 312 + PLUS reduce 312 + MINUS reduce 312 + DIVIDE reduce 312 + MULTIPLY reduce 312 + MOD reduce 312 + BITNOT reduce 312 + LPAREN reduce 312 + SEMICOLON reduce 312 + IMPORT reduce 312 + NAME reduce 312 + COLON reduce 312 + FUNCTION reduce 312 + RPAREN reduce 312 + OBJECT reduce 312 + LBRACKET reduce 312 + VAR reduce 312 + RBRACKET reduce 312 + RSQBRACKET reduce 312 + L2V reduce 312 + STATIC reduce 312 + CONST reduce 312 + INC reduce 312 + DEC reduce 312 + ONCE reduce 312 + IF reduce 312 + SWITCHCASE reduce 312 + CASE reduce 312 + DEFAULT reduce 312 + WHILE reduce 312 + FOR reduce 312 + FOREACH reduce 312 + CONTINUE reduce 312 + BREAK reduce 312 + RETURN reduce 312 + ACTIONNAME reduce 312 + +State 177: + (313) constAction ::= ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON * + + $ reduce 313 + ELSE reduce 313 + QMARK reduce 313 + COMMA reduce 313 + LOR reduce 313 + LAND reduce 313 + LNOT reduce 313 + EQ reduce 313 + LE reduce 313 + LT reduce 313 + GE reduce 313 + GT reduce 313 + NE reduce 313 + BITOR reduce 313 + BITXOR reduce 313 + BITAND reduce 313 + LSHIFT reduce 313 + RSHIFT reduce 313 + PLUS reduce 313 + MINUS reduce 313 + DIVIDE reduce 313 + MULTIPLY reduce 313 + MOD reduce 313 + BITNOT reduce 313 + LPAREN reduce 313 + SEMICOLON reduce 313 + IMPORT reduce 313 + NAME reduce 313 + COLON reduce 313 + FUNCTION reduce 313 + RPAREN reduce 313 + OBJECT reduce 313 + LBRACKET reduce 313 + VAR reduce 313 + RBRACKET reduce 313 + RSQBRACKET reduce 313 + L2V reduce 313 + STATIC reduce 313 + CONST reduce 313 + INC reduce 313 + DEC reduce 313 + ONCE reduce 313 + IF reduce 313 + SWITCHCASE reduce 313 + CASE reduce 313 + DEFAULT reduce 313 + WHILE reduce 313 + FOR reduce 313 + FOREACH reduce 313 + CONTINUE reduce 313 + BREAK reduce 313 + RETURN reduce 313 + ACTIONNAME reduce 313 + +State 178: + (306) foreach_stmt ::= foreach_header RPAREN stmt * + + $ reduce 306 + ELSE reduce 306 + QMARK reduce 306 + COMMA reduce 306 + LOR reduce 306 + LAND reduce 306 + LNOT reduce 306 + EQ reduce 306 + LE reduce 306 + LT reduce 306 + GE reduce 306 + GT reduce 306 + NE reduce 306 + BITOR reduce 306 + BITXOR reduce 306 + BITAND reduce 306 + LSHIFT reduce 306 + RSHIFT reduce 306 + PLUS reduce 306 + MINUS reduce 306 + DIVIDE reduce 306 + MULTIPLY reduce 306 + MOD reduce 306 + BITNOT reduce 306 + LPAREN reduce 306 + SEMICOLON reduce 306 + IMPORT reduce 306 + NAME reduce 306 + COLON reduce 306 + FUNCTION reduce 306 + RPAREN reduce 306 + OBJECT reduce 306 + LBRACKET reduce 306 + VAR reduce 306 + RBRACKET reduce 306 + RSQBRACKET reduce 306 + L2V reduce 306 + STATIC reduce 306 + CONST reduce 306 + INC reduce 306 + DEC reduce 306 + ONCE reduce 306 + IF reduce 306 + SWITCHCASE reduce 306 + CASE reduce 306 + DEFAULT reduce 306 + WHILE reduce 306 + FOR reduce 306 + FOREACH reduce 306 + CONTINUE reduce 306 + BREAK reduce 306 + RETURN reduce 306 + ACTIONNAME reduce 306 + +State 179: + (303) for_stmt ::= for_header RPAREN stmt * + + $ reduce 303 + ELSE reduce 303 + QMARK reduce 303 + COMMA reduce 303 + LOR reduce 303 + LAND reduce 303 + LNOT reduce 303 + EQ reduce 303 + LE reduce 303 + LT reduce 303 + GE reduce 303 + GT reduce 303 + NE reduce 303 + BITOR reduce 303 + BITXOR reduce 303 + BITAND reduce 303 + LSHIFT reduce 303 + RSHIFT reduce 303 + PLUS reduce 303 + MINUS reduce 303 + DIVIDE reduce 303 + MULTIPLY reduce 303 + MOD reduce 303 + BITNOT reduce 303 + LPAREN reduce 303 + SEMICOLON reduce 303 + IMPORT reduce 303 + NAME reduce 303 + COLON reduce 303 + FUNCTION reduce 303 + RPAREN reduce 303 + OBJECT reduce 303 + LBRACKET reduce 303 + VAR reduce 303 + RBRACKET reduce 303 + RSQBRACKET reduce 303 + L2V reduce 303 + STATIC reduce 303 + CONST reduce 303 + INC reduce 303 + DEC reduce 303 + ONCE reduce 303 + IF reduce 303 + SWITCHCASE reduce 303 + CASE reduce 303 + DEFAULT reduce 303 + WHILE reduce 303 + FOR reduce 303 + FOREACH reduce 303 + CONTINUE reduce 303 + BREAK reduce 303 + RETURN reduce 303 + ACTIONNAME reduce 303 + +State 180: + (286) while_stmt ::= while_header RPAREN stmt * + + $ reduce 286 + ELSE reduce 286 + QMARK reduce 286 + COMMA reduce 286 + LOR reduce 286 + LAND reduce 286 + LNOT reduce 286 + EQ reduce 286 + LE reduce 286 + LT reduce 286 + GE reduce 286 + GT reduce 286 + NE reduce 286 + BITOR reduce 286 + BITXOR reduce 286 + BITAND reduce 286 + LSHIFT reduce 286 + RSHIFT reduce 286 + PLUS reduce 286 + MINUS reduce 286 + DIVIDE reduce 286 + MULTIPLY reduce 286 + MOD reduce 286 + BITNOT reduce 286 + LPAREN reduce 286 + SEMICOLON reduce 286 + IMPORT reduce 286 + NAME reduce 286 + COLON reduce 286 + FUNCTION reduce 286 + RPAREN reduce 286 + OBJECT reduce 286 + LBRACKET reduce 286 + VAR reduce 286 + RBRACKET reduce 286 + RSQBRACKET reduce 286 + L2V reduce 286 + STATIC reduce 286 + CONST reduce 286 + INC reduce 286 + DEC reduce 286 + ONCE reduce 286 + IF reduce 286 + SWITCHCASE reduce 286 + CASE reduce 286 + DEFAULT reduce 286 + WHILE reduce 286 + FOR reduce 286 + FOREACH reduce 286 + CONTINUE reduce 286 + BREAK reduce 286 + RETURN reduce 286 + ACTIONNAME reduce 286 + +State 181: + (283) switchcase_stmt ::= switchcase_block RBRACKET * + + $ reduce 283 + ELSE reduce 283 + QMARK reduce 283 + COMMA reduce 283 + LOR reduce 283 + LAND reduce 283 + LNOT reduce 283 + EQ reduce 283 + LE reduce 283 + LT reduce 283 + GE reduce 283 + GT reduce 283 + NE reduce 283 + BITOR reduce 283 + BITXOR reduce 283 + BITAND reduce 283 + LSHIFT reduce 283 + RSHIFT reduce 283 + PLUS reduce 283 + MINUS reduce 283 + DIVIDE reduce 283 + MULTIPLY reduce 283 + MOD reduce 283 + BITNOT reduce 283 + LPAREN reduce 283 + SEMICOLON reduce 283 + IMPORT reduce 283 + NAME reduce 283 + COLON reduce 283 + FUNCTION reduce 283 + RPAREN reduce 283 + OBJECT reduce 283 + LBRACKET reduce 283 + VAR reduce 283 + RBRACKET reduce 283 + RSQBRACKET reduce 283 + L2V reduce 283 + STATIC reduce 283 + CONST reduce 283 + INC reduce 283 + DEC reduce 283 + ONCE reduce 283 + IF reduce 283 + SWITCHCASE reduce 283 + CASE reduce 283 + DEFAULT reduce 283 + WHILE reduce 283 + FOR reduce 283 + FOREACH reduce 283 + CONTINUE reduce 283 + BREAK reduce 283 + RETURN reduce 283 + ACTIONNAME reduce 283 + +State 182: + (266) if_block ::= if_block elif_header RPAREN stmt * + + $ reduce 266 + ELSE reduce 266 + QMARK reduce 266 + COMMA reduce 266 + LOR reduce 266 + LAND reduce 266 + LNOT reduce 266 + EQ reduce 266 + LE reduce 266 + LT reduce 266 + GE reduce 266 + GT reduce 266 + NE reduce 266 + BITOR reduce 266 + BITXOR reduce 266 + BITAND reduce 266 + LSHIFT reduce 266 + RSHIFT reduce 266 + PLUS reduce 266 + MINUS reduce 266 + DIVIDE reduce 266 + MULTIPLY reduce 266 + MOD reduce 266 + BITNOT reduce 266 + LPAREN reduce 266 + SEMICOLON reduce 266 + IMPORT reduce 266 + NAME reduce 266 + COLON reduce 266 + FUNCTION reduce 266 + RPAREN reduce 266 + OBJECT reduce 266 + LBRACKET reduce 266 + VAR reduce 266 + RBRACKET reduce 266 + RSQBRACKET reduce 266 + L2V reduce 266 + STATIC reduce 266 + CONST reduce 266 + INC reduce 266 + DEC reduce 266 + ONCE reduce 266 + IF reduce 266 + SWITCHCASE reduce 266 + CASE reduce 266 + DEFAULT reduce 266 + WHILE reduce 266 + FOR reduce 266 + FOREACH reduce 266 + CONTINUE reduce 266 + BREAK reduce 266 + RETURN reduce 266 + ACTIONNAME reduce 266 + +State 183: + (263) if_block ::= if_header RPAREN stmt * + + $ reduce 263 + ELSE reduce 263 + QMARK reduce 263 + COMMA reduce 263 + LOR reduce 263 + LAND reduce 263 + LNOT reduce 263 + EQ reduce 263 + LE reduce 263 + LT reduce 263 + GE reduce 263 + GT reduce 263 + NE reduce 263 + BITOR reduce 263 + BITXOR reduce 263 + BITAND reduce 263 + LSHIFT reduce 263 + RSHIFT reduce 263 + PLUS reduce 263 + MINUS reduce 263 + DIVIDE reduce 263 + MULTIPLY reduce 263 + MOD reduce 263 + BITNOT reduce 263 + LPAREN reduce 263 + SEMICOLON reduce 263 + IMPORT reduce 263 + NAME reduce 263 + COLON reduce 263 + FUNCTION reduce 263 + RPAREN reduce 263 + OBJECT reduce 263 + LBRACKET reduce 263 + VAR reduce 263 + RBRACKET reduce 263 + RSQBRACKET reduce 263 + L2V reduce 263 + STATIC reduce 263 + CONST reduce 263 + INC reduce 263 + DEC reduce 263 + ONCE reduce 263 + IF reduce 263 + SWITCHCASE reduce 263 + CASE reduce 263 + DEFAULT reduce 263 + WHILE reduce 263 + FOR reduce 263 + FOREACH reduce 263 + CONTINUE reduce 263 + BREAK reduce 263 + RETURN reduce 263 + ACTIONNAME reduce 263 + +State 184: + (260) once_stmt ::= once_block * + + $ reduce 260 + ELSE reduce 260 + QMARK reduce 260 + COMMA reduce 260 + LOR reduce 260 + LAND reduce 260 + LNOT reduce 260 + EQ reduce 260 + LE reduce 260 + LT reduce 260 + GE reduce 260 + GT reduce 260 + NE reduce 260 + BITOR reduce 260 + BITXOR reduce 260 + BITAND reduce 260 + LSHIFT reduce 260 + RSHIFT reduce 260 + PLUS reduce 260 + MINUS reduce 260 + DIVIDE reduce 260 + MULTIPLY reduce 260 + MOD reduce 260 + BITNOT reduce 260 + LPAREN reduce 260 + SEMICOLON reduce 260 + IMPORT reduce 260 + NAME reduce 260 + COLON reduce 260 + FUNCTION reduce 260 + RPAREN reduce 260 + OBJECT reduce 260 + LBRACKET reduce 260 + VAR reduce 260 + RBRACKET reduce 260 + RSQBRACKET reduce 260 + L2V reduce 260 + STATIC reduce 260 + CONST reduce 260 + INC reduce 260 + DEC reduce 260 + ONCE reduce 260 + IF reduce 260 + SWITCHCASE reduce 260 + CASE reduce 260 + DEFAULT reduce 260 + WHILE reduce 260 + FOR reduce 260 + FOREACH reduce 260 + CONTINUE reduce 260 + BREAK reduce 260 + RETURN reduce 260 + ACTIONNAME reduce 260 + +State 185: + (259) once_block ::= once_nocond stmt * + + $ reduce 259 + ELSE reduce 259 + QMARK reduce 259 + COMMA reduce 259 + LOR reduce 259 + LAND reduce 259 + LNOT reduce 259 + EQ reduce 259 + LE reduce 259 + LT reduce 259 + GE reduce 259 + GT reduce 259 + NE reduce 259 + BITOR reduce 259 + BITXOR reduce 259 + BITAND reduce 259 + LSHIFT reduce 259 + RSHIFT reduce 259 + PLUS reduce 259 + MINUS reduce 259 + DIVIDE reduce 259 + MULTIPLY reduce 259 + MOD reduce 259 + BITNOT reduce 259 + LPAREN reduce 259 + SEMICOLON reduce 259 + IMPORT reduce 259 + NAME reduce 259 + COLON reduce 259 + FUNCTION reduce 259 + RPAREN reduce 259 + OBJECT reduce 259 + LBRACKET reduce 259 + VAR reduce 259 + RBRACKET reduce 259 + RSQBRACKET reduce 259 + L2V reduce 259 + STATIC reduce 259 + CONST reduce 259 + INC reduce 259 + DEC reduce 259 + ONCE reduce 259 + IF reduce 259 + SWITCHCASE reduce 259 + CASE reduce 259 + DEFAULT reduce 259 + WHILE reduce 259 + FOR reduce 259 + FOREACH reduce 259 + CONTINUE reduce 259 + BREAK reduce 259 + RETURN reduce 259 + ACTIONNAME reduce 259 + +State 186: + (257) once_block ::= once_header RPAREN stmt * + + $ reduce 257 + ELSE reduce 257 + QMARK reduce 257 + COMMA reduce 257 + LOR reduce 257 + LAND reduce 257 + LNOT reduce 257 + EQ reduce 257 + LE reduce 257 + LT reduce 257 + GE reduce 257 + GT reduce 257 + NE reduce 257 + BITOR reduce 257 + BITXOR reduce 257 + BITAND reduce 257 + LSHIFT reduce 257 + RSHIFT reduce 257 + PLUS reduce 257 + MINUS reduce 257 + DIVIDE reduce 257 + MULTIPLY reduce 257 + MOD reduce 257 + BITNOT reduce 257 + LPAREN reduce 257 + SEMICOLON reduce 257 + IMPORT reduce 257 + NAME reduce 257 + COLON reduce 257 + FUNCTION reduce 257 + RPAREN reduce 257 + OBJECT reduce 257 + LBRACKET reduce 257 + VAR reduce 257 + RBRACKET reduce 257 + RSQBRACKET reduce 257 + L2V reduce 257 + STATIC reduce 257 + CONST reduce 257 + INC reduce 257 + DEC reduce 257 + ONCE reduce 257 + IF reduce 257 + SWITCHCASE reduce 257 + CASE reduce 257 + DEFAULT reduce 257 + WHILE reduce 257 + FOR reduce 257 + FOREACH reduce 257 + CONTINUE reduce 257 + BREAK reduce 257 + RETURN reduce 257 + ACTIONNAME reduce 257 + +State 187: + (64) bodyStmt ::= return_stmt SEMICOLON * + + $ reduce 64 + ELSE reduce 64 + QMARK reduce 64 + COMMA reduce 64 + LOR reduce 64 + LAND reduce 64 + LNOT reduce 64 + EQ reduce 64 + LE reduce 64 + LT reduce 64 + GE reduce 64 + GT reduce 64 + NE reduce 64 + BITOR reduce 64 + BITXOR reduce 64 + BITAND reduce 64 + LSHIFT reduce 64 + RSHIFT reduce 64 + PLUS reduce 64 + MINUS reduce 64 + DIVIDE reduce 64 + MULTIPLY reduce 64 + MOD reduce 64 + BITNOT reduce 64 + LPAREN reduce 64 + SEMICOLON reduce 64 + IMPORT reduce 64 + NAME reduce 64 + COLON reduce 64 + FUNCTION reduce 64 + RPAREN reduce 64 + OBJECT reduce 64 + LBRACKET reduce 64 + VAR reduce 64 + RBRACKET reduce 64 + RSQBRACKET reduce 64 + L2V reduce 64 + STATIC reduce 64 + CONST reduce 64 + INC reduce 64 + DEC reduce 64 + ONCE reduce 64 + IF reduce 64 + SWITCHCASE reduce 64 + CASE reduce 64 + DEFAULT reduce 64 + WHILE reduce 64 + FOR reduce 64 + FOREACH reduce 64 + CONTINUE reduce 64 + BREAK reduce 64 + RETURN reduce 64 + ACTIONNAME reduce 64 + +State 188: + (63) bodyStmt ::= break_stmt SEMICOLON * + + $ reduce 63 + ELSE reduce 63 + QMARK reduce 63 + COMMA reduce 63 + LOR reduce 63 + LAND reduce 63 + LNOT reduce 63 + EQ reduce 63 + LE reduce 63 + LT reduce 63 + GE reduce 63 + GT reduce 63 + NE reduce 63 + BITOR reduce 63 + BITXOR reduce 63 + BITAND reduce 63 + LSHIFT reduce 63 + RSHIFT reduce 63 + PLUS reduce 63 + MINUS reduce 63 + DIVIDE reduce 63 + MULTIPLY reduce 63 + MOD reduce 63 + BITNOT reduce 63 + LPAREN reduce 63 + SEMICOLON reduce 63 + IMPORT reduce 63 + NAME reduce 63 + COLON reduce 63 + FUNCTION reduce 63 + RPAREN reduce 63 + OBJECT reduce 63 + LBRACKET reduce 63 + VAR reduce 63 + RBRACKET reduce 63 + RSQBRACKET reduce 63 + L2V reduce 63 + STATIC reduce 63 + CONST reduce 63 + INC reduce 63 + DEC reduce 63 + ONCE reduce 63 + IF reduce 63 + SWITCHCASE reduce 63 + CASE reduce 63 + DEFAULT reduce 63 + WHILE reduce 63 + FOR reduce 63 + FOREACH reduce 63 + CONTINUE reduce 63 + BREAK reduce 63 + RETURN reduce 63 + ACTIONNAME reduce 63 + +State 189: + (62) bodyStmt ::= continue_stmt SEMICOLON * + + $ reduce 62 + ELSE reduce 62 + QMARK reduce 62 + COMMA reduce 62 + LOR reduce 62 + LAND reduce 62 + LNOT reduce 62 + EQ reduce 62 + LE reduce 62 + LT reduce 62 + GE reduce 62 + GT reduce 62 + NE reduce 62 + BITOR reduce 62 + BITXOR reduce 62 + BITAND reduce 62 + LSHIFT reduce 62 + RSHIFT reduce 62 + PLUS reduce 62 + MINUS reduce 62 + DIVIDE reduce 62 + MULTIPLY reduce 62 + MOD reduce 62 + BITNOT reduce 62 + LPAREN reduce 62 + SEMICOLON reduce 62 + IMPORT reduce 62 + NAME reduce 62 + COLON reduce 62 + FUNCTION reduce 62 + RPAREN reduce 62 + OBJECT reduce 62 + LBRACKET reduce 62 + VAR reduce 62 + RBRACKET reduce 62 + RSQBRACKET reduce 62 + L2V reduce 62 + STATIC reduce 62 + CONST reduce 62 + INC reduce 62 + DEC reduce 62 + ONCE reduce 62 + IF reduce 62 + SWITCHCASE reduce 62 + CASE reduce 62 + DEFAULT reduce 62 + WHILE reduce 62 + FOR reduce 62 + FOREACH reduce 62 + CONTINUE reduce 62 + BREAK reduce 62 + RETURN reduce 62 + ACTIONNAME reduce 62 + +State 190: + (61) bodyStmt ::= switchcase_stmt * + + $ reduce 61 + ELSE reduce 61 + QMARK reduce 61 + COMMA reduce 61 + LOR reduce 61 + LAND reduce 61 + LNOT reduce 61 + EQ reduce 61 + LE reduce 61 + LT reduce 61 + GE reduce 61 + GT reduce 61 + NE reduce 61 + BITOR reduce 61 + BITXOR reduce 61 + BITAND reduce 61 + LSHIFT reduce 61 + RSHIFT reduce 61 + PLUS reduce 61 + MINUS reduce 61 + DIVIDE reduce 61 + MULTIPLY reduce 61 + MOD reduce 61 + BITNOT reduce 61 + LPAREN reduce 61 + SEMICOLON reduce 61 + IMPORT reduce 61 + NAME reduce 61 + COLON reduce 61 + FUNCTION reduce 61 + RPAREN reduce 61 + OBJECT reduce 61 + LBRACKET reduce 61 + VAR reduce 61 + RBRACKET reduce 61 + RSQBRACKET reduce 61 + L2V reduce 61 + STATIC reduce 61 + CONST reduce 61 + INC reduce 61 + DEC reduce 61 + ONCE reduce 61 + IF reduce 61 + SWITCHCASE reduce 61 + CASE reduce 61 + DEFAULT reduce 61 + WHILE reduce 61 + FOR reduce 61 + FOREACH reduce 61 + CONTINUE reduce 61 + BREAK reduce 61 + RETURN reduce 61 + ACTIONNAME reduce 61 + +State 191: + (60) bodyStmt ::= foreach_stmt * + + $ reduce 60 + ELSE reduce 60 + QMARK reduce 60 + COMMA reduce 60 + LOR reduce 60 + LAND reduce 60 + LNOT reduce 60 + EQ reduce 60 + LE reduce 60 + LT reduce 60 + GE reduce 60 + GT reduce 60 + NE reduce 60 + BITOR reduce 60 + BITXOR reduce 60 + BITAND reduce 60 + LSHIFT reduce 60 + RSHIFT reduce 60 + PLUS reduce 60 + MINUS reduce 60 + DIVIDE reduce 60 + MULTIPLY reduce 60 + MOD reduce 60 + BITNOT reduce 60 + LPAREN reduce 60 + SEMICOLON reduce 60 + IMPORT reduce 60 + NAME reduce 60 + COLON reduce 60 + FUNCTION reduce 60 + RPAREN reduce 60 + OBJECT reduce 60 + LBRACKET reduce 60 + VAR reduce 60 + RBRACKET reduce 60 + RSQBRACKET reduce 60 + L2V reduce 60 + STATIC reduce 60 + CONST reduce 60 + INC reduce 60 + DEC reduce 60 + ONCE reduce 60 + IF reduce 60 + SWITCHCASE reduce 60 + CASE reduce 60 + DEFAULT reduce 60 + WHILE reduce 60 + FOR reduce 60 + FOREACH reduce 60 + CONTINUE reduce 60 + BREAK reduce 60 + RETURN reduce 60 + ACTIONNAME reduce 60 + +State 192: + (59) bodyStmt ::= for_stmt * + + $ reduce 59 + ELSE reduce 59 + QMARK reduce 59 + COMMA reduce 59 + LOR reduce 59 + LAND reduce 59 + LNOT reduce 59 + EQ reduce 59 + LE reduce 59 + LT reduce 59 + GE reduce 59 + GT reduce 59 + NE reduce 59 + BITOR reduce 59 + BITXOR reduce 59 + BITAND reduce 59 + LSHIFT reduce 59 + RSHIFT reduce 59 + PLUS reduce 59 + MINUS reduce 59 + DIVIDE reduce 59 + MULTIPLY reduce 59 + MOD reduce 59 + BITNOT reduce 59 + LPAREN reduce 59 + SEMICOLON reduce 59 + IMPORT reduce 59 + NAME reduce 59 + COLON reduce 59 + FUNCTION reduce 59 + RPAREN reduce 59 + OBJECT reduce 59 + LBRACKET reduce 59 + VAR reduce 59 + RBRACKET reduce 59 + RSQBRACKET reduce 59 + L2V reduce 59 + STATIC reduce 59 + CONST reduce 59 + INC reduce 59 + DEC reduce 59 + ONCE reduce 59 + IF reduce 59 + SWITCHCASE reduce 59 + CASE reduce 59 + DEFAULT reduce 59 + WHILE reduce 59 + FOR reduce 59 + FOREACH reduce 59 + CONTINUE reduce 59 + BREAK reduce 59 + RETURN reduce 59 + ACTIONNAME reduce 59 + +State 193: + (58) bodyStmt ::= while_stmt * + + $ reduce 58 + ELSE reduce 58 + QMARK reduce 58 + COMMA reduce 58 + LOR reduce 58 + LAND reduce 58 + LNOT reduce 58 + EQ reduce 58 + LE reduce 58 + LT reduce 58 + GE reduce 58 + GT reduce 58 + NE reduce 58 + BITOR reduce 58 + BITXOR reduce 58 + BITAND reduce 58 + LSHIFT reduce 58 + RSHIFT reduce 58 + PLUS reduce 58 + MINUS reduce 58 + DIVIDE reduce 58 + MULTIPLY reduce 58 + MOD reduce 58 + BITNOT reduce 58 + LPAREN reduce 58 + SEMICOLON reduce 58 + IMPORT reduce 58 + NAME reduce 58 + COLON reduce 58 + FUNCTION reduce 58 + RPAREN reduce 58 + OBJECT reduce 58 + LBRACKET reduce 58 + VAR reduce 58 + RBRACKET reduce 58 + RSQBRACKET reduce 58 + L2V reduce 58 + STATIC reduce 58 + CONST reduce 58 + INC reduce 58 + DEC reduce 58 + ONCE reduce 58 + IF reduce 58 + SWITCHCASE reduce 58 + CASE reduce 58 + DEFAULT reduce 58 + WHILE reduce 58 + FOR reduce 58 + FOREACH reduce 58 + CONTINUE reduce 58 + BREAK reduce 58 + RETURN reduce 58 + ACTIONNAME reduce 58 + +State 194: + (57) bodyStmt ::= if_stmt * + + $ reduce 57 + ELSE reduce 57 + QMARK reduce 57 + COMMA reduce 57 + LOR reduce 57 + LAND reduce 57 + LNOT reduce 57 + EQ reduce 57 + LE reduce 57 + LT reduce 57 + GE reduce 57 + GT reduce 57 + NE reduce 57 + BITOR reduce 57 + BITXOR reduce 57 + BITAND reduce 57 + LSHIFT reduce 57 + RSHIFT reduce 57 + PLUS reduce 57 + MINUS reduce 57 + DIVIDE reduce 57 + MULTIPLY reduce 57 + MOD reduce 57 + BITNOT reduce 57 + LPAREN reduce 57 + SEMICOLON reduce 57 + IMPORT reduce 57 + NAME reduce 57 + COLON reduce 57 + FUNCTION reduce 57 + RPAREN reduce 57 + OBJECT reduce 57 + LBRACKET reduce 57 + VAR reduce 57 + RBRACKET reduce 57 + RSQBRACKET reduce 57 + L2V reduce 57 + STATIC reduce 57 + CONST reduce 57 + INC reduce 57 + DEC reduce 57 + ONCE reduce 57 + IF reduce 57 + SWITCHCASE reduce 57 + CASE reduce 57 + DEFAULT reduce 57 + WHILE reduce 57 + FOR reduce 57 + FOREACH reduce 57 + CONTINUE reduce 57 + BREAK reduce 57 + RETURN reduce 57 + ACTIONNAME reduce 57 + +State 195: + (56) bodyStmt ::= once_stmt * + + $ reduce 56 + ELSE reduce 56 + QMARK reduce 56 + COMMA reduce 56 + LOR reduce 56 + LAND reduce 56 + LNOT reduce 56 + EQ reduce 56 + LE reduce 56 + LT reduce 56 + GE reduce 56 + GT reduce 56 + NE reduce 56 + BITOR reduce 56 + BITXOR reduce 56 + BITAND reduce 56 + LSHIFT reduce 56 + RSHIFT reduce 56 + PLUS reduce 56 + MINUS reduce 56 + DIVIDE reduce 56 + MULTIPLY reduce 56 + MOD reduce 56 + BITNOT reduce 56 + LPAREN reduce 56 + SEMICOLON reduce 56 + IMPORT reduce 56 + NAME reduce 56 + COLON reduce 56 + FUNCTION reduce 56 + RPAREN reduce 56 + OBJECT reduce 56 + LBRACKET reduce 56 + VAR reduce 56 + RBRACKET reduce 56 + RSQBRACKET reduce 56 + L2V reduce 56 + STATIC reduce 56 + CONST reduce 56 + INC reduce 56 + DEC reduce 56 + ONCE reduce 56 + IF reduce 56 + SWITCHCASE reduce 56 + CASE reduce 56 + DEFAULT reduce 56 + WHILE reduce 56 + FOR reduce 56 + FOREACH reduce 56 + CONTINUE reduce 56 + BREAK reduce 56 + RETURN reduce 56 + ACTIONNAME reduce 56 + +State 196: + (55) bodyStmt ::= actionStmt * + + $ reduce 55 + ELSE reduce 55 + QMARK reduce 55 + COMMA reduce 55 + LOR reduce 55 + LAND reduce 55 + LNOT reduce 55 + EQ reduce 55 + LE reduce 55 + LT reduce 55 + GE reduce 55 + GT reduce 55 + NE reduce 55 + BITOR reduce 55 + BITXOR reduce 55 + BITAND reduce 55 + LSHIFT reduce 55 + RSHIFT reduce 55 + PLUS reduce 55 + MINUS reduce 55 + DIVIDE reduce 55 + MULTIPLY reduce 55 + MOD reduce 55 + BITNOT reduce 55 + LPAREN reduce 55 + SEMICOLON reduce 55 + IMPORT reduce 55 + NAME reduce 55 + COLON reduce 55 + FUNCTION reduce 55 + RPAREN reduce 55 + OBJECT reduce 55 + LBRACKET reduce 55 + VAR reduce 55 + RBRACKET reduce 55 + RSQBRACKET reduce 55 + L2V reduce 55 + STATIC reduce 55 + CONST reduce 55 + INC reduce 55 + DEC reduce 55 + ONCE reduce 55 + IF reduce 55 + SWITCHCASE reduce 55 + CASE reduce 55 + DEFAULT reduce 55 + WHILE reduce 55 + FOR reduce 55 + FOREACH reduce 55 + CONTINUE reduce 55 + BREAK reduce 55 + RETURN reduce 55 + ACTIONNAME reduce 55 + +State 197: + (54) bodyStmt ::= funcexprStmt SEMICOLON * + + $ reduce 54 + ELSE reduce 54 + QMARK reduce 54 + COMMA reduce 54 + LOR reduce 54 + LAND reduce 54 + LNOT reduce 54 + EQ reduce 54 + LE reduce 54 + LT reduce 54 + GE reduce 54 + GT reduce 54 + NE reduce 54 + BITOR reduce 54 + BITXOR reduce 54 + BITAND reduce 54 + LSHIFT reduce 54 + RSHIFT reduce 54 + PLUS reduce 54 + MINUS reduce 54 + DIVIDE reduce 54 + MULTIPLY reduce 54 + MOD reduce 54 + BITNOT reduce 54 + LPAREN reduce 54 + SEMICOLON reduce 54 + IMPORT reduce 54 + NAME reduce 54 + COLON reduce 54 + FUNCTION reduce 54 + RPAREN reduce 54 + OBJECT reduce 54 + LBRACKET reduce 54 + VAR reduce 54 + RBRACKET reduce 54 + RSQBRACKET reduce 54 + L2V reduce 54 + STATIC reduce 54 + CONST reduce 54 + INC reduce 54 + DEC reduce 54 + ONCE reduce 54 + IF reduce 54 + SWITCHCASE reduce 54 + CASE reduce 54 + DEFAULT reduce 54 + WHILE reduce 54 + FOR reduce 54 + FOREACH reduce 54 + CONTINUE reduce 54 + BREAK reduce 54 + RETURN reduce 54 + ACTIONNAME reduce 54 + +State 198: + (53) bodyStmt ::= assign_stmt SEMICOLON * + + $ reduce 53 + ELSE reduce 53 + QMARK reduce 53 + COMMA reduce 53 + LOR reduce 53 + LAND reduce 53 + LNOT reduce 53 + EQ reduce 53 + LE reduce 53 + LT reduce 53 + GE reduce 53 + GT reduce 53 + NE reduce 53 + BITOR reduce 53 + BITXOR reduce 53 + BITAND reduce 53 + LSHIFT reduce 53 + RSHIFT reduce 53 + PLUS reduce 53 + MINUS reduce 53 + DIVIDE reduce 53 + MULTIPLY reduce 53 + MOD reduce 53 + BITNOT reduce 53 + LPAREN reduce 53 + SEMICOLON reduce 53 + IMPORT reduce 53 + NAME reduce 53 + COLON reduce 53 + FUNCTION reduce 53 + RPAREN reduce 53 + OBJECT reduce 53 + LBRACKET reduce 53 + VAR reduce 53 + RBRACKET reduce 53 + RSQBRACKET reduce 53 + L2V reduce 53 + STATIC reduce 53 + CONST reduce 53 + INC reduce 53 + DEC reduce 53 + ONCE reduce 53 + IF reduce 53 + SWITCHCASE reduce 53 + CASE reduce 53 + DEFAULT reduce 53 + WHILE reduce 53 + FOR reduce 53 + FOREACH reduce 53 + CONTINUE reduce 53 + BREAK reduce 53 + RETURN reduce 53 + ACTIONNAME reduce 53 + +State 199: + (52) bodyStmt ::= cdef_stmt SEMICOLON * + + $ reduce 52 + ELSE reduce 52 + QMARK reduce 52 + COMMA reduce 52 + LOR reduce 52 + LAND reduce 52 + LNOT reduce 52 + EQ reduce 52 + LE reduce 52 + LT reduce 52 + GE reduce 52 + GT reduce 52 + NE reduce 52 + BITOR reduce 52 + BITXOR reduce 52 + BITAND reduce 52 + LSHIFT reduce 52 + RSHIFT reduce 52 + PLUS reduce 52 + MINUS reduce 52 + DIVIDE reduce 52 + MULTIPLY reduce 52 + MOD reduce 52 + BITNOT reduce 52 + LPAREN reduce 52 + SEMICOLON reduce 52 + IMPORT reduce 52 + NAME reduce 52 + COLON reduce 52 + FUNCTION reduce 52 + RPAREN reduce 52 + OBJECT reduce 52 + LBRACKET reduce 52 + VAR reduce 52 + RBRACKET reduce 52 + RSQBRACKET reduce 52 + L2V reduce 52 + STATIC reduce 52 + CONST reduce 52 + INC reduce 52 + DEC reduce 52 + ONCE reduce 52 + IF reduce 52 + SWITCHCASE reduce 52 + CASE reduce 52 + DEFAULT reduce 52 + WHILE reduce 52 + FOR reduce 52 + FOREACH reduce 52 + CONTINUE reduce 52 + BREAK reduce 52 + RETURN reduce 52 + ACTIONNAME reduce 52 + +State 200: + (51) bodyStmt ::= vdefAssign_stmt SEMICOLON * + + $ reduce 51 + ELSE reduce 51 + QMARK reduce 51 + COMMA reduce 51 + LOR reduce 51 + LAND reduce 51 + LNOT reduce 51 + EQ reduce 51 + LE reduce 51 + LT reduce 51 + GE reduce 51 + GT reduce 51 + NE reduce 51 + BITOR reduce 51 + BITXOR reduce 51 + BITAND reduce 51 + LSHIFT reduce 51 + RSHIFT reduce 51 + PLUS reduce 51 + MINUS reduce 51 + DIVIDE reduce 51 + MULTIPLY reduce 51 + MOD reduce 51 + BITNOT reduce 51 + LPAREN reduce 51 + SEMICOLON reduce 51 + IMPORT reduce 51 + NAME reduce 51 + COLON reduce 51 + FUNCTION reduce 51 + RPAREN reduce 51 + OBJECT reduce 51 + LBRACKET reduce 51 + VAR reduce 51 + RBRACKET reduce 51 + RSQBRACKET reduce 51 + L2V reduce 51 + STATIC reduce 51 + CONST reduce 51 + INC reduce 51 + DEC reduce 51 + ONCE reduce 51 + IF reduce 51 + SWITCHCASE reduce 51 + CASE reduce 51 + DEFAULT reduce 51 + WHILE reduce 51 + FOR reduce 51 + FOREACH reduce 51 + CONTINUE reduce 51 + BREAK reduce 51 + RETURN reduce 51 + ACTIONNAME reduce 51 + +State 201: + (50) bodyStmt ::= vdefAssignStatic_stmt SEMICOLON * + + $ reduce 50 + ELSE reduce 50 + QMARK reduce 50 + COMMA reduce 50 + LOR reduce 50 + LAND reduce 50 + LNOT reduce 50 + EQ reduce 50 + LE reduce 50 + LT reduce 50 + GE reduce 50 + GT reduce 50 + NE reduce 50 + BITOR reduce 50 + BITXOR reduce 50 + BITAND reduce 50 + LSHIFT reduce 50 + RSHIFT reduce 50 + PLUS reduce 50 + MINUS reduce 50 + DIVIDE reduce 50 + MULTIPLY reduce 50 + MOD reduce 50 + BITNOT reduce 50 + LPAREN reduce 50 + SEMICOLON reduce 50 + IMPORT reduce 50 + NAME reduce 50 + COLON reduce 50 + FUNCTION reduce 50 + RPAREN reduce 50 + OBJECT reduce 50 + LBRACKET reduce 50 + VAR reduce 50 + RBRACKET reduce 50 + RSQBRACKET reduce 50 + L2V reduce 50 + STATIC reduce 50 + CONST reduce 50 + INC reduce 50 + DEC reduce 50 + ONCE reduce 50 + IF reduce 50 + SWITCHCASE reduce 50 + CASE reduce 50 + DEFAULT reduce 50 + WHILE reduce 50 + FOR reduce 50 + FOREACH reduce 50 + CONTINUE reduce 50 + BREAK reduce 50 + RETURN reduce 50 + ACTIONNAME reduce 50 + +State 202: + (49) bodyStmt ::= vdef_stmt SEMICOLON * + + $ reduce 49 + ELSE reduce 49 + QMARK reduce 49 + COMMA reduce 49 + LOR reduce 49 + LAND reduce 49 + LNOT reduce 49 + EQ reduce 49 + LE reduce 49 + LT reduce 49 + GE reduce 49 + GT reduce 49 + NE reduce 49 + BITOR reduce 49 + BITXOR reduce 49 + BITAND reduce 49 + LSHIFT reduce 49 + RSHIFT reduce 49 + PLUS reduce 49 + MINUS reduce 49 + DIVIDE reduce 49 + MULTIPLY reduce 49 + MOD reduce 49 + BITNOT reduce 49 + LPAREN reduce 49 + SEMICOLON reduce 49 + IMPORT reduce 49 + NAME reduce 49 + COLON reduce 49 + FUNCTION reduce 49 + RPAREN reduce 49 + OBJECT reduce 49 + LBRACKET reduce 49 + VAR reduce 49 + RBRACKET reduce 49 + RSQBRACKET reduce 49 + L2V reduce 49 + STATIC reduce 49 + CONST reduce 49 + INC reduce 49 + DEC reduce 49 + ONCE reduce 49 + IF reduce 49 + SWITCHCASE reduce 49 + CASE reduce 49 + DEFAULT reduce 49 + WHILE reduce 49 + FOR reduce 49 + FOREACH reduce 49 + CONTINUE reduce 49 + BREAK reduce 49 + RETURN reduce 49 + ACTIONNAME reduce 49 + +State 203: + (48) bodyStmt ::= SEMICOLON * + + $ reduce 48 + ELSE reduce 48 + QMARK reduce 48 + COMMA reduce 48 + LOR reduce 48 + LAND reduce 48 + LNOT reduce 48 + EQ reduce 48 + LE reduce 48 + LT reduce 48 + GE reduce 48 + GT reduce 48 + NE reduce 48 + BITOR reduce 48 + BITXOR reduce 48 + BITAND reduce 48 + LSHIFT reduce 48 + RSHIFT reduce 48 + PLUS reduce 48 + MINUS reduce 48 + DIVIDE reduce 48 + MULTIPLY reduce 48 + MOD reduce 48 + BITNOT reduce 48 + LPAREN reduce 48 + SEMICOLON reduce 48 + IMPORT reduce 48 + NAME reduce 48 + COLON reduce 48 + FUNCTION reduce 48 + RPAREN reduce 48 + OBJECT reduce 48 + LBRACKET reduce 48 + VAR reduce 48 + RBRACKET reduce 48 + RSQBRACKET reduce 48 + L2V reduce 48 + STATIC reduce 48 + CONST reduce 48 + INC reduce 48 + DEC reduce 48 + ONCE reduce 48 + IF reduce 48 + SWITCHCASE reduce 48 + CASE reduce 48 + DEFAULT reduce 48 + WHILE reduce 48 + FOR reduce 48 + FOREACH reduce 48 + CONTINUE reduce 48 + BREAK reduce 48 + RETURN reduce 48 + ACTIONNAME reduce 48 + +State 204: + (47) bodyStmt ::= blockStmt * + + $ reduce 47 + ELSE reduce 47 + QMARK reduce 47 + COMMA reduce 47 + LOR reduce 47 + LAND reduce 47 + LNOT reduce 47 + EQ reduce 47 + LE reduce 47 + LT reduce 47 + GE reduce 47 + GT reduce 47 + NE reduce 47 + BITOR reduce 47 + BITXOR reduce 47 + BITAND reduce 47 + LSHIFT reduce 47 + RSHIFT reduce 47 + PLUS reduce 47 + MINUS reduce 47 + DIVIDE reduce 47 + MULTIPLY reduce 47 + MOD reduce 47 + BITNOT reduce 47 + LPAREN reduce 47 + SEMICOLON reduce 47 + IMPORT reduce 47 + NAME reduce 47 + COLON reduce 47 + FUNCTION reduce 47 + RPAREN reduce 47 + OBJECT reduce 47 + LBRACKET reduce 47 + VAR reduce 47 + RBRACKET reduce 47 + RSQBRACKET reduce 47 + L2V reduce 47 + STATIC reduce 47 + CONST reduce 47 + INC reduce 47 + DEC reduce 47 + ONCE reduce 47 + IF reduce 47 + SWITCHCASE reduce 47 + CASE reduce 47 + DEFAULT reduce 47 + WHILE reduce 47 + FOR reduce 47 + FOREACH reduce 47 + CONTINUE reduce 47 + BREAK reduce 47 + RETURN reduce 47 + ACTIONNAME reduce 47 + +State 205: + (44) blockStmt ::= lbracket error RBRACKET * + + $ reduce 44 + ELSE reduce 44 + QMARK reduce 44 + COMMA reduce 44 + LOR reduce 44 + LAND reduce 44 + LNOT reduce 44 + EQ reduce 44 + LE reduce 44 + LT reduce 44 + GE reduce 44 + GT reduce 44 + NE reduce 44 + BITOR reduce 44 + BITXOR reduce 44 + BITAND reduce 44 + LSHIFT reduce 44 + RSHIFT reduce 44 + PLUS reduce 44 + MINUS reduce 44 + DIVIDE reduce 44 + MULTIPLY reduce 44 + MOD reduce 44 + BITNOT reduce 44 + LPAREN reduce 44 + SEMICOLON reduce 44 + IMPORT reduce 44 + NAME reduce 44 + COLON reduce 44 + FUNCTION reduce 44 + RPAREN reduce 44 + OBJECT reduce 44 + LBRACKET reduce 44 + VAR reduce 44 + RBRACKET reduce 44 + RSQBRACKET reduce 44 + L2V reduce 44 + STATIC reduce 44 + CONST reduce 44 + INC reduce 44 + DEC reduce 44 + ONCE reduce 44 + IF reduce 44 + SWITCHCASE reduce 44 + CASE reduce 44 + DEFAULT reduce 44 + WHILE reduce 44 + FOR reduce 44 + FOREACH reduce 44 + CONTINUE reduce 44 + BREAK reduce 44 + RETURN reduce 44 + ACTIONNAME reduce 44 + +State 206: + (43) blockStmt ::= blockStmtSub rbracket * + + $ reduce 43 + ELSE reduce 43 + QMARK reduce 43 + COMMA reduce 43 + LOR reduce 43 + LAND reduce 43 + LNOT reduce 43 + EQ reduce 43 + LE reduce 43 + LT reduce 43 + GE reduce 43 + GT reduce 43 + NE reduce 43 + BITOR reduce 43 + BITXOR reduce 43 + BITAND reduce 43 + LSHIFT reduce 43 + RSHIFT reduce 43 + PLUS reduce 43 + MINUS reduce 43 + DIVIDE reduce 43 + MULTIPLY reduce 43 + MOD reduce 43 + BITNOT reduce 43 + LPAREN reduce 43 + SEMICOLON reduce 43 + IMPORT reduce 43 + NAME reduce 43 + COLON reduce 43 + FUNCTION reduce 43 + RPAREN reduce 43 + OBJECT reduce 43 + LBRACKET reduce 43 + VAR reduce 43 + RBRACKET reduce 43 + RSQBRACKET reduce 43 + L2V reduce 43 + STATIC reduce 43 + CONST reduce 43 + INC reduce 43 + DEC reduce 43 + ONCE reduce 43 + IF reduce 43 + SWITCHCASE reduce 43 + CASE reduce 43 + DEFAULT reduce 43 + WHILE reduce 43 + FOR reduce 43 + FOREACH reduce 43 + CONTINUE reduce 43 + BREAK reduce 43 + RETURN reduce 43 + ACTIONNAME reduce 43 + +State 207: + (42) rbracket ::= RBRACKET * + + $ reduce 42 + ELSE reduce 42 + QMARK reduce 42 + COMMA reduce 42 + LOR reduce 42 + LAND reduce 42 + LNOT reduce 42 + EQ reduce 42 + LE reduce 42 + LT reduce 42 + GE reduce 42 + GT reduce 42 + NE reduce 42 + BITOR reduce 42 + BITXOR reduce 42 + BITAND reduce 42 + LSHIFT reduce 42 + RSHIFT reduce 42 + PLUS reduce 42 + MINUS reduce 42 + DIVIDE reduce 42 + MULTIPLY reduce 42 + MOD reduce 42 + BITNOT reduce 42 + LPAREN reduce 42 + SEMICOLON reduce 42 + IMPORT reduce 42 + NAME reduce 42 + COLON reduce 42 + FUNCTION reduce 42 + RPAREN reduce 42 + OBJECT reduce 42 + LBRACKET reduce 42 + VAR reduce 42 + RBRACKET reduce 42 + RSQBRACKET reduce 42 + L2V reduce 42 + STATIC reduce 42 + CONST reduce 42 + INC reduce 42 + DEC reduce 42 + ONCE reduce 42 + IF reduce 42 + SWITCHCASE reduce 42 + CASE reduce 42 + DEFAULT reduce 42 + WHILE reduce 42 + FOR reduce 42 + FOREACH reduce 42 + CONTINUE reduce 42 + BREAK reduce 42 + RETURN reduce 42 + ACTIONNAME reduce 42 + +State 208: + (40) stmt ::= bodyStmt * + + $ reduce 40 + ELSE reduce 40 + QMARK reduce 40 + COMMA reduce 40 + LOR reduce 40 + LAND reduce 40 + LNOT reduce 40 + EQ reduce 40 + LE reduce 40 + LT reduce 40 + GE reduce 40 + GT reduce 40 + NE reduce 40 + BITOR reduce 40 + BITXOR reduce 40 + BITAND reduce 40 + LSHIFT reduce 40 + RSHIFT reduce 40 + PLUS reduce 40 + MINUS reduce 40 + DIVIDE reduce 40 + MULTIPLY reduce 40 + MOD reduce 40 + BITNOT reduce 40 + LPAREN reduce 40 + SEMICOLON reduce 40 + IMPORT reduce 40 + NAME reduce 40 + COLON reduce 40 + FUNCTION reduce 40 + RPAREN reduce 40 + OBJECT reduce 40 + LBRACKET reduce 40 + VAR reduce 40 + RBRACKET reduce 40 + RSQBRACKET reduce 40 + L2V reduce 40 + STATIC reduce 40 + CONST reduce 40 + INC reduce 40 + DEC reduce 40 + ONCE reduce 40 + IF reduce 40 + SWITCHCASE reduce 40 + CASE reduce 40 + DEFAULT reduce 40 + WHILE reduce 40 + FOR reduce 40 + FOREACH reduce 40 + CONTINUE reduce 40 + BREAK reduce 40 + RETURN reduce 40 + ACTIONNAME reduce 40 + +State 209: + (39) stmt ::= error SEMICOLON * + + $ reduce 39 + ELSE reduce 39 + QMARK reduce 39 + COMMA reduce 39 + LOR reduce 39 + LAND reduce 39 + LNOT reduce 39 + EQ reduce 39 + LE reduce 39 + LT reduce 39 + GE reduce 39 + GT reduce 39 + NE reduce 39 + BITOR reduce 39 + BITXOR reduce 39 + BITAND reduce 39 + LSHIFT reduce 39 + RSHIFT reduce 39 + PLUS reduce 39 + MINUS reduce 39 + DIVIDE reduce 39 + MULTIPLY reduce 39 + MOD reduce 39 + BITNOT reduce 39 + LPAREN reduce 39 + SEMICOLON reduce 39 + IMPORT reduce 39 + NAME reduce 39 + COLON reduce 39 + FUNCTION reduce 39 + RPAREN reduce 39 + OBJECT reduce 39 + LBRACKET reduce 39 + VAR reduce 39 + RBRACKET reduce 39 + RSQBRACKET reduce 39 + L2V reduce 39 + STATIC reduce 39 + CONST reduce 39 + INC reduce 39 + DEC reduce 39 + ONCE reduce 39 + IF reduce 39 + SWITCHCASE reduce 39 + CASE reduce 39 + DEFAULT reduce 39 + WHILE reduce 39 + FOR reduce 39 + FOREACH reduce 39 + CONTINUE reduce 39 + BREAK reduce 39 + RETURN reduce 39 + ACTIONNAME reduce 39 + +State 210: + (112) funcexpr ::= NAME LPAREN fArgs RPAREN * + + QMARK reduce 112 + COMMA reduce 112 + LOR reduce 112 + LAND reduce 112 + LNOT reduce 112 + EQ reduce 112 + LE reduce 112 + LT reduce 112 + GE reduce 112 + GT reduce 112 + NE reduce 112 + BITOR reduce 112 + BITXOR reduce 112 + BITAND reduce 112 + LSHIFT reduce 112 + RSHIFT reduce 112 + PLUS reduce 112 + MINUS reduce 112 + DIVIDE reduce 112 + MULTIPLY reduce 112 + MOD reduce 112 + BITNOT reduce 112 + LPAREN reduce 112 + LSQBRACKET reduce 112 + PERIOD reduce 112 + SEMICOLON reduce 112 + NAME reduce 112 + COLON reduce 112 + RPAREN reduce 112 + LBRACKET reduce 112 + VAR reduce 112 + RSQBRACKET reduce 112 + L2V reduce 112 + STATIC reduce 112 + CONST reduce 112 + INC reduce 112 + DEC reduce 112 + ONCE reduce 112 + IF reduce 112 + SWITCHCASE reduce 112 + WHILE reduce 112 + FOR reduce 112 + FOREACH reduce 112 + CONTINUE reduce 112 + BREAK reduce 112 + RETURN reduce 112 + ACTIONNAME reduce 112 + +State 211: + (113) funcexpr ::= nonConstExpr LPAREN fArgs RPAREN * + + QMARK reduce 113 + COMMA reduce 113 + LOR reduce 113 + LAND reduce 113 + LNOT reduce 113 + EQ reduce 113 + LE reduce 113 + LT reduce 113 + GE reduce 113 + GT reduce 113 + NE reduce 113 + BITOR reduce 113 + BITXOR reduce 113 + BITAND reduce 113 + LSHIFT reduce 113 + RSHIFT reduce 113 + PLUS reduce 113 + MINUS reduce 113 + DIVIDE reduce 113 + MULTIPLY reduce 113 + MOD reduce 113 + BITNOT reduce 113 + LPAREN reduce 113 + LSQBRACKET reduce 113 + PERIOD reduce 113 + SEMICOLON reduce 113 + NAME reduce 113 + COLON reduce 113 + RPAREN reduce 113 + LBRACKET reduce 113 + VAR reduce 113 + RSQBRACKET reduce 113 + L2V reduce 113 + STATIC reduce 113 + CONST reduce 113 + INC reduce 113 + DEC reduce 113 + ONCE reduce 113 + IF reduce 113 + SWITCHCASE reduce 113 + WHILE reduce 113 + FOR reduce 113 + FOREACH reduce 113 + CONTINUE reduce 113 + BREAK reduce 113 + RETURN reduce 113 + ACTIONNAME reduce 113 + +State 212: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (150) factor ::= constExpr MOD nonConstExpr * + + QMARK reduce 150 + COMMA reduce 150 + LOR reduce 150 + LAND reduce 150 + LNOT reduce 150 + EQ reduce 150 + LE reduce 150 + LT reduce 150 + GE reduce 150 + GT reduce 150 + NE reduce 150 + BITOR reduce 150 + BITXOR reduce 150 + BITAND reduce 150 + LSHIFT reduce 150 + RSHIFT reduce 150 + PLUS reduce 150 + MINUS reduce 150 + DIVIDE reduce 150 + MULTIPLY reduce 150 + MOD reduce 150 + BITNOT reduce 150 + LPAREN shift 20 + LPAREN reduce 150 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 150 + NAME reduce 150 + COLON reduce 150 + RPAREN reduce 150 + LBRACKET reduce 150 + VAR reduce 150 + RSQBRACKET reduce 150 + L2V reduce 150 + STATIC reduce 150 + CONST reduce 150 + INC reduce 150 + DEC reduce 150 + ONCE reduce 150 + IF reduce 150 + SWITCHCASE reduce 150 + WHILE reduce 150 + FOR reduce 150 + FOREACH reduce 150 + CONTINUE reduce 150 + BREAK reduce 150 + RETURN reduce 150 + ACTIONNAME reduce 150 + +State 213: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (147) factor ::= constExpr DIVIDE nonConstExpr * + + QMARK reduce 147 + COMMA reduce 147 + LOR reduce 147 + LAND reduce 147 + LNOT reduce 147 + EQ reduce 147 + LE reduce 147 + LT reduce 147 + GE reduce 147 + GT reduce 147 + NE reduce 147 + BITOR reduce 147 + BITXOR reduce 147 + BITAND reduce 147 + LSHIFT reduce 147 + RSHIFT reduce 147 + PLUS reduce 147 + MINUS reduce 147 + DIVIDE reduce 147 + MULTIPLY reduce 147 + MOD reduce 147 + BITNOT reduce 147 + LPAREN shift 20 + LPAREN reduce 147 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 147 + NAME reduce 147 + COLON reduce 147 + RPAREN reduce 147 + LBRACKET reduce 147 + VAR reduce 147 + RSQBRACKET reduce 147 + L2V reduce 147 + STATIC reduce 147 + CONST reduce 147 + INC reduce 147 + DEC reduce 147 + ONCE reduce 147 + IF reduce 147 + SWITCHCASE reduce 147 + WHILE reduce 147 + FOR reduce 147 + FOREACH reduce 147 + CONTINUE reduce 147 + BREAK reduce 147 + RETURN reduce 147 + ACTIONNAME reduce 147 + +State 214: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (144) factor ::= constExpr MULTIPLY nonConstExpr * + + QMARK reduce 144 + COMMA reduce 144 + LOR reduce 144 + LAND reduce 144 + LNOT reduce 144 + EQ reduce 144 + LE reduce 144 + LT reduce 144 + GE reduce 144 + GT reduce 144 + NE reduce 144 + BITOR reduce 144 + BITXOR reduce 144 + BITAND reduce 144 + LSHIFT reduce 144 + RSHIFT reduce 144 + PLUS reduce 144 + MINUS reduce 144 + DIVIDE reduce 144 + MULTIPLY reduce 144 + MOD reduce 144 + BITNOT reduce 144 + LPAREN shift 20 + LPAREN reduce 144 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 144 + NAME reduce 144 + COLON reduce 144 + RPAREN reduce 144 + LBRACKET reduce 144 + VAR reduce 144 + RSQBRACKET reduce 144 + L2V reduce 144 + STATIC reduce 144 + CONST reduce 144 + INC reduce 144 + DEC reduce 144 + ONCE reduce 144 + IF reduce 144 + SWITCHCASE reduce 144 + WHILE reduce 144 + FOR reduce 144 + FOREACH reduce 144 + CONTINUE reduce 144 + BREAK reduce 144 + RETURN reduce 144 + ACTIONNAME reduce 144 + +State 215: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (152) factor ::= factor MOD nonConstExpr * + + QMARK reduce 152 + COMMA reduce 152 + LOR reduce 152 + LAND reduce 152 + LNOT reduce 152 + EQ reduce 152 + LE reduce 152 + LT reduce 152 + GE reduce 152 + GT reduce 152 + NE reduce 152 + BITOR reduce 152 + BITXOR reduce 152 + BITAND reduce 152 + LSHIFT reduce 152 + RSHIFT reduce 152 + PLUS reduce 152 + MINUS reduce 152 + DIVIDE reduce 152 + MULTIPLY reduce 152 + MOD reduce 152 + BITNOT reduce 152 + LPAREN shift 20 + LPAREN reduce 152 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 152 + NAME reduce 152 + COLON reduce 152 + RPAREN reduce 152 + LBRACKET reduce 152 + VAR reduce 152 + RSQBRACKET reduce 152 + L2V reduce 152 + STATIC reduce 152 + CONST reduce 152 + INC reduce 152 + DEC reduce 152 + ONCE reduce 152 + IF reduce 152 + SWITCHCASE reduce 152 + WHILE reduce 152 + FOR reduce 152 + FOREACH reduce 152 + CONTINUE reduce 152 + BREAK reduce 152 + RETURN reduce 152 + ACTIONNAME reduce 152 + +State 216: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (188) nonConstExpr ::= LNOT nonConstExpr * + + QMARK reduce 188 + COMMA reduce 188 + LOR reduce 188 + LAND reduce 188 + LNOT reduce 188 + EQ reduce 188 + LE reduce 188 + LT reduce 188 + GE reduce 188 + GT reduce 188 + NE reduce 188 + BITOR reduce 188 + BITXOR reduce 188 + BITAND reduce 188 + LSHIFT reduce 188 + RSHIFT reduce 188 + PLUS reduce 188 + MINUS reduce 188 + DIVIDE reduce 188 + MULTIPLY reduce 188 + MOD reduce 188 + BITNOT reduce 188 + LPAREN shift 20 + LPAREN reduce 188 -- dropped by precedence + LSQBRACKET shift 64 + LSQBRACKET reduce 188 -- dropped by precedence + PERIOD shift 493 + PERIOD reduce 188 -- dropped by precedence + SEMICOLON reduce 188 + NAME reduce 188 + COLON reduce 188 + RPAREN reduce 188 + LBRACKET reduce 188 + VAR reduce 188 + RSQBRACKET reduce 188 + L2V reduce 188 + STATIC reduce 188 + CONST reduce 188 + INC reduce 188 + DEC reduce 188 + ONCE reduce 188 + IF reduce 188 + SWITCHCASE reduce 188 + WHILE reduce 188 + FOR reduce 188 + FOREACH reduce 188 + CONTINUE reduce 188 + BREAK reduce 188 + RETURN reduce 188 + ACTIONNAME reduce 188 + +State 217: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (186) nonConstExpr ::= BITNOT nonConstExpr * + + QMARK reduce 186 + COMMA reduce 186 + LOR reduce 186 + LAND reduce 186 + LNOT reduce 186 + EQ reduce 186 + LE reduce 186 + LT reduce 186 + GE reduce 186 + GT reduce 186 + NE reduce 186 + BITOR reduce 186 + BITXOR reduce 186 + BITAND reduce 186 + LSHIFT reduce 186 + RSHIFT reduce 186 + PLUS reduce 186 + MINUS reduce 186 + DIVIDE reduce 186 + MULTIPLY reduce 186 + MOD reduce 186 + BITNOT reduce 186 + LPAREN shift 20 + LPAREN reduce 186 -- dropped by precedence + LSQBRACKET shift 64 + LSQBRACKET reduce 186 -- dropped by precedence + PERIOD shift 493 + PERIOD reduce 186 -- dropped by precedence + SEMICOLON reduce 186 + NAME reduce 186 + COLON reduce 186 + RPAREN reduce 186 + LBRACKET reduce 186 + VAR reduce 186 + RSQBRACKET reduce 186 + L2V reduce 186 + STATIC reduce 186 + CONST reduce 186 + INC reduce 186 + DEC reduce 186 + ONCE reduce 186 + IF reduce 186 + SWITCHCASE reduce 186 + WHILE reduce 186 + FOR reduce 186 + FOREACH reduce 186 + CONTINUE reduce 186 + BREAK reduce 186 + RETURN reduce 186 + ACTIONNAME reduce 186 + +State 218: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (184) nonConstExpr ::= MINUS nonConstExpr * + + QMARK reduce 184 + COMMA reduce 184 + LOR reduce 184 + LAND reduce 184 + LNOT reduce 184 + EQ reduce 184 + LE reduce 184 + LT reduce 184 + GE reduce 184 + GT reduce 184 + NE reduce 184 + BITOR reduce 184 + BITXOR reduce 184 + BITAND reduce 184 + LSHIFT reduce 184 + RSHIFT reduce 184 + PLUS reduce 184 + MINUS reduce 184 + DIVIDE reduce 184 + MULTIPLY reduce 184 + MOD reduce 184 + BITNOT reduce 184 + LPAREN shift 20 + LPAREN reduce 184 -- dropped by precedence + LSQBRACKET shift 64 + LSQBRACKET reduce 184 -- dropped by precedence + PERIOD shift 493 + PERIOD reduce 184 -- dropped by precedence + SEMICOLON reduce 184 + NAME reduce 184 + COLON reduce 184 + RPAREN reduce 184 + LBRACKET reduce 184 + VAR reduce 184 + RSQBRACKET reduce 184 + L2V reduce 184 + STATIC reduce 184 + CONST reduce 184 + INC reduce 184 + DEC reduce 184 + ONCE reduce 184 + IF reduce 184 + SWITCHCASE reduce 184 + WHILE reduce 184 + FOR reduce 184 + FOREACH reduce 184 + CONTINUE reduce 184 + BREAK reduce 184 + RETURN reduce 184 + ACTIONNAME reduce 184 + +State 219: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (182) nonConstExpr ::= PLUS nonConstExpr * + + QMARK reduce 182 + COMMA reduce 182 + LOR reduce 182 + LAND reduce 182 + LNOT reduce 182 + EQ reduce 182 + LE reduce 182 + LT reduce 182 + GE reduce 182 + GT reduce 182 + NE reduce 182 + BITOR reduce 182 + BITXOR reduce 182 + BITAND reduce 182 + LSHIFT reduce 182 + RSHIFT reduce 182 + PLUS reduce 182 + MINUS reduce 182 + DIVIDE reduce 182 + MULTIPLY reduce 182 + MOD reduce 182 + BITNOT reduce 182 + LPAREN shift 20 + LPAREN reduce 182 -- dropped by precedence + LSQBRACKET shift 64 + LSQBRACKET reduce 182 -- dropped by precedence + PERIOD shift 493 + PERIOD reduce 182 -- dropped by precedence + SEMICOLON reduce 182 + NAME reduce 182 + COLON reduce 182 + RPAREN reduce 182 + LBRACKET reduce 182 + VAR reduce 182 + RSQBRACKET reduce 182 + L2V reduce 182 + STATIC reduce 182 + CONST reduce 182 + INC reduce 182 + DEC reduce 182 + ONCE reduce 182 + IF reduce 182 + SWITCHCASE reduce 182 + WHILE reduce 182 + FOR reduce 182 + FOREACH reduce 182 + CONTINUE reduce 182 + BREAK reduce 182 + RETURN reduce 182 + ACTIONNAME reduce 182 + +State 220: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (149) factor ::= factor DIVIDE nonConstExpr * + + QMARK reduce 149 + COMMA reduce 149 + LOR reduce 149 + LAND reduce 149 + LNOT reduce 149 + EQ reduce 149 + LE reduce 149 + LT reduce 149 + GE reduce 149 + GT reduce 149 + NE reduce 149 + BITOR reduce 149 + BITXOR reduce 149 + BITAND reduce 149 + LSHIFT reduce 149 + RSHIFT reduce 149 + PLUS reduce 149 + MINUS reduce 149 + DIVIDE reduce 149 + MULTIPLY reduce 149 + MOD reduce 149 + BITNOT reduce 149 + LPAREN shift 20 + LPAREN reduce 149 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 149 + NAME reduce 149 + COLON reduce 149 + RPAREN reduce 149 + LBRACKET reduce 149 + VAR reduce 149 + RSQBRACKET reduce 149 + L2V reduce 149 + STATIC reduce 149 + CONST reduce 149 + INC reduce 149 + DEC reduce 149 + ONCE reduce 149 + IF reduce 149 + SWITCHCASE reduce 149 + WHILE reduce 149 + FOR reduce 149 + FOREACH reduce 149 + CONTINUE reduce 149 + BREAK reduce 149 + RETURN reduce 149 + ACTIONNAME reduce 149 + +State 221: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (146) factor ::= factor MULTIPLY nonConstExpr * + + QMARK reduce 146 + COMMA reduce 146 + LOR reduce 146 + LAND reduce 146 + LNOT reduce 146 + EQ reduce 146 + LE reduce 146 + LT reduce 146 + GE reduce 146 + GT reduce 146 + NE reduce 146 + BITOR reduce 146 + BITXOR reduce 146 + BITAND reduce 146 + LSHIFT reduce 146 + RSHIFT reduce 146 + PLUS reduce 146 + MINUS reduce 146 + DIVIDE reduce 146 + MULTIPLY reduce 146 + MOD reduce 146 + BITNOT reduce 146 + LPAREN shift 20 + LPAREN reduce 146 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 146 + NAME reduce 146 + COLON reduce 146 + RPAREN reduce 146 + LBRACKET reduce 146 + VAR reduce 146 + RSQBRACKET reduce 146 + L2V reduce 146 + STATIC reduce 146 + CONST reduce 146 + INC reduce 146 + DEC reduce 146 + ONCE reduce 146 + IF reduce 146 + SWITCHCASE reduce 146 + WHILE reduce 146 + FOR reduce 146 + FOREACH reduce 146 + CONTINUE reduce 146 + BREAK reduce 146 + RETURN reduce 146 + ACTIONNAME reduce 146 + +State 222: + (120) nonConstExpr ::= L2V LPAREN expr RPAREN * + + QMARK reduce 120 + COMMA reduce 120 + LOR reduce 120 + LAND reduce 120 + LNOT reduce 120 + EQ reduce 120 + LE reduce 120 + LT reduce 120 + GE reduce 120 + GT reduce 120 + NE reduce 120 + BITOR reduce 120 + BITXOR reduce 120 + BITAND reduce 120 + LSHIFT reduce 120 + RSHIFT reduce 120 + PLUS reduce 120 + MINUS reduce 120 + DIVIDE reduce 120 + MULTIPLY reduce 120 + MOD reduce 120 + BITNOT reduce 120 + LPAREN reduce 120 + LSQBRACKET reduce 120 + PERIOD reduce 120 + SEMICOLON reduce 120 + NAME reduce 120 + COLON reduce 120 + RPAREN reduce 120 + LBRACKET reduce 120 + VAR reduce 120 + RSQBRACKET reduce 120 + L2V reduce 120 + STATIC reduce 120 + CONST reduce 120 + INC reduce 120 + DEC reduce 120 + ONCE reduce 120 + IF reduce 120 + SWITCHCASE reduce 120 + WHILE reduce 120 + FOR reduce 120 + FOREACH reduce 120 + CONTINUE reduce 120 + BREAK reduce 120 + RETURN reduce 120 + ACTIONNAME reduce 120 + +State 223: + exprList_nonEmpty ::= funcexpr * LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + (114) nonConstExpr ::= funcexpr * + + QMARK reduce 114 + COMMA reduce 114 + LOR reduce 114 + LAND reduce 114 + LNOT reduce 114 + EQ reduce 114 + LE reduce 114 + LT reduce 114 + GE reduce 114 + GT reduce 114 + NE reduce 114 + BITOR reduce 114 + BITXOR reduce 114 + BITAND reduce 114 + LSHIFT reduce 114 + RSHIFT reduce 114 + PLUS reduce 114 + MINUS reduce 114 + DIVIDE reduce 114 + MULTIPLY reduce 114 + MOD reduce 114 + BITNOT reduce 114 + LPAREN reduce 114 + LSQBRACKET shift 583 + LSQBRACKET reduce 114 -- dropped by precedence + PERIOD reduce 114 + SEMICOLON reduce 114 + NAME reduce 114 + COLON reduce 114 + RPAREN reduce 114 + LBRACKET reduce 114 + VAR reduce 114 + RSQBRACKET reduce 114 + L2V reduce 114 + STATIC reduce 114 + CONST reduce 114 + INC reduce 114 + DEC reduce 114 + ONCE reduce 114 + IF reduce 114 + SWITCHCASE reduce 114 + WHILE reduce 114 + FOR reduce 114 + FOREACH reduce 114 + CONTINUE reduce 114 + BREAK reduce 114 + RETURN reduce 114 + ACTIONNAME reduce 114 + +State 224: + (116) nonConstExpr ::= LPAREN logicExpr RPAREN * + + QMARK reduce 116 + COMMA reduce 116 + LOR reduce 116 + LAND reduce 116 + LNOT reduce 116 + EQ reduce 116 + LE reduce 116 + LT reduce 116 + GE reduce 116 + GT reduce 116 + NE reduce 116 + BITOR reduce 116 + BITXOR reduce 116 + BITAND reduce 116 + LSHIFT reduce 116 + RSHIFT reduce 116 + PLUS reduce 116 + MINUS reduce 116 + DIVIDE reduce 116 + MULTIPLY reduce 116 + MOD reduce 116 + BITNOT reduce 116 + LPAREN reduce 116 + LSQBRACKET reduce 116 + PERIOD reduce 116 + SEMICOLON reduce 116 + NAME reduce 116 + COLON reduce 116 + RPAREN reduce 116 + LBRACKET reduce 116 + VAR reduce 116 + RSQBRACKET reduce 116 + L2V reduce 116 + STATIC reduce 116 + CONST reduce 116 + INC reduce 116 + DEC reduce 116 + ONCE reduce 116 + IF reduce 116 + SWITCHCASE reduce 116 + WHILE reduce 116 + FOR reduce 116 + FOREACH reduce 116 + CONTINUE reduce 116 + BREAK reduce 116 + RETURN reduce 116 + ACTIONNAME reduce 116 + +State 225: + (90) nonConstExpr ::= nonConstExpr LSQBRACKET expr RSQBRACKET * + + QMARK reduce 90 + COMMA reduce 90 + LOR reduce 90 + LAND reduce 90 + LNOT reduce 90 + EQ reduce 90 + LE reduce 90 + LT reduce 90 + GE reduce 90 + GT reduce 90 + NE reduce 90 + BITOR reduce 90 + BITXOR reduce 90 + BITAND reduce 90 + LSHIFT reduce 90 + RSHIFT reduce 90 + PLUS reduce 90 + MINUS reduce 90 + DIVIDE reduce 90 + MULTIPLY reduce 90 + MOD reduce 90 + BITNOT reduce 90 + LPAREN reduce 90 + LSQBRACKET reduce 90 + PERIOD reduce 90 + SEMICOLON reduce 90 + NAME reduce 90 + COLON reduce 90 + RPAREN reduce 90 + LBRACKET reduce 90 + VAR reduce 90 + RSQBRACKET reduce 90 + L2V reduce 90 + STATIC reduce 90 + CONST reduce 90 + INC reduce 90 + DEC reduce 90 + ONCE reduce 90 + IF reduce 90 + SWITCHCASE reduce 90 + WHILE reduce 90 + FOR reduce 90 + FOREACH reduce 90 + CONTINUE reduce 90 + BREAK reduce 90 + RETURN reduce 90 + ACTIONNAME reduce 90 + +State 226: + (89) nonConstExpr ::= nonConstExpr PERIOD TRGCONST * + + QMARK reduce 89 + COMMA reduce 89 + LOR reduce 89 + LAND reduce 89 + LNOT reduce 89 + EQ reduce 89 + LE reduce 89 + LT reduce 89 + GE reduce 89 + GT reduce 89 + NE reduce 89 + BITOR reduce 89 + BITXOR reduce 89 + BITAND reduce 89 + LSHIFT reduce 89 + RSHIFT reduce 89 + PLUS reduce 89 + MINUS reduce 89 + DIVIDE reduce 89 + MULTIPLY reduce 89 + MOD reduce 89 + BITNOT reduce 89 + LPAREN reduce 89 + LSQBRACKET reduce 89 + PERIOD reduce 89 + SEMICOLON reduce 89 + NAME reduce 89 + COLON reduce 89 + RPAREN reduce 89 + LBRACKET reduce 89 + VAR reduce 89 + RSQBRACKET reduce 89 + L2V reduce 89 + STATIC reduce 89 + CONST reduce 89 + INC reduce 89 + DEC reduce 89 + ONCE reduce 89 + IF reduce 89 + SWITCHCASE reduce 89 + WHILE reduce 89 + FOR reduce 89 + FOREACH reduce 89 + CONTINUE reduce 89 + BREAK reduce 89 + RETURN reduce 89 + ACTIONNAME reduce 89 + +State 227: + (88) nonConstExpr ::= nonConstExpr PERIOD NAME * + + QMARK reduce 88 + COMMA reduce 88 + LOR reduce 88 + LAND reduce 88 + LNOT reduce 88 + EQ reduce 88 + LE reduce 88 + LT reduce 88 + GE reduce 88 + GT reduce 88 + NE reduce 88 + BITOR reduce 88 + BITXOR reduce 88 + BITAND reduce 88 + LSHIFT reduce 88 + RSHIFT reduce 88 + PLUS reduce 88 + MINUS reduce 88 + DIVIDE reduce 88 + MULTIPLY reduce 88 + MOD reduce 88 + BITNOT reduce 88 + LPAREN reduce 88 + LSQBRACKET reduce 88 + PERIOD reduce 88 + SEMICOLON reduce 88 + NAME reduce 88 + COLON reduce 88 + RPAREN reduce 88 + LBRACKET reduce 88 + VAR reduce 88 + RSQBRACKET reduce 88 + L2V reduce 88 + STATIC reduce 88 + CONST reduce 88 + INC reduce 88 + DEC reduce 88 + ONCE reduce 88 + IF reduce 88 + SWITCHCASE reduce 88 + WHILE reduce 88 + FOR reduce 88 + FOREACH reduce 88 + CONTINUE reduce 88 + BREAK reduce 88 + RETURN reduce 88 + ACTIONNAME reduce 88 + +State 228: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + (143) factor ::= nonConstExpr * + + QMARK reduce 143 + COMMA reduce 143 + LOR reduce 143 + LAND reduce 143 + LNOT reduce 143 + EQ reduce 143 + LE reduce 143 + LT reduce 143 + GE reduce 143 + GT reduce 143 + NE reduce 143 + BITOR reduce 143 + BITXOR reduce 143 + BITAND reduce 143 + LSHIFT reduce 143 + RSHIFT reduce 143 + PLUS reduce 143 + MINUS reduce 143 + DIVIDE reduce 143 + MULTIPLY reduce 143 + MOD reduce 143 + BITNOT reduce 143 + LPAREN shift 20 + LPAREN reduce 143 -- dropped by precedence + LSQBRACKET shift 64 + PERIOD shift 493 + SEMICOLON reduce 143 + NAME reduce 143 + COLON reduce 143 + RPAREN reduce 143 + LBRACKET reduce 143 + VAR reduce 143 + RSQBRACKET reduce 143 + L2V reduce 143 + STATIC reduce 143 + CONST reduce 143 + INC reduce 143 + DEC reduce 143 + ONCE reduce 143 + IF reduce 143 + SWITCHCASE reduce 143 + WHILE reduce 143 + FOR reduce 143 + FOREACH reduce 143 + CONTINUE reduce 143 + BREAK reduce 143 + RETURN reduce 143 + ACTIONNAME reduce 143 + +State 229: + (87) nonConstExpr ::= NAME * + funcexpr ::= NAME * LPAREN fArgs RPAREN + + QMARK reduce 87 + COMMA reduce 87 + LOR reduce 87 + LAND reduce 87 + LNOT reduce 87 + EQ reduce 87 + LE reduce 87 + LT reduce 87 + GE reduce 87 + GT reduce 87 + NE reduce 87 + BITOR reduce 87 + BITXOR reduce 87 + BITAND reduce 87 + LSHIFT reduce 87 + RSHIFT reduce 87 + PLUS reduce 87 + MINUS reduce 87 + DIVIDE reduce 87 + MULTIPLY reduce 87 + MOD reduce 87 + BITNOT reduce 87 + LPAREN shift 21 + LPAREN reduce 87 -- dropped by precedence + LSQBRACKET reduce 87 + PERIOD reduce 87 + SEMICOLON reduce 87 + NAME reduce 87 + COLON reduce 87 + RPAREN reduce 87 + LBRACKET reduce 87 + VAR reduce 87 + RSQBRACKET reduce 87 + L2V reduce 87 + STATIC reduce 87 + CONST reduce 87 + INC reduce 87 + DEC reduce 87 + ONCE reduce 87 + IF reduce 87 + SWITCHCASE reduce 87 + WHILE reduce 87 + FOR reduce 87 + FOREACH reduce 87 + CONTINUE reduce 87 + BREAK reduce 87 + RETURN reduce 87 + ACTIONNAME reduce 87 + +State 230: + (79) nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET * + + QMARK reduce 79 + COMMA reduce 79 + LOR reduce 79 + LAND reduce 79 + LNOT reduce 79 + EQ reduce 79 + LE reduce 79 + LT reduce 79 + GE reduce 79 + GT reduce 79 + NE reduce 79 + BITOR reduce 79 + BITXOR reduce 79 + BITAND reduce 79 + LSHIFT reduce 79 + RSHIFT reduce 79 + PLUS reduce 79 + MINUS reduce 79 + DIVIDE reduce 79 + MULTIPLY reduce 79 + MOD reduce 79 + BITNOT reduce 79 + LPAREN reduce 79 + LSQBRACKET reduce 79 + PERIOD reduce 79 + SEMICOLON reduce 79 + NAME reduce 79 + COLON reduce 79 + RPAREN reduce 79 + LBRACKET reduce 79 + VAR reduce 79 + RSQBRACKET reduce 79 + L2V reduce 79 + STATIC reduce 79 + CONST reduce 79 + INC reduce 79 + DEC reduce 79 + ONCE reduce 79 + IF reduce 79 + SWITCHCASE reduce 79 + WHILE reduce 79 + FOR reduce 79 + FOREACH reduce 79 + CONTINUE reduce 79 + BREAK reduce 79 + RETURN reduce 79 + ACTIONNAME reduce 79 + +State 231: + nonConstExpr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + (114) nonConstExpr ::= funcexpr * + + QMARK reduce 114 + COMMA reduce 114 + LOR reduce 114 + LAND reduce 114 + LNOT reduce 114 + EQ reduce 114 + LE reduce 114 + LT reduce 114 + GE reduce 114 + GT reduce 114 + NE reduce 114 + BITOR reduce 114 + BITXOR reduce 114 + BITAND reduce 114 + LSHIFT reduce 114 + RSHIFT reduce 114 + PLUS reduce 114 + MINUS reduce 114 + DIVIDE reduce 114 + MULTIPLY reduce 114 + MOD reduce 114 + BITNOT reduce 114 + LPAREN reduce 114 + LSQBRACKET shift 602 + LSQBRACKET reduce 114 -- dropped by precedence + PERIOD reduce 114 + SEMICOLON reduce 114 + NAME reduce 114 + COLON reduce 114 + RPAREN reduce 114 + LBRACKET reduce 114 + VAR reduce 114 + RSQBRACKET reduce 114 + L2V reduce 114 + STATIC reduce 114 + CONST reduce 114 + INC reduce 114 + DEC reduce 114 + ONCE reduce 114 + IF reduce 114 + SWITCHCASE reduce 114 + WHILE reduce 114 + FOR reduce 114 + FOREACH reduce 114 + CONTINUE reduce 114 + BREAK reduce 114 + RETURN reduce 114 + ACTIONNAME reduce 114 + +State 232: + (92) constExpr ::= lambdaExprStart stmt * + + QMARK reduce 92 + COMMA reduce 92 + LOR reduce 92 + LAND reduce 92 + LNOT reduce 92 + EQ reduce 92 + LE reduce 92 + LT reduce 92 + GE reduce 92 + GT reduce 92 + NE reduce 92 + BITOR reduce 92 + BITXOR reduce 92 + BITAND reduce 92 + LSHIFT reduce 92 + RSHIFT reduce 92 + PLUS reduce 92 + MINUS reduce 92 + DIVIDE reduce 92 + MULTIPLY reduce 92 + MOD reduce 92 + BITNOT reduce 92 + LPAREN reduce 92 + SEMICOLON reduce 92 + NAME reduce 92 + COLON reduce 92 + RPAREN reduce 92 + LBRACKET reduce 92 + VAR reduce 92 + RSQBRACKET reduce 92 + L2V reduce 92 + STATIC reduce 92 + CONST reduce 92 + INC reduce 92 + DEC reduce 92 + ONCE reduce 92 + IF reduce 92 + SWITCHCASE reduce 92 + WHILE reduce 92 + FOR reduce 92 + FOREACH reduce 92 + CONTINUE reduce 92 + BREAK reduce 92 + RETURN reduce 92 + ACTIONNAME reduce 92 + +State 233: + (119) constExpr ::= LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET * + + QMARK reduce 119 + COMMA reduce 119 + LOR reduce 119 + LAND reduce 119 + LNOT reduce 119 + EQ reduce 119 + LE reduce 119 + LT reduce 119 + GE reduce 119 + GT reduce 119 + NE reduce 119 + BITOR reduce 119 + BITXOR reduce 119 + BITAND reduce 119 + LSHIFT reduce 119 + RSHIFT reduce 119 + PLUS reduce 119 + MINUS reduce 119 + DIVIDE reduce 119 + MULTIPLY reduce 119 + MOD reduce 119 + BITNOT reduce 119 + LPAREN reduce 119 + SEMICOLON reduce 119 + NAME reduce 119 + COLON reduce 119 + RPAREN reduce 119 + LBRACKET reduce 119 + VAR reduce 119 + RSQBRACKET reduce 119 + L2V reduce 119 + STATIC reduce 119 + CONST reduce 119 + INC reduce 119 + DEC reduce 119 + ONCE reduce 119 + IF reduce 119 + SWITCHCASE reduce 119 + WHILE reduce 119 + FOR reduce 119 + FOREACH reduce 119 + CONTINUE reduce 119 + BREAK reduce 119 + RETURN reduce 119 + ACTIONNAME reduce 119 + +State 234: + (145) factor ::= factor MULTIPLY constExpr * + + QMARK reduce 145 + COMMA reduce 145 + LOR reduce 145 + LAND reduce 145 + LNOT reduce 145 + EQ reduce 145 + LE reduce 145 + LT reduce 145 + GE reduce 145 + GT reduce 145 + NE reduce 145 + BITOR reduce 145 + BITXOR reduce 145 + BITAND reduce 145 + LSHIFT reduce 145 + RSHIFT reduce 145 + PLUS reduce 145 + MINUS reduce 145 + DIVIDE reduce 145 + MULTIPLY reduce 145 + MOD reduce 145 + BITNOT reduce 145 + LPAREN reduce 145 + SEMICOLON reduce 145 + NAME reduce 145 + COLON reduce 145 + RPAREN reduce 145 + LBRACKET reduce 145 + VAR reduce 145 + RSQBRACKET reduce 145 + L2V reduce 145 + STATIC reduce 145 + CONST reduce 145 + INC reduce 145 + DEC reduce 145 + ONCE reduce 145 + IF reduce 145 + SWITCHCASE reduce 145 + WHILE reduce 145 + FOR reduce 145 + FOREACH reduce 145 + CONTINUE reduce 145 + BREAK reduce 145 + RETURN reduce 145 + ACTIONNAME reduce 145 + +State 235: + (130) constTerm ::= constTerm PLUS constFactor * + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 130 + COMMA reduce 130 + LOR reduce 130 + LAND reduce 130 + LNOT reduce 130 + EQ reduce 130 + LE reduce 130 + LT reduce 130 + GE reduce 130 + GT reduce 130 + NE reduce 130 + BITOR reduce 130 + BITXOR reduce 130 + BITAND reduce 130 + LSHIFT reduce 130 + RSHIFT reduce 130 + PLUS reduce 130 + MINUS reduce 130 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 130 + LPAREN reduce 130 + SEMICOLON reduce 130 + NAME reduce 130 + COLON reduce 130 + RPAREN reduce 130 + LBRACKET reduce 130 + VAR reduce 130 + RSQBRACKET reduce 130 + L2V reduce 130 + STATIC reduce 130 + CONST reduce 130 + INC reduce 130 + DEC reduce 130 + ONCE reduce 130 + IF reduce 130 + SWITCHCASE reduce 130 + WHILE reduce 130 + FOR reduce 130 + FOREACH reduce 130 + CONTINUE reduce 130 + BREAK reduce 130 + RETURN reduce 130 + ACTIONNAME reduce 130 + +State 236: + (319) constExpr ::= ACTIONNAME LPAREN fArgs RPAREN * + + QMARK reduce 319 + COMMA reduce 319 + LOR reduce 319 + LAND reduce 319 + LNOT reduce 319 + EQ reduce 319 + LE reduce 319 + LT reduce 319 + GE reduce 319 + GT reduce 319 + NE reduce 319 + BITOR reduce 319 + BITXOR reduce 319 + BITAND reduce 319 + LSHIFT reduce 319 + RSHIFT reduce 319 + PLUS reduce 319 + MINUS reduce 319 + DIVIDE reduce 319 + MULTIPLY reduce 319 + MOD reduce 319 + BITNOT reduce 319 + LPAREN reduce 319 + SEMICOLON reduce 319 + NAME reduce 319 + COLON reduce 319 + RPAREN reduce 319 + LBRACKET reduce 319 + VAR reduce 319 + RSQBRACKET reduce 319 + L2V reduce 319 + STATIC reduce 319 + CONST reduce 319 + INC reduce 319 + DEC reduce 319 + ONCE reduce 319 + IF reduce 319 + SWITCHCASE reduce 319 + WHILE reduce 319 + FOR reduce 319 + FOREACH reduce 319 + CONTINUE reduce 319 + BREAK reduce 319 + RETURN reduce 319 + ACTIONNAME reduce 319 + +State 237: + (138) term ::= term MINUS factor * + factor ::= factor * MULTIPLY constExpr + factor ::= factor * MULTIPLY nonConstExpr + factor ::= factor * DIVIDE constExpr + factor ::= factor * DIVIDE nonConstExpr + factor ::= factor * MOD constExpr + factor ::= factor * MOD nonConstExpr + + QMARK reduce 138 + COMMA reduce 138 + LOR reduce 138 + LAND reduce 138 + LNOT reduce 138 + EQ reduce 138 + LE reduce 138 + LT reduce 138 + GE reduce 138 + GT reduce 138 + NE reduce 138 + BITOR reduce 138 + BITXOR reduce 138 + BITAND reduce 138 + LSHIFT reduce 138 + RSHIFT reduce 138 + PLUS reduce 138 + MINUS reduce 138 + DIVIDE shift 125 + MULTIPLY shift 126 + MOD shift 120 + BITNOT reduce 138 + LPAREN reduce 138 + SEMICOLON reduce 138 + NAME reduce 138 + COLON reduce 138 + RPAREN reduce 138 + LBRACKET reduce 138 + VAR reduce 138 + RSQBRACKET reduce 138 + L2V reduce 138 + STATIC reduce 138 + CONST reduce 138 + INC reduce 138 + DEC reduce 138 + ONCE reduce 138 + IF reduce 138 + SWITCHCASE reduce 138 + WHILE reduce 138 + FOR reduce 138 + FOREACH reduce 138 + CONTINUE reduce 138 + BREAK reduce 138 + RETURN reduce 138 + ACTIONNAME reduce 138 + +State 238: + (137) term ::= term MINUS constFactor * + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 137 + COMMA reduce 137 + LOR reduce 137 + LAND reduce 137 + LNOT reduce 137 + EQ reduce 137 + LE reduce 137 + LT reduce 137 + GE reduce 137 + GT reduce 137 + NE reduce 137 + BITOR reduce 137 + BITXOR reduce 137 + BITAND reduce 137 + LSHIFT reduce 137 + RSHIFT reduce 137 + PLUS reduce 137 + MINUS reduce 137 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 137 + LPAREN reduce 137 + SEMICOLON reduce 137 + NAME reduce 137 + COLON reduce 137 + RPAREN reduce 137 + LBRACKET reduce 137 + VAR reduce 137 + RSQBRACKET reduce 137 + L2V reduce 137 + STATIC reduce 137 + CONST reduce 137 + INC reduce 137 + DEC reduce 137 + ONCE reduce 137 + IF reduce 137 + SWITCHCASE reduce 137 + WHILE reduce 137 + FOR reduce 137 + FOREACH reduce 137 + CONTINUE reduce 137 + BREAK reduce 137 + RETURN reduce 137 + ACTIONNAME reduce 137 + +State 239: + (136) term ::= constFactor MINUS factor * + factor ::= factor * MULTIPLY constExpr + factor ::= factor * MULTIPLY nonConstExpr + factor ::= factor * DIVIDE constExpr + factor ::= factor * DIVIDE nonConstExpr + factor ::= factor * MOD constExpr + factor ::= factor * MOD nonConstExpr + + QMARK reduce 136 + COMMA reduce 136 + LOR reduce 136 + LAND reduce 136 + LNOT reduce 136 + EQ reduce 136 + LE reduce 136 + LT reduce 136 + GE reduce 136 + GT reduce 136 + NE reduce 136 + BITOR reduce 136 + BITXOR reduce 136 + BITAND reduce 136 + LSHIFT reduce 136 + RSHIFT reduce 136 + PLUS reduce 136 + MINUS reduce 136 + DIVIDE shift 125 + MULTIPLY shift 126 + MOD shift 120 + BITNOT reduce 136 + LPAREN reduce 136 + SEMICOLON reduce 136 + NAME reduce 136 + COLON reduce 136 + RPAREN reduce 136 + LBRACKET reduce 136 + VAR reduce 136 + RSQBRACKET reduce 136 + L2V reduce 136 + STATIC reduce 136 + CONST reduce 136 + INC reduce 136 + DEC reduce 136 + ONCE reduce 136 + IF reduce 136 + SWITCHCASE reduce 136 + WHILE reduce 136 + FOR reduce 136 + FOREACH reduce 136 + CONTINUE reduce 136 + BREAK reduce 136 + RETURN reduce 136 + ACTIONNAME reduce 136 + +State 240: + (139) constFactor ::= constExpr * + + QMARK reduce 139 + COMMA reduce 139 + LOR reduce 139 + LAND reduce 139 + LNOT reduce 139 + EQ reduce 139 + LE reduce 139 + LT reduce 139 + GE reduce 139 + GT reduce 139 + NE reduce 139 + BITOR reduce 139 + BITXOR reduce 139 + BITAND reduce 139 + LSHIFT reduce 139 + RSHIFT reduce 139 + PLUS reduce 139 + MINUS reduce 139 + DIVIDE reduce 139 + MULTIPLY reduce 139 + MOD reduce 139 + BITNOT reduce 139 + LPAREN reduce 139 + SEMICOLON reduce 139 + NAME reduce 139 + COLON reduce 139 + RPAREN reduce 139 + LBRACKET reduce 139 + VAR reduce 139 + RSQBRACKET reduce 139 + L2V reduce 139 + STATIC reduce 139 + CONST reduce 139 + INC reduce 139 + DEC reduce 139 + ONCE reduce 139 + IF reduce 139 + SWITCHCASE reduce 139 + WHILE reduce 139 + FOR reduce 139 + FOREACH reduce 139 + CONTINUE reduce 139 + BREAK reduce 139 + RETURN reduce 139 + ACTIONNAME reduce 139 + +State 241: + (131) constTerm ::= constTerm MINUS constFactor * + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 131 + COMMA reduce 131 + LOR reduce 131 + LAND reduce 131 + LNOT reduce 131 + EQ reduce 131 + LE reduce 131 + LT reduce 131 + GE reduce 131 + GT reduce 131 + NE reduce 131 + BITOR reduce 131 + BITXOR reduce 131 + BITAND reduce 131 + LSHIFT reduce 131 + RSHIFT reduce 131 + PLUS reduce 131 + MINUS reduce 131 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 131 + LPAREN reduce 131 + SEMICOLON reduce 131 + NAME reduce 131 + COLON reduce 131 + RPAREN reduce 131 + LBRACKET reduce 131 + VAR reduce 131 + RSQBRACKET reduce 131 + L2V reduce 131 + STATIC reduce 131 + CONST reduce 131 + INC reduce 131 + DEC reduce 131 + ONCE reduce 131 + IF reduce 131 + SWITCHCASE reduce 131 + WHILE reduce 131 + FOR reduce 131 + FOREACH reduce 131 + CONTINUE reduce 131 + BREAK reduce 131 + RETURN reduce 131 + ACTIONNAME reduce 131 + +State 242: + (139) constFactor ::= constExpr * + factor ::= constExpr * MULTIPLY nonConstExpr + factor ::= constExpr * DIVIDE nonConstExpr + factor ::= constExpr * MOD nonConstExpr + + QMARK reduce 139 + COMMA reduce 139 + LOR reduce 139 + LAND reduce 139 + LNOT reduce 139 + EQ reduce 139 + LE reduce 139 + LT reduce 139 + GE reduce 139 + GT reduce 139 + NE reduce 139 + BITOR reduce 139 + BITXOR reduce 139 + BITAND reduce 139 + LSHIFT reduce 139 + RSHIFT reduce 139 + PLUS reduce 139 + MINUS reduce 139 + DIVIDE shift 151 + DIVIDE reduce 139 -- dropped by precedence + MULTIPLY shift 152 + MULTIPLY reduce 139 -- dropped by precedence + MOD shift 146 + MOD reduce 139 -- dropped by precedence + BITNOT reduce 139 + LPAREN reduce 139 + SEMICOLON reduce 139 + NAME reduce 139 + COLON reduce 139 + RPAREN reduce 139 + LBRACKET reduce 139 + VAR reduce 139 + RSQBRACKET reduce 139 + L2V reduce 139 + STATIC reduce 139 + CONST reduce 139 + INC reduce 139 + DEC reduce 139 + ONCE reduce 139 + IF reduce 139 + SWITCHCASE reduce 139 + WHILE reduce 139 + FOR reduce 139 + FOREACH reduce 139 + CONTINUE reduce 139 + BREAK reduce 139 + RETURN reduce 139 + ACTIONNAME reduce 139 + +State 243: + (135) term ::= term PLUS factor * + factor ::= factor * MULTIPLY constExpr + factor ::= factor * MULTIPLY nonConstExpr + factor ::= factor * DIVIDE constExpr + factor ::= factor * DIVIDE nonConstExpr + factor ::= factor * MOD constExpr + factor ::= factor * MOD nonConstExpr + + QMARK reduce 135 + COMMA reduce 135 + LOR reduce 135 + LAND reduce 135 + LNOT reduce 135 + EQ reduce 135 + LE reduce 135 + LT reduce 135 + GE reduce 135 + GT reduce 135 + NE reduce 135 + BITOR reduce 135 + BITXOR reduce 135 + BITAND reduce 135 + LSHIFT reduce 135 + RSHIFT reduce 135 + PLUS reduce 135 + MINUS reduce 135 + DIVIDE shift 125 + MULTIPLY shift 126 + MOD shift 120 + BITNOT reduce 135 + LPAREN reduce 135 + SEMICOLON reduce 135 + NAME reduce 135 + COLON reduce 135 + RPAREN reduce 135 + LBRACKET reduce 135 + VAR reduce 135 + RSQBRACKET reduce 135 + L2V reduce 135 + STATIC reduce 135 + CONST reduce 135 + INC reduce 135 + DEC reduce 135 + ONCE reduce 135 + IF reduce 135 + SWITCHCASE reduce 135 + WHILE reduce 135 + FOR reduce 135 + FOREACH reduce 135 + CONTINUE reduce 135 + BREAK reduce 135 + RETURN reduce 135 + ACTIONNAME reduce 135 + +State 244: + (142) constFactor ::= constFactor DIVIDE constExpr * + + QMARK reduce 142 + COMMA reduce 142 + LOR reduce 142 + LAND reduce 142 + LNOT reduce 142 + EQ reduce 142 + LE reduce 142 + LT reduce 142 + GE reduce 142 + GT reduce 142 + NE reduce 142 + BITOR reduce 142 + BITXOR reduce 142 + BITAND reduce 142 + LSHIFT reduce 142 + RSHIFT reduce 142 + PLUS reduce 142 + MINUS reduce 142 + DIVIDE reduce 142 + MULTIPLY reduce 142 + MOD reduce 142 + BITNOT reduce 142 + LPAREN reduce 142 + SEMICOLON reduce 142 + NAME reduce 142 + COLON reduce 142 + RPAREN reduce 142 + LBRACKET reduce 142 + VAR reduce 142 + RSQBRACKET reduce 142 + L2V reduce 142 + STATIC reduce 142 + CONST reduce 142 + INC reduce 142 + DEC reduce 142 + ONCE reduce 142 + IF reduce 142 + SWITCHCASE reduce 142 + WHILE reduce 142 + FOR reduce 142 + FOREACH reduce 142 + CONTINUE reduce 142 + BREAK reduce 142 + RETURN reduce 142 + ACTIONNAME reduce 142 + +State 245: + (141) constFactor ::= constFactor MOD constExpr * + + QMARK reduce 141 + COMMA reduce 141 + LOR reduce 141 + LAND reduce 141 + LNOT reduce 141 + EQ reduce 141 + LE reduce 141 + LT reduce 141 + GE reduce 141 + GT reduce 141 + NE reduce 141 + BITOR reduce 141 + BITXOR reduce 141 + BITAND reduce 141 + LSHIFT reduce 141 + RSHIFT reduce 141 + PLUS reduce 141 + MINUS reduce 141 + DIVIDE reduce 141 + MULTIPLY reduce 141 + MOD reduce 141 + BITNOT reduce 141 + LPAREN reduce 141 + SEMICOLON reduce 141 + NAME reduce 141 + COLON reduce 141 + RPAREN reduce 141 + LBRACKET reduce 141 + VAR reduce 141 + RSQBRACKET reduce 141 + L2V reduce 141 + STATIC reduce 141 + CONST reduce 141 + INC reduce 141 + DEC reduce 141 + ONCE reduce 141 + IF reduce 141 + SWITCHCASE reduce 141 + WHILE reduce 141 + FOR reduce 141 + FOREACH reduce 141 + CONTINUE reduce 141 + BREAK reduce 141 + RETURN reduce 141 + ACTIONNAME reduce 141 + +State 246: + (134) term ::= term PLUS constFactor * + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 134 + COMMA reduce 134 + LOR reduce 134 + LAND reduce 134 + LNOT reduce 134 + EQ reduce 134 + LE reduce 134 + LT reduce 134 + GE reduce 134 + GT reduce 134 + NE reduce 134 + BITOR reduce 134 + BITXOR reduce 134 + BITAND reduce 134 + LSHIFT reduce 134 + RSHIFT reduce 134 + PLUS reduce 134 + MINUS reduce 134 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 134 + LPAREN reduce 134 + SEMICOLON reduce 134 + NAME reduce 134 + COLON reduce 134 + RPAREN reduce 134 + LBRACKET reduce 134 + VAR reduce 134 + RSQBRACKET reduce 134 + L2V reduce 134 + STATIC reduce 134 + CONST reduce 134 + INC reduce 134 + DEC reduce 134 + ONCE reduce 134 + IF reduce 134 + SWITCHCASE reduce 134 + WHILE reduce 134 + FOR reduce 134 + FOREACH reduce 134 + CONTINUE reduce 134 + BREAK reduce 134 + RETURN reduce 134 + ACTIONNAME reduce 134 + +State 247: + (151) factor ::= factor MOD constExpr * + + QMARK reduce 151 + COMMA reduce 151 + LOR reduce 151 + LAND reduce 151 + LNOT reduce 151 + EQ reduce 151 + LE reduce 151 + LT reduce 151 + GE reduce 151 + GT reduce 151 + NE reduce 151 + BITOR reduce 151 + BITXOR reduce 151 + BITAND reduce 151 + LSHIFT reduce 151 + RSHIFT reduce 151 + PLUS reduce 151 + MINUS reduce 151 + DIVIDE reduce 151 + MULTIPLY reduce 151 + MOD reduce 151 + BITNOT reduce 151 + LPAREN reduce 151 + SEMICOLON reduce 151 + NAME reduce 151 + COLON reduce 151 + RPAREN reduce 151 + LBRACKET reduce 151 + VAR reduce 151 + RSQBRACKET reduce 151 + L2V reduce 151 + STATIC reduce 151 + CONST reduce 151 + INC reduce 151 + DEC reduce 151 + ONCE reduce 151 + IF reduce 151 + SWITCHCASE reduce 151 + WHILE reduce 151 + FOR reduce 151 + FOREACH reduce 151 + CONTINUE reduce 151 + BREAK reduce 151 + RETURN reduce 151 + ACTIONNAME reduce 151 + +State 248: + (148) factor ::= factor DIVIDE constExpr * + + QMARK reduce 148 + COMMA reduce 148 + LOR reduce 148 + LAND reduce 148 + LNOT reduce 148 + EQ reduce 148 + LE reduce 148 + LT reduce 148 + GE reduce 148 + GT reduce 148 + NE reduce 148 + BITOR reduce 148 + BITXOR reduce 148 + BITAND reduce 148 + LSHIFT reduce 148 + RSHIFT reduce 148 + PLUS reduce 148 + MINUS reduce 148 + DIVIDE reduce 148 + MULTIPLY reduce 148 + MOD reduce 148 + BITNOT reduce 148 + LPAREN reduce 148 + SEMICOLON reduce 148 + NAME reduce 148 + COLON reduce 148 + RPAREN reduce 148 + LBRACKET reduce 148 + VAR reduce 148 + RSQBRACKET reduce 148 + L2V reduce 148 + STATIC reduce 148 + CONST reduce 148 + INC reduce 148 + DEC reduce 148 + ONCE reduce 148 + IF reduce 148 + SWITCHCASE reduce 148 + WHILE reduce 148 + FOR reduce 148 + FOREACH reduce 148 + CONTINUE reduce 148 + BREAK reduce 148 + RETURN reduce 148 + ACTIONNAME reduce 148 + +State 249: + (132) term ::= factor * + factor ::= factor * MULTIPLY constExpr + factor ::= factor * MULTIPLY nonConstExpr + factor ::= factor * DIVIDE constExpr + factor ::= factor * DIVIDE nonConstExpr + factor ::= factor * MOD constExpr + factor ::= factor * MOD nonConstExpr + + QMARK reduce 132 + COMMA reduce 132 + LOR reduce 132 + LAND reduce 132 + LNOT reduce 132 + EQ reduce 132 + LE reduce 132 + LT reduce 132 + GE reduce 132 + GT reduce 132 + NE reduce 132 + BITOR reduce 132 + BITXOR reduce 132 + BITAND reduce 132 + LSHIFT reduce 132 + RSHIFT reduce 132 + PLUS reduce 132 + MINUS reduce 132 + DIVIDE shift 125 + MULTIPLY shift 126 + MOD shift 120 + BITNOT reduce 132 + LPAREN reduce 132 + SEMICOLON reduce 132 + NAME reduce 132 + COLON reduce 132 + RPAREN reduce 132 + LBRACKET reduce 132 + VAR reduce 132 + RSQBRACKET reduce 132 + L2V reduce 132 + STATIC reduce 132 + CONST reduce 132 + INC reduce 132 + DEC reduce 132 + ONCE reduce 132 + IF reduce 132 + SWITCHCASE reduce 132 + WHILE reduce 132 + FOR reduce 132 + FOREACH reduce 132 + CONTINUE reduce 132 + BREAK reduce 132 + RETURN reduce 132 + ACTIONNAME reduce 132 + +State 250: + (187) constExpr ::= LNOT constExpr * + + QMARK reduce 187 + COMMA reduce 187 + LOR reduce 187 + LAND reduce 187 + LNOT reduce 187 + EQ reduce 187 + LE reduce 187 + LT reduce 187 + GE reduce 187 + GT reduce 187 + NE reduce 187 + BITOR reduce 187 + BITXOR reduce 187 + BITAND reduce 187 + LSHIFT reduce 187 + RSHIFT reduce 187 + PLUS reduce 187 + MINUS reduce 187 + DIVIDE reduce 187 + MULTIPLY reduce 187 + MOD reduce 187 + BITNOT reduce 187 + LPAREN reduce 187 + SEMICOLON reduce 187 + NAME reduce 187 + COLON reduce 187 + RPAREN reduce 187 + LBRACKET reduce 187 + VAR reduce 187 + RSQBRACKET reduce 187 + L2V reduce 187 + STATIC reduce 187 + CONST reduce 187 + INC reduce 187 + DEC reduce 187 + ONCE reduce 187 + IF reduce 187 + SWITCHCASE reduce 187 + WHILE reduce 187 + FOR reduce 187 + FOREACH reduce 187 + CONTINUE reduce 187 + BREAK reduce 187 + RETURN reduce 187 + ACTIONNAME reduce 187 + +State 251: + (185) constExpr ::= BITNOT constExpr * + + QMARK reduce 185 + COMMA reduce 185 + LOR reduce 185 + LAND reduce 185 + LNOT reduce 185 + EQ reduce 185 + LE reduce 185 + LT reduce 185 + GE reduce 185 + GT reduce 185 + NE reduce 185 + BITOR reduce 185 + BITXOR reduce 185 + BITAND reduce 185 + LSHIFT reduce 185 + RSHIFT reduce 185 + PLUS reduce 185 + MINUS reduce 185 + DIVIDE reduce 185 + MULTIPLY reduce 185 + MOD reduce 185 + BITNOT reduce 185 + LPAREN reduce 185 + SEMICOLON reduce 185 + NAME reduce 185 + COLON reduce 185 + RPAREN reduce 185 + LBRACKET reduce 185 + VAR reduce 185 + RSQBRACKET reduce 185 + L2V reduce 185 + STATIC reduce 185 + CONST reduce 185 + INC reduce 185 + DEC reduce 185 + ONCE reduce 185 + IF reduce 185 + SWITCHCASE reduce 185 + WHILE reduce 185 + FOR reduce 185 + FOREACH reduce 185 + CONTINUE reduce 185 + BREAK reduce 185 + RETURN reduce 185 + ACTIONNAME reduce 185 + +State 252: + (183) constExpr ::= MINUS constExpr * + + QMARK reduce 183 + COMMA reduce 183 + LOR reduce 183 + LAND reduce 183 + LNOT reduce 183 + EQ reduce 183 + LE reduce 183 + LT reduce 183 + GE reduce 183 + GT reduce 183 + NE reduce 183 + BITOR reduce 183 + BITXOR reduce 183 + BITAND reduce 183 + LSHIFT reduce 183 + RSHIFT reduce 183 + PLUS reduce 183 + MINUS reduce 183 + DIVIDE reduce 183 + MULTIPLY reduce 183 + MOD reduce 183 + BITNOT reduce 183 + LPAREN reduce 183 + SEMICOLON reduce 183 + NAME reduce 183 + COLON reduce 183 + RPAREN reduce 183 + LBRACKET reduce 183 + VAR reduce 183 + RSQBRACKET reduce 183 + L2V reduce 183 + STATIC reduce 183 + CONST reduce 183 + INC reduce 183 + DEC reduce 183 + ONCE reduce 183 + IF reduce 183 + SWITCHCASE reduce 183 + WHILE reduce 183 + FOR reduce 183 + FOREACH reduce 183 + CONTINUE reduce 183 + BREAK reduce 183 + RETURN reduce 183 + ACTIONNAME reduce 183 + +State 253: + (181) constExpr ::= PLUS constExpr * + + QMARK reduce 181 + COMMA reduce 181 + LOR reduce 181 + LAND reduce 181 + LNOT reduce 181 + EQ reduce 181 + LE reduce 181 + LT reduce 181 + GE reduce 181 + GT reduce 181 + NE reduce 181 + BITOR reduce 181 + BITXOR reduce 181 + BITAND reduce 181 + LSHIFT reduce 181 + RSHIFT reduce 181 + PLUS reduce 181 + MINUS reduce 181 + DIVIDE reduce 181 + MULTIPLY reduce 181 + MOD reduce 181 + BITNOT reduce 181 + LPAREN reduce 181 + SEMICOLON reduce 181 + NAME reduce 181 + COLON reduce 181 + RPAREN reduce 181 + LBRACKET reduce 181 + VAR reduce 181 + RSQBRACKET reduce 181 + L2V reduce 181 + STATIC reduce 181 + CONST reduce 181 + INC reduce 181 + DEC reduce 181 + ONCE reduce 181 + IF reduce 181 + SWITCHCASE reduce 181 + WHILE reduce 181 + FOR reduce 181 + FOREACH reduce 181 + CONTINUE reduce 181 + BREAK reduce 181 + RETURN reduce 181 + ACTIONNAME reduce 181 + +State 254: + (140) constFactor ::= constFactor MULTIPLY constExpr * + + QMARK reduce 140 + COMMA reduce 140 + LOR reduce 140 + LAND reduce 140 + LNOT reduce 140 + EQ reduce 140 + LE reduce 140 + LT reduce 140 + GE reduce 140 + GT reduce 140 + NE reduce 140 + BITOR reduce 140 + BITXOR reduce 140 + BITAND reduce 140 + LSHIFT reduce 140 + RSHIFT reduce 140 + PLUS reduce 140 + MINUS reduce 140 + DIVIDE reduce 140 + MULTIPLY reduce 140 + MOD reduce 140 + BITNOT reduce 140 + LPAREN reduce 140 + SEMICOLON reduce 140 + NAME reduce 140 + COLON reduce 140 + RPAREN reduce 140 + LBRACKET reduce 140 + VAR reduce 140 + RSQBRACKET reduce 140 + L2V reduce 140 + STATIC reduce 140 + CONST reduce 140 + INC reduce 140 + DEC reduce 140 + ONCE reduce 140 + IF reduce 140 + SWITCHCASE reduce 140 + WHILE reduce 140 + FOR reduce 140 + FOREACH reduce 140 + CONTINUE reduce 140 + BREAK reduce 140 + RETURN reduce 140 + ACTIONNAME reduce 140 + +State 255: + (129) constTerm ::= constFactor * + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 129 + COMMA reduce 129 + LOR reduce 129 + LAND reduce 129 + LNOT reduce 129 + EQ reduce 129 + LE reduce 129 + LT reduce 129 + GE reduce 129 + GT reduce 129 + NE reduce 129 + BITOR reduce 129 + BITXOR reduce 129 + BITAND reduce 129 + LSHIFT reduce 129 + RSHIFT reduce 129 + PLUS reduce 129 + MINUS reduce 129 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 129 + LPAREN reduce 129 + SEMICOLON reduce 129 + NAME reduce 129 + COLON reduce 129 + RPAREN reduce 129 + LBRACKET reduce 129 + VAR reduce 129 + RSQBRACKET reduce 129 + L2V reduce 129 + STATIC reduce 129 + CONST reduce 129 + INC reduce 129 + DEC reduce 129 + ONCE reduce 129 + IF reduce 129 + SWITCHCASE reduce 129 + WHILE reduce 129 + FOR reduce 129 + FOREACH reduce 129 + CONTINUE reduce 129 + BREAK reduce 129 + RETURN reduce 129 + ACTIONNAME reduce 129 + +State 256: + (133) term ::= constFactor PLUS factor * + factor ::= factor * MULTIPLY constExpr + factor ::= factor * MULTIPLY nonConstExpr + factor ::= factor * DIVIDE constExpr + factor ::= factor * DIVIDE nonConstExpr + factor ::= factor * MOD constExpr + factor ::= factor * MOD nonConstExpr + + QMARK reduce 133 + COMMA reduce 133 + LOR reduce 133 + LAND reduce 133 + LNOT reduce 133 + EQ reduce 133 + LE reduce 133 + LT reduce 133 + GE reduce 133 + GT reduce 133 + NE reduce 133 + BITOR reduce 133 + BITXOR reduce 133 + BITAND reduce 133 + LSHIFT reduce 133 + RSHIFT reduce 133 + PLUS reduce 133 + MINUS reduce 133 + DIVIDE shift 125 + MULTIPLY shift 126 + MOD shift 120 + BITNOT reduce 133 + LPAREN reduce 133 + SEMICOLON reduce 133 + NAME reduce 133 + COLON reduce 133 + RPAREN reduce 133 + LBRACKET reduce 133 + VAR reduce 133 + RSQBRACKET reduce 133 + L2V reduce 133 + STATIC reduce 133 + CONST reduce 133 + INC reduce 133 + DEC reduce 133 + ONCE reduce 133 + IF reduce 133 + SWITCHCASE reduce 133 + WHILE reduce 133 + FOR reduce 133 + FOREACH reduce 133 + CONTINUE reduce 133 + BREAK reduce 133 + RETURN reduce 133 + ACTIONNAME reduce 133 + +State 257: + (129) constTerm ::= constFactor * + term ::= constFactor * PLUS factor + term ::= constFactor * MINUS factor + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + QMARK reduce 129 + COMMA reduce 129 + LOR reduce 129 + LAND reduce 129 + LNOT reduce 129 + EQ reduce 129 + LE reduce 129 + LT reduce 129 + GE reduce 129 + GT reduce 129 + NE reduce 129 + BITOR reduce 129 + BITXOR reduce 129 + BITAND reduce 129 + LSHIFT reduce 129 + RSHIFT reduce 129 + PLUS shift 117 + PLUS reduce 129 -- dropped by precedence + MINUS shift 116 + MINUS reduce 129 -- dropped by precedence + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 + BITNOT reduce 129 + LPAREN reduce 129 + SEMICOLON reduce 129 + NAME reduce 129 + COLON reduce 129 + RPAREN reduce 129 + LBRACKET reduce 129 + VAR reduce 129 + RSQBRACKET reduce 129 + L2V reduce 129 + STATIC reduce 129 + CONST reduce 129 + INC reduce 129 + DEC reduce 129 + ONCE reduce 129 + IF reduce 129 + SWITCHCASE reduce 129 + WHILE reduce 129 + FOR reduce 129 + FOREACH reduce 129 + CONTINUE reduce 129 + BREAK reduce 129 + RETURN reduce 129 + ACTIONNAME reduce 129 + +State 258: + (126) constExpr ::= VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN * + + QMARK reduce 126 + COMMA reduce 126 + LOR reduce 126 + LAND reduce 126 + LNOT reduce 126 + EQ reduce 126 + LE reduce 126 + LT reduce 126 + GE reduce 126 + GT reduce 126 + NE reduce 126 + BITOR reduce 126 + BITXOR reduce 126 + BITAND reduce 126 + LSHIFT reduce 126 + RSHIFT reduce 126 + PLUS reduce 126 + MINUS reduce 126 + DIVIDE reduce 126 + MULTIPLY reduce 126 + MOD reduce 126 + BITNOT reduce 126 + LPAREN reduce 126 + SEMICOLON reduce 126 + NAME reduce 126 + COLON reduce 126 + RPAREN reduce 126 + LBRACKET reduce 126 + VAR reduce 126 + RSQBRACKET reduce 126 + L2V reduce 126 + STATIC reduce 126 + CONST reduce 126 + INC reduce 126 + DEC reduce 126 + ONCE reduce 126 + IF reduce 126 + SWITCHCASE reduce 126 + WHILE reduce 126 + FOR reduce 126 + FOREACH reduce 126 + CONTINUE reduce 126 + BREAK reduce 126 + RETURN reduce 126 + ACTIONNAME reduce 126 + +State 259: + (125) constExpr ::= STATTXTTBL LPAREN STRING RPAREN * + + QMARK reduce 125 + COMMA reduce 125 + LOR reduce 125 + LAND reduce 125 + LNOT reduce 125 + EQ reduce 125 + LE reduce 125 + LT reduce 125 + GE reduce 125 + GT reduce 125 + NE reduce 125 + BITOR reduce 125 + BITXOR reduce 125 + BITAND reduce 125 + LSHIFT reduce 125 + RSHIFT reduce 125 + PLUS reduce 125 + MINUS reduce 125 + DIVIDE reduce 125 + MULTIPLY reduce 125 + MOD reduce 125 + BITNOT reduce 125 + LPAREN reduce 125 + SEMICOLON reduce 125 + NAME reduce 125 + COLON reduce 125 + RPAREN reduce 125 + LBRACKET reduce 125 + VAR reduce 125 + RSQBRACKET reduce 125 + L2V reduce 125 + STATIC reduce 125 + CONST reduce 125 + INC reduce 125 + DEC reduce 125 + ONCE reduce 125 + IF reduce 125 + SWITCHCASE reduce 125 + WHILE reduce 125 + FOR reduce 125 + FOREACH reduce 125 + CONTINUE reduce 125 + BREAK reduce 125 + RETURN reduce 125 + ACTIONNAME reduce 125 + +State 260: + (124) constExpr ::= LOCATION LPAREN STRING RPAREN * + + QMARK reduce 124 + COMMA reduce 124 + LOR reduce 124 + LAND reduce 124 + LNOT reduce 124 + EQ reduce 124 + LE reduce 124 + LT reduce 124 + GE reduce 124 + GT reduce 124 + NE reduce 124 + BITOR reduce 124 + BITXOR reduce 124 + BITAND reduce 124 + LSHIFT reduce 124 + RSHIFT reduce 124 + PLUS reduce 124 + MINUS reduce 124 + DIVIDE reduce 124 + MULTIPLY reduce 124 + MOD reduce 124 + BITNOT reduce 124 + LPAREN reduce 124 + SEMICOLON reduce 124 + NAME reduce 124 + COLON reduce 124 + RPAREN reduce 124 + LBRACKET reduce 124 + VAR reduce 124 + RSQBRACKET reduce 124 + L2V reduce 124 + STATIC reduce 124 + CONST reduce 124 + INC reduce 124 + DEC reduce 124 + ONCE reduce 124 + IF reduce 124 + SWITCHCASE reduce 124 + WHILE reduce 124 + FOR reduce 124 + FOREACH reduce 124 + CONTINUE reduce 124 + BREAK reduce 124 + RETURN reduce 124 + ACTIONNAME reduce 124 + +State 261: + (123) constExpr ::= SWITCH LPAREN STRING RPAREN * + + QMARK reduce 123 + COMMA reduce 123 + LOR reduce 123 + LAND reduce 123 + LNOT reduce 123 + EQ reduce 123 + LE reduce 123 + LT reduce 123 + GE reduce 123 + GT reduce 123 + NE reduce 123 + BITOR reduce 123 + BITXOR reduce 123 + BITAND reduce 123 + LSHIFT reduce 123 + RSHIFT reduce 123 + PLUS reduce 123 + MINUS reduce 123 + DIVIDE reduce 123 + MULTIPLY reduce 123 + MOD reduce 123 + BITNOT reduce 123 + LPAREN reduce 123 + SEMICOLON reduce 123 + NAME reduce 123 + COLON reduce 123 + RPAREN reduce 123 + LBRACKET reduce 123 + VAR reduce 123 + RSQBRACKET reduce 123 + L2V reduce 123 + STATIC reduce 123 + CONST reduce 123 + INC reduce 123 + DEC reduce 123 + ONCE reduce 123 + IF reduce 123 + SWITCHCASE reduce 123 + WHILE reduce 123 + FOR reduce 123 + FOREACH reduce 123 + CONTINUE reduce 123 + BREAK reduce 123 + RETURN reduce 123 + ACTIONNAME reduce 123 + +State 262: + (122) constExpr ::= UNIT LPAREN STRING RPAREN * + + QMARK reduce 122 + COMMA reduce 122 + LOR reduce 122 + LAND reduce 122 + LNOT reduce 122 + EQ reduce 122 + LE reduce 122 + LT reduce 122 + GE reduce 122 + GT reduce 122 + NE reduce 122 + BITOR reduce 122 + BITXOR reduce 122 + BITAND reduce 122 + LSHIFT reduce 122 + RSHIFT reduce 122 + PLUS reduce 122 + MINUS reduce 122 + DIVIDE reduce 122 + MULTIPLY reduce 122 + MOD reduce 122 + BITNOT reduce 122 + LPAREN reduce 122 + SEMICOLON reduce 122 + NAME reduce 122 + COLON reduce 122 + RPAREN reduce 122 + LBRACKET reduce 122 + VAR reduce 122 + RSQBRACKET reduce 122 + L2V reduce 122 + STATIC reduce 122 + CONST reduce 122 + INC reduce 122 + DEC reduce 122 + ONCE reduce 122 + IF reduce 122 + SWITCHCASE reduce 122 + WHILE reduce 122 + FOR reduce 122 + FOREACH reduce 122 + CONTINUE reduce 122 + BREAK reduce 122 + RETURN reduce 122 + ACTIONNAME reduce 122 + +State 263: + (121) constExpr ::= MAPSTRING LPAREN STRING RPAREN * + + QMARK reduce 121 + COMMA reduce 121 + LOR reduce 121 + LAND reduce 121 + LNOT reduce 121 + EQ reduce 121 + LE reduce 121 + LT reduce 121 + GE reduce 121 + GT reduce 121 + NE reduce 121 + BITOR reduce 121 + BITXOR reduce 121 + BITAND reduce 121 + LSHIFT reduce 121 + RSHIFT reduce 121 + PLUS reduce 121 + MINUS reduce 121 + DIVIDE reduce 121 + MULTIPLY reduce 121 + MOD reduce 121 + BITNOT reduce 121 + LPAREN reduce 121 + SEMICOLON reduce 121 + NAME reduce 121 + COLON reduce 121 + RPAREN reduce 121 + LBRACKET reduce 121 + VAR reduce 121 + RSQBRACKET reduce 121 + L2V reduce 121 + STATIC reduce 121 + CONST reduce 121 + INC reduce 121 + DEC reduce 121 + ONCE reduce 121 + IF reduce 121 + SWITCHCASE reduce 121 + WHILE reduce 121 + FOR reduce 121 + FOREACH reduce 121 + CONTINUE reduce 121 + BREAK reduce 121 + RETURN reduce 121 + ACTIONNAME reduce 121 + +State 264: + (85) constExpr ::= KILLS * + + QMARK reduce 85 + COMMA reduce 85 + LOR reduce 85 + LAND reduce 85 + LNOT reduce 85 + EQ reduce 85 + LE reduce 85 + LT reduce 85 + GE reduce 85 + GT reduce 85 + NE reduce 85 + BITOR reduce 85 + BITXOR reduce 85 + BITAND reduce 85 + LSHIFT reduce 85 + RSHIFT reduce 85 + PLUS reduce 85 + MINUS reduce 85 + DIVIDE reduce 85 + MULTIPLY reduce 85 + MOD reduce 85 + BITNOT reduce 85 + LPAREN reduce 85 + SEMICOLON reduce 85 + NAME reduce 85 + COLON reduce 85 + RPAREN reduce 85 + LBRACKET reduce 85 + VAR reduce 85 + RSQBRACKET reduce 85 + L2V reduce 85 + STATIC reduce 85 + CONST reduce 85 + INC reduce 85 + DEC reduce 85 + ONCE reduce 85 + IF reduce 85 + SWITCHCASE reduce 85 + WHILE reduce 85 + FOR reduce 85 + FOREACH reduce 85 + CONTINUE reduce 85 + BREAK reduce 85 + RETURN reduce 85 + ACTIONNAME reduce 85 + +State 265: + (115) constExpr ::= LPAREN constLogicExpr RPAREN * + + QMARK reduce 115 + COMMA reduce 115 + LOR reduce 115 + LAND reduce 115 + LNOT reduce 115 + EQ reduce 115 + LE reduce 115 + LT reduce 115 + GE reduce 115 + GT reduce 115 + NE reduce 115 + BITOR reduce 115 + BITXOR reduce 115 + BITAND reduce 115 + LSHIFT reduce 115 + RSHIFT reduce 115 + PLUS reduce 115 + MINUS reduce 115 + DIVIDE reduce 115 + MULTIPLY reduce 115 + MOD reduce 115 + BITNOT reduce 115 + LPAREN reduce 115 + SEMICOLON reduce 115 + NAME reduce 115 + COLON reduce 115 + RPAREN reduce 115 + LBRACKET reduce 115 + VAR reduce 115 + RSQBRACKET reduce 115 + L2V reduce 115 + STATIC reduce 115 + CONST reduce 115 + INC reduce 115 + DEC reduce 115 + ONCE reduce 115 + IF reduce 115 + SWITCHCASE reduce 115 + WHILE reduce 115 + FOR reduce 115 + FOREACH reduce 115 + CONTINUE reduce 115 + BREAK reduce 115 + RETURN reduce 115 + ACTIONNAME reduce 115 + +State 266: + (86) constExpr ::= TRGCONST * + + QMARK reduce 86 + COMMA reduce 86 + LOR reduce 86 + LAND reduce 86 + LNOT reduce 86 + EQ reduce 86 + LE reduce 86 + LT reduce 86 + GE reduce 86 + GT reduce 86 + NE reduce 86 + BITOR reduce 86 + BITXOR reduce 86 + BITAND reduce 86 + LSHIFT reduce 86 + RSHIFT reduce 86 + PLUS reduce 86 + MINUS reduce 86 + DIVIDE reduce 86 + MULTIPLY reduce 86 + MOD reduce 86 + BITNOT reduce 86 + LPAREN reduce 86 + SEMICOLON reduce 86 + NAME reduce 86 + COLON reduce 86 + RPAREN reduce 86 + LBRACKET reduce 86 + VAR reduce 86 + RSQBRACKET reduce 86 + L2V reduce 86 + STATIC reduce 86 + CONST reduce 86 + INC reduce 86 + DEC reduce 86 + ONCE reduce 86 + IF reduce 86 + SWITCHCASE reduce 86 + WHILE reduce 86 + FOR reduce 86 + FOREACH reduce 86 + CONTINUE reduce 86 + BREAK reduce 86 + RETURN reduce 86 + ACTIONNAME reduce 86 + +State 267: + (85) constExpr ::= KILLS * + logicExpr ::= KILLS * LPAREN fArgs RPAREN + + QMARK reduce 85 + COMMA reduce 85 + LOR reduce 85 + LAND reduce 85 + LNOT reduce 85 + EQ reduce 85 + LE reduce 85 + LT reduce 85 + GE reduce 85 + GT reduce 85 + NE reduce 85 + BITOR reduce 85 + BITXOR reduce 85 + BITAND reduce 85 + LSHIFT reduce 85 + RSHIFT reduce 85 + PLUS reduce 85 + MINUS reduce 85 + DIVIDE reduce 85 + MULTIPLY reduce 85 + MOD reduce 85 + BITNOT reduce 85 + LPAREN shift 22 + LPAREN reduce 85 -- dropped by precedence + SEMICOLON reduce 85 + NAME reduce 85 + COLON reduce 85 + RPAREN reduce 85 + LBRACKET reduce 85 + VAR reduce 85 + RSQBRACKET reduce 85 + L2V reduce 85 + STATIC reduce 85 + CONST reduce 85 + INC reduce 85 + DEC reduce 85 + ONCE reduce 85 + IF reduce 85 + SWITCHCASE reduce 85 + WHILE reduce 85 + FOR reduce 85 + FOREACH reduce 85 + CONTINUE reduce 85 + BREAK reduce 85 + RETURN reduce 85 + ACTIONNAME reduce 85 + +State 268: + (84) constExpr ::= NUMBER * + + QMARK reduce 84 + COMMA reduce 84 + LOR reduce 84 + LAND reduce 84 + LNOT reduce 84 + EQ reduce 84 + LE reduce 84 + LT reduce 84 + GE reduce 84 + GT reduce 84 + NE reduce 84 + BITOR reduce 84 + BITXOR reduce 84 + BITAND reduce 84 + LSHIFT reduce 84 + RSHIFT reduce 84 + PLUS reduce 84 + MINUS reduce 84 + DIVIDE reduce 84 + MULTIPLY reduce 84 + MOD reduce 84 + BITNOT reduce 84 + LPAREN reduce 84 + SEMICOLON reduce 84 + NAME reduce 84 + COLON reduce 84 + RPAREN reduce 84 + LBRACKET reduce 84 + VAR reduce 84 + RSQBRACKET reduce 84 + L2V reduce 84 + STATIC reduce 84 + CONST reduce 84 + INC reduce 84 + DEC reduce 84 + ONCE reduce 84 + IF reduce 84 + SWITCHCASE reduce 84 + WHILE reduce 84 + FOR reduce 84 + FOREACH reduce 84 + CONTINUE reduce 84 + BREAK reduce 84 + RETURN reduce 84 + ACTIONNAME reduce 84 + +State 269: + constShTerm ::= constShTerm * RSHIFT constTerm + constShTerm ::= constShTerm * LSHIFT constTerm + (163) constBitAndTerm ::= constShTerm * + + QMARK reduce 163 + COMMA reduce 163 + LOR reduce 163 + LAND reduce 163 + LNOT reduce 163 + EQ reduce 163 + LE reduce 163 + LT reduce 163 + GE reduce 163 + GT reduce 163 + NE reduce 163 + BITOR reduce 163 + BITXOR reduce 163 + BITAND reduce 163 + LSHIFT shift 127 + RSHIFT shift 128 + PLUS reduce 163 + MINUS reduce 163 + BITNOT reduce 163 + LPAREN reduce 163 + SEMICOLON reduce 163 + NAME reduce 163 + COLON reduce 163 + RPAREN reduce 163 + LBRACKET reduce 163 + VAR reduce 163 + RSQBRACKET reduce 163 + L2V reduce 163 + STATIC reduce 163 + CONST reduce 163 + INC reduce 163 + DEC reduce 163 + ONCE reduce 163 + IF reduce 163 + SWITCHCASE reduce 163 + WHILE reduce 163 + FOR reduce 163 + FOREACH reduce 163 + CONTINUE reduce 163 + BREAK reduce 163 + RETURN reduce 163 + ACTIONNAME reduce 163 + +State 270: + shTerm ::= shTerm * RSHIFT term + shTerm ::= shTerm * RSHIFT constTerm + shTerm ::= shTerm * LSHIFT constTerm + shTerm ::= shTerm * LSHIFT term + (167) bitAndTerm ::= bitAndTerm BITAND shTerm * + + QMARK reduce 167 + COMMA reduce 167 + LOR reduce 167 + LAND reduce 167 + LNOT reduce 167 + EQ reduce 167 + LE reduce 167 + LT reduce 167 + GE reduce 167 + GT reduce 167 + NE reduce 167 + BITOR reduce 167 + BITXOR reduce 167 + BITAND reduce 167 + LSHIFT shift 104 + RSHIFT shift 105 + PLUS reduce 167 + MINUS reduce 167 + BITNOT reduce 167 + LPAREN reduce 167 + SEMICOLON reduce 167 + NAME reduce 167 + COLON reduce 167 + RPAREN reduce 167 + LBRACKET reduce 167 + VAR reduce 167 + RSQBRACKET reduce 167 + L2V reduce 167 + STATIC reduce 167 + CONST reduce 167 + INC reduce 167 + DEC reduce 167 + ONCE reduce 167 + IF reduce 167 + SWITCHCASE reduce 167 + WHILE reduce 167 + FOR reduce 167 + FOREACH reduce 167 + CONTINUE reduce 167 + BREAK reduce 167 + RETURN reduce 167 + ACTIONNAME reduce 167 + +State 271: + constShTerm ::= constShTerm * RSHIFT constTerm + constShTerm ::= constShTerm * LSHIFT constTerm + (168) bitAndTerm ::= bitAndTerm BITAND constShTerm * + + QMARK reduce 168 + COMMA reduce 168 + LOR reduce 168 + LAND reduce 168 + LNOT reduce 168 + EQ reduce 168 + LE reduce 168 + LT reduce 168 + GE reduce 168 + GT reduce 168 + NE reduce 168 + BITOR reduce 168 + BITXOR reduce 168 + BITAND reduce 168 + LSHIFT shift 127 + RSHIFT shift 128 + PLUS reduce 168 + MINUS reduce 168 + BITNOT reduce 168 + LPAREN reduce 168 + SEMICOLON reduce 168 + NAME reduce 168 + COLON reduce 168 + RPAREN reduce 168 + LBRACKET reduce 168 + VAR reduce 168 + RSQBRACKET reduce 168 + L2V reduce 168 + STATIC reduce 168 + CONST reduce 168 + INC reduce 168 + DEC reduce 168 + ONCE reduce 168 + IF reduce 168 + SWITCHCASE reduce 168 + WHILE reduce 168 + FOR reduce 168 + FOREACH reduce 168 + CONTINUE reduce 168 + BREAK reduce 168 + RETURN reduce 168 + ACTIONNAME reduce 168 + +State 272: + constShTerm ::= constShTerm * RSHIFT constTerm + constShTerm ::= constShTerm * LSHIFT constTerm + (164) constBitAndTerm ::= constBitAndTerm BITAND constShTerm * + + QMARK reduce 164 + COMMA reduce 164 + LOR reduce 164 + LAND reduce 164 + LNOT reduce 164 + EQ reduce 164 + LE reduce 164 + LT reduce 164 + GE reduce 164 + GT reduce 164 + NE reduce 164 + BITOR reduce 164 + BITXOR reduce 164 + BITAND reduce 164 + LSHIFT shift 127 + RSHIFT shift 128 + PLUS reduce 164 + MINUS reduce 164 + BITNOT reduce 164 + LPAREN reduce 164 + SEMICOLON reduce 164 + NAME reduce 164 + COLON reduce 164 + RPAREN reduce 164 + LBRACKET reduce 164 + VAR reduce 164 + RSQBRACKET reduce 164 + L2V reduce 164 + STATIC reduce 164 + CONST reduce 164 + INC reduce 164 + DEC reduce 164 + ONCE reduce 164 + IF reduce 164 + SWITCHCASE reduce 164 + WHILE reduce 164 + FOR reduce 164 + FOREACH reduce 164 + CONTINUE reduce 164 + BREAK reduce 164 + RETURN reduce 164 + ACTIONNAME reduce 164 + +State 273: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (153) constShTerm ::= constTerm * + + QMARK reduce 153 + COMMA reduce 153 + LOR reduce 153 + LAND reduce 153 + LNOT reduce 153 + EQ reduce 153 + LE reduce 153 + LT reduce 153 + GE reduce 153 + GT reduce 153 + NE reduce 153 + BITOR reduce 153 + BITXOR reduce 153 + BITAND reduce 153 + LSHIFT reduce 153 + RSHIFT reduce 153 + PLUS shift 132 + PLUS reduce 153 -- dropped by precedence + MINUS shift 131 + MINUS reduce 153 -- dropped by precedence + BITNOT reduce 153 + LPAREN reduce 153 + SEMICOLON reduce 153 + NAME reduce 153 + COLON reduce 153 + RPAREN reduce 153 + LBRACKET reduce 153 + VAR reduce 153 + RSQBRACKET reduce 153 + L2V reduce 153 + STATIC reduce 153 + CONST reduce 153 + INC reduce 153 + DEC reduce 153 + ONCE reduce 153 + IF reduce 153 + SWITCHCASE reduce 153 + WHILE reduce 153 + FOR reduce 153 + FOREACH reduce 153 + CONTINUE reduce 153 + BREAK reduce 153 + RETURN reduce 153 + ACTIONNAME reduce 153 + +State 274: + shTerm ::= shTerm * RSHIFT term + shTerm ::= shTerm * RSHIFT constTerm + shTerm ::= shTerm * LSHIFT constTerm + shTerm ::= shTerm * LSHIFT term + (165) bitAndTerm ::= shTerm * + + QMARK reduce 165 + COMMA reduce 165 + LOR reduce 165 + LAND reduce 165 + LNOT reduce 165 + EQ reduce 165 + LE reduce 165 + LT reduce 165 + GE reduce 165 + GT reduce 165 + NE reduce 165 + BITOR reduce 165 + BITXOR reduce 165 + BITAND reduce 165 + LSHIFT shift 104 + RSHIFT shift 105 + PLUS reduce 165 + MINUS reduce 165 + BITNOT reduce 165 + LPAREN reduce 165 + SEMICOLON reduce 165 + NAME reduce 165 + COLON reduce 165 + RPAREN reduce 165 + LBRACKET reduce 165 + VAR reduce 165 + RSQBRACKET reduce 165 + L2V reduce 165 + STATIC reduce 165 + CONST reduce 165 + INC reduce 165 + DEC reduce 165 + ONCE reduce 165 + IF reduce 165 + SWITCHCASE reduce 165 + WHILE reduce 165 + FOR reduce 165 + FOREACH reduce 165 + CONTINUE reduce 165 + BREAK reduce 165 + RETURN reduce 165 + ACTIONNAME reduce 165 + +State 275: + term ::= term * PLUS constFactor + term ::= term * PLUS factor + term ::= term * MINUS constFactor + term ::= term * MINUS factor + (162) shTerm ::= shTerm LSHIFT term * + + QMARK reduce 162 + COMMA reduce 162 + LOR reduce 162 + LAND reduce 162 + LNOT reduce 162 + EQ reduce 162 + LE reduce 162 + LT reduce 162 + GE reduce 162 + GT reduce 162 + NE reduce 162 + BITOR reduce 162 + BITXOR reduce 162 + BITAND reduce 162 + LSHIFT reduce 162 + RSHIFT reduce 162 + PLUS shift 114 + PLUS reduce 162 -- dropped by precedence + MINUS shift 113 + MINUS reduce 162 -- dropped by precedence + BITNOT reduce 162 + LPAREN reduce 162 + SEMICOLON reduce 162 + NAME reduce 162 + COLON reduce 162 + RPAREN reduce 162 + LBRACKET reduce 162 + VAR reduce 162 + RSQBRACKET reduce 162 + L2V reduce 162 + STATIC reduce 162 + CONST reduce 162 + INC reduce 162 + DEC reduce 162 + ONCE reduce 162 + IF reduce 162 + SWITCHCASE reduce 162 + WHILE reduce 162 + FOR reduce 162 + FOREACH reduce 162 + CONTINUE reduce 162 + BREAK reduce 162 + RETURN reduce 162 + ACTIONNAME reduce 162 + +State 276: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (161) shTerm ::= shTerm LSHIFT constTerm * + + QMARK reduce 161 + COMMA reduce 161 + LOR reduce 161 + LAND reduce 161 + LNOT reduce 161 + EQ reduce 161 + LE reduce 161 + LT reduce 161 + GE reduce 161 + GT reduce 161 + NE reduce 161 + BITOR reduce 161 + BITXOR reduce 161 + BITAND reduce 161 + LSHIFT reduce 161 + RSHIFT reduce 161 + PLUS shift 132 + PLUS reduce 161 -- dropped by precedence + MINUS shift 131 + MINUS reduce 161 -- dropped by precedence + BITNOT reduce 161 + LPAREN reduce 161 + SEMICOLON reduce 161 + NAME reduce 161 + COLON reduce 161 + RPAREN reduce 161 + LBRACKET reduce 161 + VAR reduce 161 + RSQBRACKET reduce 161 + L2V reduce 161 + STATIC reduce 161 + CONST reduce 161 + INC reduce 161 + DEC reduce 161 + ONCE reduce 161 + IF reduce 161 + SWITCHCASE reduce 161 + WHILE reduce 161 + FOR reduce 161 + FOREACH reduce 161 + CONTINUE reduce 161 + BREAK reduce 161 + RETURN reduce 161 + ACTIONNAME reduce 161 + +State 277: + term ::= term * PLUS constFactor + term ::= term * PLUS factor + term ::= term * MINUS constFactor + term ::= term * MINUS factor + (158) shTerm ::= shTerm RSHIFT term * + + QMARK reduce 158 + COMMA reduce 158 + LOR reduce 158 + LAND reduce 158 + LNOT reduce 158 + EQ reduce 158 + LE reduce 158 + LT reduce 158 + GE reduce 158 + GT reduce 158 + NE reduce 158 + BITOR reduce 158 + BITXOR reduce 158 + BITAND reduce 158 + LSHIFT reduce 158 + RSHIFT reduce 158 + PLUS shift 114 + PLUS reduce 158 -- dropped by precedence + MINUS shift 113 + MINUS reduce 158 -- dropped by precedence + BITNOT reduce 158 + LPAREN reduce 158 + SEMICOLON reduce 158 + NAME reduce 158 + COLON reduce 158 + RPAREN reduce 158 + LBRACKET reduce 158 + VAR reduce 158 + RSQBRACKET reduce 158 + L2V reduce 158 + STATIC reduce 158 + CONST reduce 158 + INC reduce 158 + DEC reduce 158 + ONCE reduce 158 + IF reduce 158 + SWITCHCASE reduce 158 + WHILE reduce 158 + FOR reduce 158 + FOREACH reduce 158 + CONTINUE reduce 158 + BREAK reduce 158 + RETURN reduce 158 + ACTIONNAME reduce 158 + +State 278: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (159) shTerm ::= shTerm RSHIFT constTerm * + + QMARK reduce 159 + COMMA reduce 159 + LOR reduce 159 + LAND reduce 159 + LNOT reduce 159 + EQ reduce 159 + LE reduce 159 + LT reduce 159 + GE reduce 159 + GT reduce 159 + NE reduce 159 + BITOR reduce 159 + BITXOR reduce 159 + BITAND reduce 159 + LSHIFT reduce 159 + RSHIFT reduce 159 + PLUS shift 132 + PLUS reduce 159 -- dropped by precedence + MINUS shift 131 + MINUS reduce 159 -- dropped by precedence + BITNOT reduce 159 + LPAREN reduce 159 + SEMICOLON reduce 159 + NAME reduce 159 + COLON reduce 159 + RPAREN reduce 159 + LBRACKET reduce 159 + VAR reduce 159 + RSQBRACKET reduce 159 + L2V reduce 159 + STATIC reduce 159 + CONST reduce 159 + INC reduce 159 + DEC reduce 159 + ONCE reduce 159 + IF reduce 159 + SWITCHCASE reduce 159 + WHILE reduce 159 + FOR reduce 159 + FOREACH reduce 159 + CONTINUE reduce 159 + BREAK reduce 159 + RETURN reduce 159 + ACTIONNAME reduce 159 + +State 279: + shTerm ::= shTerm * RSHIFT term + shTerm ::= shTerm * RSHIFT constTerm + shTerm ::= shTerm * LSHIFT constTerm + shTerm ::= shTerm * LSHIFT term + (166) bitAndTerm ::= constShTerm BITAND shTerm * + + QMARK reduce 166 + COMMA reduce 166 + LOR reduce 166 + LAND reduce 166 + LNOT reduce 166 + EQ reduce 166 + LE reduce 166 + LT reduce 166 + GE reduce 166 + GT reduce 166 + NE reduce 166 + BITOR reduce 166 + BITXOR reduce 166 + BITAND reduce 166 + LSHIFT shift 104 + RSHIFT shift 105 + PLUS reduce 166 + MINUS reduce 166 + BITNOT reduce 166 + LPAREN reduce 166 + SEMICOLON reduce 166 + NAME reduce 166 + COLON reduce 166 + RPAREN reduce 166 + LBRACKET reduce 166 + VAR reduce 166 + RSQBRACKET reduce 166 + L2V reduce 166 + STATIC reduce 166 + CONST reduce 166 + INC reduce 166 + DEC reduce 166 + ONCE reduce 166 + IF reduce 166 + SWITCHCASE reduce 166 + WHILE reduce 166 + FOR reduce 166 + FOREACH reduce 166 + CONTINUE reduce 166 + BREAK reduce 166 + RETURN reduce 166 + ACTIONNAME reduce 166 + +State 280: + term ::= term * PLUS constFactor + term ::= term * PLUS factor + term ::= term * MINUS constFactor + term ::= term * MINUS factor + (160) shTerm ::= constTerm LSHIFT term * + + QMARK reduce 160 + COMMA reduce 160 + LOR reduce 160 + LAND reduce 160 + LNOT reduce 160 + EQ reduce 160 + LE reduce 160 + LT reduce 160 + GE reduce 160 + GT reduce 160 + NE reduce 160 + BITOR reduce 160 + BITXOR reduce 160 + BITAND reduce 160 + LSHIFT reduce 160 + RSHIFT reduce 160 + PLUS shift 114 + PLUS reduce 160 -- dropped by precedence + MINUS shift 113 + MINUS reduce 160 -- dropped by precedence + BITNOT reduce 160 + LPAREN reduce 160 + SEMICOLON reduce 160 + NAME reduce 160 + COLON reduce 160 + RPAREN reduce 160 + LBRACKET reduce 160 + VAR reduce 160 + RSQBRACKET reduce 160 + L2V reduce 160 + STATIC reduce 160 + CONST reduce 160 + INC reduce 160 + DEC reduce 160 + ONCE reduce 160 + IF reduce 160 + SWITCHCASE reduce 160 + WHILE reduce 160 + FOR reduce 160 + FOREACH reduce 160 + CONTINUE reduce 160 + BREAK reduce 160 + RETURN reduce 160 + ACTIONNAME reduce 160 + +State 281: + term ::= term * PLUS constFactor + term ::= term * PLUS factor + term ::= term * MINUS constFactor + term ::= term * MINUS factor + (157) shTerm ::= constTerm RSHIFT term * + + QMARK reduce 157 + COMMA reduce 157 + LOR reduce 157 + LAND reduce 157 + LNOT reduce 157 + EQ reduce 157 + LE reduce 157 + LT reduce 157 + GE reduce 157 + GT reduce 157 + NE reduce 157 + BITOR reduce 157 + BITXOR reduce 157 + BITAND reduce 157 + LSHIFT reduce 157 + RSHIFT reduce 157 + PLUS shift 114 + PLUS reduce 157 -- dropped by precedence + MINUS shift 113 + MINUS reduce 157 -- dropped by precedence + BITNOT reduce 157 + LPAREN reduce 157 + SEMICOLON reduce 157 + NAME reduce 157 + COLON reduce 157 + RPAREN reduce 157 + LBRACKET reduce 157 + VAR reduce 157 + RSQBRACKET reduce 157 + L2V reduce 157 + STATIC reduce 157 + CONST reduce 157 + INC reduce 157 + DEC reduce 157 + ONCE reduce 157 + IF reduce 157 + SWITCHCASE reduce 157 + WHILE reduce 157 + FOR reduce 157 + FOREACH reduce 157 + CONTINUE reduce 157 + BREAK reduce 157 + RETURN reduce 157 + ACTIONNAME reduce 157 + +State 282: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (155) constShTerm ::= constShTerm LSHIFT constTerm * + + QMARK reduce 155 + COMMA reduce 155 + LOR reduce 155 + LAND reduce 155 + LNOT reduce 155 + EQ reduce 155 + LE reduce 155 + LT reduce 155 + GE reduce 155 + GT reduce 155 + NE reduce 155 + BITOR reduce 155 + BITXOR reduce 155 + BITAND reduce 155 + LSHIFT reduce 155 + RSHIFT reduce 155 + PLUS shift 132 + PLUS reduce 155 -- dropped by precedence + MINUS shift 131 + MINUS reduce 155 -- dropped by precedence + BITNOT reduce 155 + LPAREN reduce 155 + SEMICOLON reduce 155 + NAME reduce 155 + COLON reduce 155 + RPAREN reduce 155 + LBRACKET reduce 155 + VAR reduce 155 + RSQBRACKET reduce 155 + L2V reduce 155 + STATIC reduce 155 + CONST reduce 155 + INC reduce 155 + DEC reduce 155 + ONCE reduce 155 + IF reduce 155 + SWITCHCASE reduce 155 + WHILE reduce 155 + FOR reduce 155 + FOREACH reduce 155 + CONTINUE reduce 155 + BREAK reduce 155 + RETURN reduce 155 + ACTIONNAME reduce 155 + +State 283: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (154) constShTerm ::= constShTerm RSHIFT constTerm * + + QMARK reduce 154 + COMMA reduce 154 + LOR reduce 154 + LAND reduce 154 + LNOT reduce 154 + EQ reduce 154 + LE reduce 154 + LT reduce 154 + GE reduce 154 + GT reduce 154 + NE reduce 154 + BITOR reduce 154 + BITXOR reduce 154 + BITAND reduce 154 + LSHIFT reduce 154 + RSHIFT reduce 154 + PLUS shift 132 + PLUS reduce 154 -- dropped by precedence + MINUS shift 131 + MINUS reduce 154 -- dropped by precedence + BITNOT reduce 154 + LPAREN reduce 154 + SEMICOLON reduce 154 + NAME reduce 154 + COLON reduce 154 + RPAREN reduce 154 + LBRACKET reduce 154 + VAR reduce 154 + RSQBRACKET reduce 154 + L2V reduce 154 + STATIC reduce 154 + CONST reduce 154 + INC reduce 154 + DEC reduce 154 + ONCE reduce 154 + IF reduce 154 + SWITCHCASE reduce 154 + WHILE reduce 154 + FOR reduce 154 + FOREACH reduce 154 + CONTINUE reduce 154 + BREAK reduce 154 + RETURN reduce 154 + ACTIONNAME reduce 154 + +State 284: + constShTerm ::= constShTerm * RSHIFT constTerm + constShTerm ::= constShTerm * LSHIFT constTerm + (163) constBitAndTerm ::= constShTerm * + bitAndTerm ::= constShTerm * BITAND shTerm + + QMARK reduce 163 + COMMA reduce 163 + LOR reduce 163 + LAND reduce 163 + LNOT reduce 163 + EQ reduce 163 + LE reduce 163 + LT reduce 163 + GE reduce 163 + GT reduce 163 + NE reduce 163 + BITOR reduce 163 + BITXOR reduce 163 + BITAND shift 98 + BITAND reduce 163 -- dropped by precedence + LSHIFT shift 127 + RSHIFT shift 128 + PLUS reduce 163 + MINUS reduce 163 + BITNOT reduce 163 + LPAREN reduce 163 + SEMICOLON reduce 163 + NAME reduce 163 + COLON reduce 163 + RPAREN reduce 163 + LBRACKET reduce 163 + VAR reduce 163 + RSQBRACKET reduce 163 + L2V reduce 163 + STATIC reduce 163 + CONST reduce 163 + INC reduce 163 + DEC reduce 163 + ONCE reduce 163 + IF reduce 163 + SWITCHCASE reduce 163 + WHILE reduce 163 + FOR reduce 163 + FOREACH reduce 163 + CONTINUE reduce 163 + BREAK reduce 163 + RETURN reduce 163 + ACTIONNAME reduce 163 + +State 285: + term ::= term * PLUS constFactor + term ::= term * PLUS factor + term ::= term * MINUS constFactor + term ::= term * MINUS factor + (156) shTerm ::= term * + + QMARK reduce 156 + COMMA reduce 156 + LOR reduce 156 + LAND reduce 156 + LNOT reduce 156 + EQ reduce 156 + LE reduce 156 + LT reduce 156 + GE reduce 156 + GT reduce 156 + NE reduce 156 + BITOR reduce 156 + BITXOR reduce 156 + BITAND reduce 156 + LSHIFT reduce 156 + RSHIFT reduce 156 + PLUS shift 114 + PLUS reduce 156 -- dropped by precedence + MINUS shift 113 + MINUS reduce 156 -- dropped by precedence + BITNOT reduce 156 + LPAREN reduce 156 + SEMICOLON reduce 156 + NAME reduce 156 + COLON reduce 156 + RPAREN reduce 156 + LBRACKET reduce 156 + VAR reduce 156 + RSQBRACKET reduce 156 + L2V reduce 156 + STATIC reduce 156 + CONST reduce 156 + INC reduce 156 + DEC reduce 156 + ONCE reduce 156 + IF reduce 156 + SWITCHCASE reduce 156 + WHILE reduce 156 + FOR reduce 156 + FOREACH reduce 156 + CONTINUE reduce 156 + BREAK reduce 156 + RETURN reduce 156 + ACTIONNAME reduce 156 -State 138: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (152) assign_stmt ::= lvalue IMUL expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 152 +State 286: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + (153) constShTerm ::= constTerm * + shTerm ::= constTerm * RSHIFT term + shTerm ::= constTerm * LSHIFT term + + QMARK reduce 153 + COMMA reduce 153 + LOR reduce 153 + LAND reduce 153 + LNOT reduce 153 + EQ reduce 153 + LE reduce 153 + LT reduce 153 + GE reduce 153 + GT reduce 153 + NE reduce 153 + BITOR reduce 153 + BITXOR reduce 153 + BITAND reduce 153 + LSHIFT shift 109 + LSHIFT reduce 153 -- dropped by precedence + RSHIFT shift 110 + RSHIFT reduce 153 -- dropped by precedence + PLUS shift 132 + PLUS reduce 153 -- dropped by precedence + MINUS shift 131 + MINUS reduce 153 -- dropped by precedence + BITNOT reduce 153 + LPAREN reduce 153 + SEMICOLON reduce 153 + NAME reduce 153 + COLON reduce 153 + RPAREN reduce 153 + LBRACKET reduce 153 + VAR reduce 153 + RSQBRACKET reduce 153 + L2V reduce 153 + STATIC reduce 153 + CONST reduce 153 + INC reduce 153 + DEC reduce 153 + ONCE reduce 153 + IF reduce 153 + SWITCHCASE reduce 153 + WHILE reduce 153 + FOR reduce 153 + FOREACH reduce 153 + CONTINUE reduce 153 + BREAK reduce 153 + RETURN reduce 153 + ACTIONNAME reduce 153 -State 139: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (151) assign_stmt ::= lvalue ISUB expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 151 +State 287: + constBitAndTerm ::= constBitAndTerm * BITAND constShTerm + (169) constBitXorTerm ::= constBitAndTerm * + + QMARK reduce 169 + COMMA reduce 169 + LOR reduce 169 + LAND reduce 169 + LNOT reduce 169 + EQ reduce 169 + LE reduce 169 + LT reduce 169 + GE reduce 169 + GT reduce 169 + NE reduce 169 + BITOR reduce 169 + BITXOR reduce 169 + BITAND shift 118 + PLUS reduce 169 + MINUS reduce 169 + BITNOT reduce 169 + LPAREN reduce 169 + SEMICOLON reduce 169 + NAME reduce 169 + COLON reduce 169 + RPAREN reduce 169 + LBRACKET reduce 169 + VAR reduce 169 + RSQBRACKET reduce 169 + L2V reduce 169 + STATIC reduce 169 + CONST reduce 169 + INC reduce 169 + DEC reduce 169 + ONCE reduce 169 + IF reduce 169 + SWITCHCASE reduce 169 + WHILE reduce 169 + FOR reduce 169 + FOREACH reduce 169 + CONTINUE reduce 169 + BREAK reduce 169 + RETURN reduce 169 + ACTIONNAME reduce 169 -State 140: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (150) assign_stmt ::= lvalue IADD expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 150 +State 288: + bitAndTerm ::= bitAndTerm * BITAND shTerm + bitAndTerm ::= bitAndTerm * BITAND constShTerm + (174) bitXorTerm ::= bitXorTerm BITXOR bitAndTerm * + + QMARK reduce 174 + COMMA reduce 174 + LOR reduce 174 + LAND reduce 174 + LNOT reduce 174 + EQ reduce 174 + LE reduce 174 + LT reduce 174 + GE reduce 174 + GT reduce 174 + NE reduce 174 + BITOR reduce 174 + BITXOR reduce 174 + BITAND shift 96 + PLUS reduce 174 + MINUS reduce 174 + BITNOT reduce 174 + LPAREN reduce 174 + SEMICOLON reduce 174 + NAME reduce 174 + COLON reduce 174 + RPAREN reduce 174 + LBRACKET reduce 174 + VAR reduce 174 + RSQBRACKET reduce 174 + L2V reduce 174 + STATIC reduce 174 + CONST reduce 174 + INC reduce 174 + DEC reduce 174 + ONCE reduce 174 + IF reduce 174 + SWITCHCASE reduce 174 + WHILE reduce 174 + FOR reduce 174 + FOREACH reduce 174 + CONTINUE reduce 174 + BREAK reduce 174 + RETURN reduce 174 + ACTIONNAME reduce 174 -State 141: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (144) assign_stmt ::= lvalue ASSIGN expr * - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 144 +State 289: + constBitAndTerm ::= constBitAndTerm * BITAND constShTerm + (173) bitXorTerm ::= bitXorTerm BITXOR constBitAndTerm * + + QMARK reduce 173 + COMMA reduce 173 + LOR reduce 173 + LAND reduce 173 + LNOT reduce 173 + EQ reduce 173 + LE reduce 173 + LT reduce 173 + GE reduce 173 + GT reduce 173 + NE reduce 173 + BITOR reduce 173 + BITXOR reduce 173 + BITAND shift 118 + PLUS reduce 173 + MINUS reduce 173 + BITNOT reduce 173 + LPAREN reduce 173 + SEMICOLON reduce 173 + NAME reduce 173 + COLON reduce 173 + RPAREN reduce 173 + LBRACKET reduce 173 + VAR reduce 173 + RSQBRACKET reduce 173 + L2V reduce 173 + STATIC reduce 173 + CONST reduce 173 + INC reduce 173 + DEC reduce 173 + ONCE reduce 173 + IF reduce 173 + SWITCHCASE reduce 173 + WHILE reduce 173 + FOR reduce 173 + FOREACH reduce 173 + CONTINUE reduce 173 + BREAK reduce 173 + RETURN reduce 173 + ACTIONNAME reduce 173 -State 142: - (75) exprList_nonEmpty ::= expr * - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 75 +State 290: + constBitAndTerm ::= constBitAndTerm * BITAND constShTerm + (170) constBitXorTerm ::= constBitXorTerm BITXOR constBitAndTerm * + + QMARK reduce 170 + COMMA reduce 170 + LOR reduce 170 + LAND reduce 170 + LNOT reduce 170 + EQ reduce 170 + LE reduce 170 + LT reduce 170 + GE reduce 170 + GT reduce 170 + NE reduce 170 + BITOR reduce 170 + BITXOR reduce 170 + BITAND shift 118 + PLUS reduce 170 + MINUS reduce 170 + BITNOT reduce 170 + LPAREN reduce 170 + SEMICOLON reduce 170 + NAME reduce 170 + COLON reduce 170 + RPAREN reduce 170 + LBRACKET reduce 170 + VAR reduce 170 + RSQBRACKET reduce 170 + L2V reduce 170 + STATIC reduce 170 + CONST reduce 170 + INC reduce 170 + DEC reduce 170 + ONCE reduce 170 + IF reduce 170 + SWITCHCASE reduce 170 + WHILE reduce 170 + FOR reduce 170 + FOREACH reduce 170 + CONTINUE reduce 170 + BREAK reduce 170 + RETURN reduce 170 + ACTIONNAME reduce 170 -State 143: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - lvalue ::= expr * LSQBRACKET expr RSQBRACKET - lvalue ::= expr * PERIOD NAME - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 73 - PERIOD shift 265 +State 291: + bitAndTerm ::= bitAndTerm * BITAND shTerm + bitAndTerm ::= bitAndTerm * BITAND constShTerm + (171) bitXorTerm ::= bitAndTerm * + + QMARK reduce 171 + COMMA reduce 171 + LOR reduce 171 + LAND reduce 171 + LNOT reduce 171 + EQ reduce 171 + LE reduce 171 + LT reduce 171 + GE reduce 171 + GT reduce 171 + NE reduce 171 + BITOR reduce 171 + BITXOR reduce 171 + BITAND shift 96 + PLUS reduce 171 + MINUS reduce 171 + BITNOT reduce 171 + LPAREN reduce 171 + SEMICOLON reduce 171 + NAME reduce 171 + COLON reduce 171 + RPAREN reduce 171 + LBRACKET reduce 171 + VAR reduce 171 + RSQBRACKET reduce 171 + L2V reduce 171 + STATIC reduce 171 + CONST reduce 171 + INC reduce 171 + DEC reduce 171 + ONCE reduce 171 + IF reduce 171 + SWITCHCASE reduce 171 + WHILE reduce 171 + FOR reduce 171 + FOREACH reduce 171 + CONTINUE reduce 171 + BREAK reduce 171 + RETURN reduce 171 + ACTIONNAME reduce 171 -State 144: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - (110) expr ::= expr QMARK expr COLON expr * - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 110 +State 292: + bitAndTerm ::= bitAndTerm * BITAND shTerm + bitAndTerm ::= bitAndTerm * BITAND constShTerm + (172) bitXorTerm ::= constBitAndTerm BITXOR bitAndTerm * + + QMARK reduce 172 + COMMA reduce 172 + LOR reduce 172 + LAND reduce 172 + LNOT reduce 172 + EQ reduce 172 + LE reduce 172 + LT reduce 172 + GE reduce 172 + GT reduce 172 + NE reduce 172 + BITOR reduce 172 + BITXOR reduce 172 + BITAND shift 96 + PLUS reduce 172 + MINUS reduce 172 + BITNOT reduce 172 + LPAREN reduce 172 + SEMICOLON reduce 172 + NAME reduce 172 + COLON reduce 172 + RPAREN reduce 172 + LBRACKET reduce 172 + VAR reduce 172 + RSQBRACKET reduce 172 + L2V reduce 172 + STATIC reduce 172 + CONST reduce 172 + INC reduce 172 + DEC reduce 172 + ONCE reduce 172 + IF reduce 172 + SWITCHCASE reduce 172 + WHILE reduce 172 + FOR reduce 172 + FOREACH reduce 172 + CONTINUE reduce 172 + BREAK reduce 172 + RETURN reduce 172 + ACTIONNAME reduce 172 -State 145: - (66) typedName ::= NAME COLON expr * - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 66 +State 293: + constBitAndTerm ::= constBitAndTerm * BITAND constShTerm + (169) constBitXorTerm ::= constBitAndTerm * + bitXorTerm ::= constBitAndTerm * BITXOR bitAndTerm + + QMARK reduce 169 + COMMA reduce 169 + LOR reduce 169 + LAND reduce 169 + LNOT reduce 169 + EQ reduce 169 + LE reduce 169 + LT reduce 169 + GE reduce 169 + GT reduce 169 + NE reduce 169 + BITOR reduce 169 + BITXOR shift 95 + BITXOR reduce 169 -- dropped by precedence + BITAND shift 118 + PLUS reduce 169 + MINUS reduce 169 + BITNOT reduce 169 + LPAREN reduce 169 + SEMICOLON reduce 169 + NAME reduce 169 + COLON reduce 169 + RPAREN reduce 169 + LBRACKET reduce 169 + VAR reduce 169 + RSQBRACKET reduce 169 + L2V reduce 169 + STATIC reduce 169 + CONST reduce 169 + INC reduce 169 + DEC reduce 169 + ONCE reduce 169 + IF reduce 169 + SWITCHCASE reduce 169 + WHILE reduce 169 + FOR reduce 169 + FOREACH reduce 169 + CONTINUE reduce 169 + BREAK reduce 169 + RETURN reduce 169 + ACTIONNAME reduce 169 -State 146: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - (86) fArg ::= expr * - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 86 +State 294: + bitXorTerm ::= bitXorTerm * BITXOR constBitAndTerm + bitXorTerm ::= bitXorTerm * BITXOR bitAndTerm + (179) bitOrTerm ::= bitOrTerm BITOR bitXorTerm * + + QMARK reduce 179 + COMMA reduce 179 + LOR reduce 179 + LAND reduce 179 + LNOT reduce 179 + EQ reduce 179 + LE reduce 179 + LT reduce 179 + GE reduce 179 + GT reduce 179 + NE reduce 179 + BITOR reduce 179 + BITXOR shift 93 + PLUS reduce 179 + MINUS reduce 179 + BITNOT reduce 179 + LPAREN reduce 179 + SEMICOLON reduce 179 + NAME reduce 179 + COLON reduce 179 + RPAREN reduce 179 + LBRACKET reduce 179 + VAR reduce 179 + RSQBRACKET reduce 179 + L2V reduce 179 + STATIC reduce 179 + CONST reduce 179 + INC reduce 179 + DEC reduce 179 + ONCE reduce 179 + IF reduce 179 + SWITCHCASE reduce 179 + WHILE reduce 179 + FOR reduce 179 + FOREACH reduce 179 + CONTINUE reduce 179 + BREAK reduce 179 + RETURN reduce 179 + ACTIONNAME reduce 179 -State 147: - (76) exprList_nonEmpty ::= exprList_nonEmpty COMMA expr * - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - QMARK shift 93 - LOR shift 74 - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 76 +State 295: + constBitXorTerm ::= constBitXorTerm * BITXOR constBitAndTerm + (180) bitOrTerm ::= bitOrTerm BITOR constBitXorTerm * + + QMARK reduce 180 + COMMA reduce 180 + LOR reduce 180 + LAND reduce 180 + LNOT reduce 180 + EQ reduce 180 + LE reduce 180 + LT reduce 180 + GE reduce 180 + GT reduce 180 + NE reduce 180 + BITOR reduce 180 + BITXOR shift 115 + PLUS reduce 180 + MINUS reduce 180 + BITNOT reduce 180 + LPAREN reduce 180 + SEMICOLON reduce 180 + NAME reduce 180 + COLON reduce 180 + RPAREN reduce 180 + LBRACKET reduce 180 + VAR reduce 180 + RSQBRACKET reduce 180 + L2V reduce 180 + STATIC reduce 180 + CONST reduce 180 + INC reduce 180 + DEC reduce 180 + ONCE reduce 180 + IF reduce 180 + SWITCHCASE reduce 180 + WHILE reduce 180 + FOR reduce 180 + FOREACH reduce 180 + CONTINUE reduce 180 + BREAK reduce 180 + RETURN reduce 180 + ACTIONNAME reduce 180 -State 148: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (131) expr ::= expr LOR expr * - - LAND shift 75 - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 131 +State 296: + constBitXorTerm ::= constBitXorTerm * BITXOR constBitAndTerm + (176) constBitOrTerm ::= constBitOrTerm BITOR constBitXorTerm * + + QMARK reduce 176 + COMMA reduce 176 + LOR reduce 176 + LAND reduce 176 + LNOT reduce 176 + EQ reduce 176 + LE reduce 176 + LT reduce 176 + GE reduce 176 + GT reduce 176 + NE reduce 176 + BITOR reduce 176 + BITXOR shift 115 + PLUS reduce 176 + MINUS reduce 176 + BITNOT reduce 176 + LPAREN reduce 176 + SEMICOLON reduce 176 + NAME reduce 176 + COLON reduce 176 + RPAREN reduce 176 + LBRACKET reduce 176 + VAR reduce 176 + RSQBRACKET reduce 176 + L2V reduce 176 + STATIC reduce 176 + CONST reduce 176 + INC reduce 176 + DEC reduce 176 + ONCE reduce 176 + IF reduce 176 + SWITCHCASE reduce 176 + WHILE reduce 176 + FOR reduce 176 + FOREACH reduce 176 + CONTINUE reduce 176 + BREAK reduce 176 + RETURN reduce 176 + ACTIONNAME reduce 176 -State 149: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - (132) expr ::= LNOT expr * - - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 132 +State 297: + bitXorTerm ::= bitXorTerm * BITXOR constBitAndTerm + bitXorTerm ::= bitXorTerm * BITXOR bitAndTerm + (177) bitOrTerm ::= bitXorTerm * + + QMARK reduce 177 + COMMA reduce 177 + LOR reduce 177 + LAND reduce 177 + LNOT reduce 177 + EQ reduce 177 + LE reduce 177 + LT reduce 177 + GE reduce 177 + GT reduce 177 + NE reduce 177 + BITOR reduce 177 + BITXOR shift 93 + PLUS reduce 177 + MINUS reduce 177 + BITNOT reduce 177 + LPAREN reduce 177 + SEMICOLON reduce 177 + NAME reduce 177 + COLON reduce 177 + RPAREN reduce 177 + LBRACKET reduce 177 + VAR reduce 177 + RSQBRACKET reduce 177 + L2V reduce 177 + STATIC reduce 177 + CONST reduce 177 + INC reduce 177 + DEC reduce 177 + ONCE reduce 177 + IF reduce 177 + SWITCHCASE reduce 177 + WHILE reduce 177 + FOR reduce 177 + FOREACH reduce 177 + CONTINUE reduce 177 + BREAK reduce 177 + RETURN reduce 177 + ACTIONNAME reduce 177 -State 150: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - (130) expr ::= expr LAND expr * - expr ::= expr * LOR expr - - EQ shift 81 - LE shift 79 - LT shift 77 - GE shift 78 - GT shift 76 - NE shift 80 - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 130 +State 298: + bitXorTerm ::= bitXorTerm * BITXOR constBitAndTerm + bitXorTerm ::= bitXorTerm * BITXOR bitAndTerm + (178) bitOrTerm ::= constBitXorTerm BITOR bitXorTerm * + + QMARK reduce 178 + COMMA reduce 178 + LOR reduce 178 + LAND reduce 178 + LNOT reduce 178 + EQ reduce 178 + LE reduce 178 + LT reduce 178 + GE reduce 178 + GT reduce 178 + NE reduce 178 + BITOR reduce 178 + BITXOR shift 93 + PLUS reduce 178 + MINUS reduce 178 + BITNOT reduce 178 + LPAREN reduce 178 + SEMICOLON reduce 178 + NAME reduce 178 + COLON reduce 178 + RPAREN reduce 178 + LBRACKET reduce 178 + VAR reduce 178 + RSQBRACKET reduce 178 + L2V reduce 178 + STATIC reduce 178 + CONST reduce 178 + INC reduce 178 + DEC reduce 178 + ONCE reduce 178 + IF reduce 178 + SWITCHCASE reduce 178 + WHILE reduce 178 + FOR reduce 178 + FOREACH reduce 178 + CONTINUE reduce 178 + BREAK reduce 178 + RETURN reduce 178 + ACTIONNAME reduce 178 -State 151: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - (129) expr ::= expr GT expr * - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 129 +State 299: + constBitXorTerm ::= constBitXorTerm * BITXOR constBitAndTerm + (175) constBitOrTerm ::= constBitXorTerm * + bitOrTerm ::= constBitXorTerm * BITOR bitXorTerm + + QMARK reduce 175 + COMMA reduce 175 + LOR reduce 175 + LAND reduce 175 + LNOT reduce 175 + EQ reduce 175 + LE reduce 175 + LT reduce 175 + GE reduce 175 + GT reduce 175 + NE reduce 175 + BITOR shift 92 + BITOR reduce 175 -- dropped by precedence + BITXOR shift 115 + PLUS reduce 175 + MINUS reduce 175 + BITNOT reduce 175 + LPAREN reduce 175 + SEMICOLON reduce 175 + NAME reduce 175 + COLON reduce 175 + RPAREN reduce 175 + LBRACKET reduce 175 + VAR reduce 175 + RSQBRACKET reduce 175 + L2V reduce 175 + STATIC reduce 175 + CONST reduce 175 + INC reduce 175 + DEC reduce 175 + ONCE reduce 175 + IF reduce 175 + SWITCHCASE reduce 175 + WHILE reduce 175 + FOR reduce 175 + FOREACH reduce 175 + CONTINUE reduce 175 + BREAK reduce 175 + RETURN reduce 175 + ACTIONNAME reduce 175 -State 152: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - (128) expr ::= expr LT expr * - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 128 +State 300: + bitOrTerm ::= bitOrTerm * BITOR bitXorTerm + bitOrTerm ::= bitOrTerm * BITOR constBitXorTerm + (192) eqExpr ::= bitOrTerm * + eqExpr ::= bitOrTerm * EQ constBitOrTerm + eqExpr ::= bitOrTerm * EQ bitOrTerm + eqExpr ::= bitOrTerm * NE constBitOrTerm + eqExpr ::= bitOrTerm * NE bitOrTerm + + QMARK reduce 192 + COMMA reduce 192 + LOR reduce 192 + LAND reduce 192 + LNOT reduce 192 + EQ shift 86 + LE reduce 192 + LT reduce 192 + GE reduce 192 + GT reduce 192 + NE shift 85 + BITOR shift 91 + PLUS reduce 192 + MINUS reduce 192 + BITNOT reduce 192 + LPAREN reduce 192 + SEMICOLON reduce 192 + NAME reduce 192 + COLON reduce 192 + RPAREN reduce 192 + LBRACKET reduce 192 + VAR reduce 192 + RSQBRACKET reduce 192 + L2V reduce 192 + STATIC reduce 192 + CONST reduce 192 + INC reduce 192 + DEC reduce 192 + ONCE reduce 192 + IF reduce 192 + SWITCHCASE reduce 192 + WHILE reduce 192 + FOR reduce 192 + FOREACH reduce 192 + CONTINUE reduce 192 + BREAK reduce 192 + RETURN reduce 192 + ACTIONNAME reduce 192 -State 153: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - (127) expr ::= expr GE expr * - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 127 +State 301: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (189) constEqExpr ::= constBitOrTerm * + constEqExpr ::= constBitOrTerm * EQ constBitOrTerm + constEqExpr ::= constBitOrTerm * NE constBitOrTerm + eqExpr ::= constBitOrTerm * EQ bitOrTerm + eqExpr ::= constBitOrTerm * NE bitOrTerm + + QMARK reduce 189 + COMMA reduce 189 + LOR reduce 189 + LAND reduce 189 + LNOT reduce 189 + EQ shift 88 + LE reduce 189 + LT reduce 189 + GE reduce 189 + GT reduce 189 + NE shift 87 + BITOR shift 111 + PLUS reduce 189 + MINUS reduce 189 + BITNOT reduce 189 + LPAREN reduce 189 + SEMICOLON reduce 189 + NAME reduce 189 + COLON reduce 189 + RPAREN reduce 189 + LBRACKET reduce 189 + VAR reduce 189 + RSQBRACKET reduce 189 + L2V reduce 189 + STATIC reduce 189 + CONST reduce 189 + INC reduce 189 + DEC reduce 189 + ONCE reduce 189 + IF reduce 189 + SWITCHCASE reduce 189 + WHILE reduce 189 + FOR reduce 189 + FOREACH reduce 189 + CONTINUE reduce 189 + BREAK reduce 189 + RETURN reduce 189 + ACTIONNAME reduce 189 -State 154: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - (126) expr ::= expr LE expr * - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 126 +State 302: + bitOrTerm ::= bitOrTerm * BITOR bitXorTerm + bitOrTerm ::= bitOrTerm * BITOR constBitXorTerm + (198) eqExpr ::= bitOrTerm NE bitOrTerm * + + QMARK reduce 198 + COMMA reduce 198 + LOR reduce 198 + LAND reduce 198 + LNOT reduce 198 + LE reduce 198 + LT reduce 198 + GE reduce 198 + GT reduce 198 + BITOR shift 91 + PLUS reduce 198 + MINUS reduce 198 + BITNOT reduce 198 + LPAREN reduce 198 + SEMICOLON reduce 198 + NAME reduce 198 + COLON reduce 198 + RPAREN reduce 198 + LBRACKET reduce 198 + VAR reduce 198 + RSQBRACKET reduce 198 + L2V reduce 198 + STATIC reduce 198 + CONST reduce 198 + INC reduce 198 + DEC reduce 198 + ONCE reduce 198 + IF reduce 198 + SWITCHCASE reduce 198 + WHILE reduce 198 + FOR reduce 198 + FOREACH reduce 198 + CONTINUE reduce 198 + BREAK reduce 198 + RETURN reduce 198 + ACTIONNAME reduce 198 -State 155: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - (125) expr ::= expr NE expr * - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 125 +State 303: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (197) eqExpr ::= bitOrTerm NE constBitOrTerm * + + QMARK reduce 197 + COMMA reduce 197 + LOR reduce 197 + LAND reduce 197 + LNOT reduce 197 + LE reduce 197 + LT reduce 197 + GE reduce 197 + GT reduce 197 + BITOR shift 111 + PLUS reduce 197 + MINUS reduce 197 + BITNOT reduce 197 + LPAREN reduce 197 + SEMICOLON reduce 197 + NAME reduce 197 + COLON reduce 197 + RPAREN reduce 197 + LBRACKET reduce 197 + VAR reduce 197 + RSQBRACKET reduce 197 + L2V reduce 197 + STATIC reduce 197 + CONST reduce 197 + INC reduce 197 + DEC reduce 197 + ONCE reduce 197 + IF reduce 197 + SWITCHCASE reduce 197 + WHILE reduce 197 + FOR reduce 197 + FOREACH reduce 197 + CONTINUE reduce 197 + BREAK reduce 197 + RETURN reduce 197 + ACTIONNAME reduce 197 -State 156: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - (124) expr ::= expr EQ expr * - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - EQ error - LE error - LT error - GE error - GT error - NE error - BITOR shift 83 - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 124 +State 304: + bitOrTerm ::= bitOrTerm * BITOR bitXorTerm + bitOrTerm ::= bitOrTerm * BITOR constBitXorTerm + (195) eqExpr ::= bitOrTerm EQ bitOrTerm * + + QMARK reduce 195 + COMMA reduce 195 + LOR reduce 195 + LAND reduce 195 + LNOT reduce 195 + LE reduce 195 + LT reduce 195 + GE reduce 195 + GT reduce 195 + BITOR shift 91 + PLUS reduce 195 + MINUS reduce 195 + BITNOT reduce 195 + LPAREN reduce 195 + SEMICOLON reduce 195 + NAME reduce 195 + COLON reduce 195 + RPAREN reduce 195 + LBRACKET reduce 195 + VAR reduce 195 + RSQBRACKET reduce 195 + L2V reduce 195 + STATIC reduce 195 + CONST reduce 195 + INC reduce 195 + DEC reduce 195 + ONCE reduce 195 + IF reduce 195 + SWITCHCASE reduce 195 + WHILE reduce 195 + FOR reduce 195 + FOREACH reduce 195 + CONTINUE reduce 195 + BREAK reduce 195 + RETURN reduce 195 + ACTIONNAME reduce 195 -State 157: - (81) expr ::= NAME * - funcexpr ::= NAME * LPAREN fArgs RPAREN - (139) lvalue ::= NAME * +State 305: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (194) eqExpr ::= bitOrTerm EQ constBitOrTerm * + + QMARK reduce 194 + COMMA reduce 194 + LOR reduce 194 + LAND reduce 194 + LNOT reduce 194 + LE reduce 194 + LT reduce 194 + GE reduce 194 + GT reduce 194 + BITOR shift 111 + PLUS reduce 194 + MINUS reduce 194 + BITNOT reduce 194 + LPAREN reduce 194 + SEMICOLON reduce 194 + NAME reduce 194 + COLON reduce 194 + RPAREN reduce 194 + LBRACKET reduce 194 + VAR reduce 194 + RSQBRACKET reduce 194 + L2V reduce 194 + STATIC reduce 194 + CONST reduce 194 + INC reduce 194 + DEC reduce 194 + ONCE reduce 194 + IF reduce 194 + SWITCHCASE reduce 194 + WHILE reduce 194 + FOR reduce 194 + FOREACH reduce 194 + CONTINUE reduce 194 + BREAK reduce 194 + RETURN reduce 194 + ACTIONNAME reduce 194 - ASSIGN reduce 139 - COMMA reduce 139 - LPAREN shift 27 - SEMICOLON reduce 139 - RPAREN reduce 139 - INC reduce 139 - DEC reduce 139 - IADD reduce 139 - ISUB reduce 139 - IMUL reduce 139 - IDIV reduce 139 - IMOD reduce 139 - ILSH reduce 139 - IRSH reduce 139 - IBND reduce 139 - IBOR reduce 139 - IBXR reduce 139 - {default} reduce 81 +State 306: + bitOrTerm ::= bitOrTerm * BITOR bitXorTerm + bitOrTerm ::= bitOrTerm * BITOR constBitXorTerm + (196) eqExpr ::= constBitOrTerm NE bitOrTerm * + + QMARK reduce 196 + COMMA reduce 196 + LOR reduce 196 + LAND reduce 196 + LNOT reduce 196 + LE reduce 196 + LT reduce 196 + GE reduce 196 + GT reduce 196 + BITOR shift 91 + PLUS reduce 196 + MINUS reduce 196 + BITNOT reduce 196 + LPAREN reduce 196 + SEMICOLON reduce 196 + NAME reduce 196 + COLON reduce 196 + RPAREN reduce 196 + LBRACKET reduce 196 + VAR reduce 196 + RSQBRACKET reduce 196 + L2V reduce 196 + STATIC reduce 196 + CONST reduce 196 + INC reduce 196 + DEC reduce 196 + ONCE reduce 196 + IF reduce 196 + SWITCHCASE reduce 196 + WHILE reduce 196 + FOR reduce 196 + FOREACH reduce 196 + CONTINUE reduce 196 + BREAK reduce 196 + RETURN reduce 196 + ACTIONNAME reduce 196 -State 158: - (83) expr ::= expr LSQBRACKET expr RSQBRACKET * - (140) lvalue ::= expr LSQBRACKET expr RSQBRACKET * +State 307: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (191) constEqExpr ::= constBitOrTerm NE constBitOrTerm * + + QMARK reduce 191 + COMMA reduce 191 + LOR reduce 191 + LAND reduce 191 + LNOT reduce 191 + LE reduce 191 + LT reduce 191 + GE reduce 191 + GT reduce 191 + BITOR shift 111 + PLUS reduce 191 + MINUS reduce 191 + BITNOT reduce 191 + LPAREN reduce 191 + SEMICOLON reduce 191 + NAME reduce 191 + COLON reduce 191 + RPAREN reduce 191 + LBRACKET reduce 191 + VAR reduce 191 + RSQBRACKET reduce 191 + L2V reduce 191 + STATIC reduce 191 + CONST reduce 191 + INC reduce 191 + DEC reduce 191 + ONCE reduce 191 + IF reduce 191 + SWITCHCASE reduce 191 + WHILE reduce 191 + FOR reduce 191 + FOREACH reduce 191 + CONTINUE reduce 191 + BREAK reduce 191 + RETURN reduce 191 + ACTIONNAME reduce 191 - ASSIGN reduce 140 - COMMA reduce 140 - SEMICOLON reduce 140 - RPAREN reduce 140 - INC reduce 140 - DEC reduce 140 - IADD reduce 140 - ISUB reduce 140 - IMUL reduce 140 - IDIV reduce 140 - IMOD reduce 140 - ILSH reduce 140 - IRSH reduce 140 - IBND reduce 140 - IBOR reduce 140 - IBXR reduce 140 - {default} reduce 83 +State 308: + bitOrTerm ::= bitOrTerm * BITOR bitXorTerm + bitOrTerm ::= bitOrTerm * BITOR constBitXorTerm + (193) eqExpr ::= constBitOrTerm EQ bitOrTerm * + + QMARK reduce 193 + COMMA reduce 193 + LOR reduce 193 + LAND reduce 193 + LNOT reduce 193 + LE reduce 193 + LT reduce 193 + GE reduce 193 + GT reduce 193 + BITOR shift 91 + PLUS reduce 193 + MINUS reduce 193 + BITNOT reduce 193 + LPAREN reduce 193 + SEMICOLON reduce 193 + NAME reduce 193 + COLON reduce 193 + RPAREN reduce 193 + LBRACKET reduce 193 + VAR reduce 193 + RSQBRACKET reduce 193 + L2V reduce 193 + STATIC reduce 193 + CONST reduce 193 + INC reduce 193 + DEC reduce 193 + ONCE reduce 193 + IF reduce 193 + SWITCHCASE reduce 193 + WHILE reduce 193 + FOR reduce 193 + FOREACH reduce 193 + CONTINUE reduce 193 + BREAK reduce 193 + RETURN reduce 193 + ACTIONNAME reduce 193 -State 159: - (82) expr ::= expr PERIOD NAME * - (141) lvalue ::= expr PERIOD NAME * +State 309: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (190) constEqExpr ::= constBitOrTerm EQ constBitOrTerm * + + QMARK reduce 190 + COMMA reduce 190 + LOR reduce 190 + LAND reduce 190 + LNOT reduce 190 + LE reduce 190 + LT reduce 190 + GE reduce 190 + GT reduce 190 + BITOR shift 111 + PLUS reduce 190 + MINUS reduce 190 + BITNOT reduce 190 + LPAREN reduce 190 + SEMICOLON reduce 190 + NAME reduce 190 + COLON reduce 190 + RPAREN reduce 190 + LBRACKET reduce 190 + VAR reduce 190 + RSQBRACKET reduce 190 + L2V reduce 190 + STATIC reduce 190 + CONST reduce 190 + INC reduce 190 + DEC reduce 190 + ONCE reduce 190 + IF reduce 190 + SWITCHCASE reduce 190 + WHILE reduce 190 + FOR reduce 190 + FOREACH reduce 190 + CONTINUE reduce 190 + BREAK reduce 190 + RETURN reduce 190 + ACTIONNAME reduce 190 - ASSIGN reduce 141 - COMMA reduce 141 - SEMICOLON reduce 141 - RPAREN reduce 141 - INC reduce 141 - DEC reduce 141 - IADD reduce 141 - ISUB reduce 141 - IMUL reduce 141 - IDIV reduce 141 - IMOD reduce 141 - ILSH reduce 141 - IRSH reduce 141 - IBND reduce 141 - IBOR reduce 141 - IBXR reduce 141 - {default} reduce 82 +State 310: + (204) compExpr ::= eqExpr * + compExpr ::= eqExpr * LE constEqExpr + compExpr ::= eqExpr * LE eqExpr + compExpr ::= eqExpr * GE constEqExpr + compExpr ::= eqExpr * GE eqExpr + compExpr ::= eqExpr * LT constEqExpr + compExpr ::= eqExpr * LT eqExpr + compExpr ::= eqExpr * GT constEqExpr + compExpr ::= eqExpr * GT eqExpr + + QMARK reduce 204 + COMMA reduce 204 + LOR reduce 204 + LAND reduce 204 + LNOT reduce 204 + LE shift 75 + LT shift 73 + GE shift 74 + GT shift 72 + PLUS reduce 204 + MINUS reduce 204 + BITNOT reduce 204 + LPAREN reduce 204 + SEMICOLON reduce 204 + NAME reduce 204 + COLON reduce 204 + RPAREN reduce 204 + LBRACKET reduce 204 + VAR reduce 204 + RSQBRACKET reduce 204 + L2V reduce 204 + STATIC reduce 204 + CONST reduce 204 + INC reduce 204 + DEC reduce 204 + ONCE reduce 204 + IF reduce 204 + SWITCHCASE reduce 204 + WHILE reduce 204 + FOR reduce 204 + FOREACH reduce 204 + CONTINUE reduce 204 + BREAK reduce 204 + RETURN reduce 204 + ACTIONNAME reduce 204 -State 160: - (142) lvalueList_nonEmpty ::= lvalue * - assign_stmt ::= lvalue * ASSIGN expr - assign_stmt ::= lvalue * INC - assign_stmt ::= lvalue * DEC - assign_stmt ::= lvalue * IADD expr - assign_stmt ::= lvalue * ISUB expr - assign_stmt ::= lvalue * IMUL expr - assign_stmt ::= lvalue * IDIV expr - assign_stmt ::= lvalue * IMOD expr - assign_stmt ::= lvalue * ILSH expr - assign_stmt ::= lvalue * IRSH expr - assign_stmt ::= lvalue * IBND expr - assign_stmt ::= lvalue * IBOR expr - assign_stmt ::= lvalue * IBXR expr +State 311: + (199) constCompExpr ::= constEqExpr * + constCompExpr ::= constEqExpr * LE constEqExpr + constCompExpr ::= constEqExpr * GE constEqExpr + constCompExpr ::= constEqExpr * LT constEqExpr + constCompExpr ::= constEqExpr * GT constEqExpr + compExpr ::= constEqExpr * LE eqExpr + compExpr ::= constEqExpr * GE eqExpr + compExpr ::= constEqExpr * LT eqExpr + compExpr ::= constEqExpr * GT eqExpr + + QMARK reduce 199 + COMMA reduce 199 + LOR reduce 199 + LAND reduce 199 + LNOT reduce 199 + LE shift 79 + LT shift 77 + GE shift 78 + GT shift 76 + PLUS reduce 199 + MINUS reduce 199 + BITNOT reduce 199 + LPAREN reduce 199 + SEMICOLON reduce 199 + NAME reduce 199 + COLON reduce 199 + RPAREN reduce 199 + LBRACKET reduce 199 + VAR reduce 199 + RSQBRACKET reduce 199 + L2V reduce 199 + STATIC reduce 199 + CONST reduce 199 + INC reduce 199 + DEC reduce 199 + ONCE reduce 199 + IF reduce 199 + SWITCHCASE reduce 199 + WHILE reduce 199 + FOR reduce 199 + FOREACH reduce 199 + CONTINUE reduce 199 + BREAK reduce 199 + RETURN reduce 199 + ACTIONNAME reduce 199 - ASSIGN shift 65 - INC shift 360 - DEC shift 359 - IADD shift 64 - ISUB shift 63 - IMUL shift 62 - IDIV shift 61 - IMOD shift 60 - ILSH shift 59 - IRSH shift 58 - IBND shift 57 - IBOR shift 56 - IBXR shift 55 - {default} reduce 142 +State 312: + logicAndExpr ::= logicAndExpr * LAND compExpr + logicAndExpr ::= logicAndExpr * LAND constCompExpr + (224) logicExpr ::= logicExpr LOR logicAndExpr * + + QMARK reduce 224 + COMMA reduce 224 + LOR reduce 224 + LAND shift 70 + LNOT reduce 224 + PLUS reduce 224 + MINUS reduce 224 + BITNOT reduce 224 + LPAREN reduce 224 + SEMICOLON reduce 224 + NAME reduce 224 + COLON reduce 224 + RPAREN reduce 224 + LBRACKET reduce 224 + VAR reduce 224 + RSQBRACKET reduce 224 + L2V reduce 224 + STATIC reduce 224 + CONST reduce 224 + INC reduce 224 + DEC reduce 224 + ONCE reduce 224 + IF reduce 224 + SWITCHCASE reduce 224 + WHILE reduce 224 + FOR reduce 224 + FOREACH reduce 224 + CONTINUE reduce 224 + BREAK reduce 224 + RETURN reduce 224 + ACTIONNAME reduce 224 -State 161: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - (119) expr ::= expr BITOR expr * - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - BITXOR shift 82 - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 119 +State 313: + logicAndExpr ::= logicAndExpr * LAND compExpr + logicAndExpr ::= logicAndExpr * LAND constCompExpr + (226) logicExpr ::= constLogicAndExpr LOR logicAndExpr * + + QMARK reduce 226 + COMMA reduce 226 + LOR reduce 226 + LAND shift 70 + LNOT reduce 226 + PLUS reduce 226 + MINUS reduce 226 + BITNOT reduce 226 + LPAREN reduce 226 + SEMICOLON reduce 226 + NAME reduce 226 + COLON reduce 226 + RPAREN reduce 226 + LBRACKET reduce 226 + VAR reduce 226 + RSQBRACKET reduce 226 + L2V reduce 226 + STATIC reduce 226 + CONST reduce 226 + INC reduce 226 + DEC reduce 226 + ONCE reduce 226 + IF reduce 226 + SWITCHCASE reduce 226 + WHILE reduce 226 + FOR reduce 226 + FOREACH reduce 226 + CONTINUE reduce 226 + BREAK reduce 226 + RETURN reduce 226 + ACTIONNAME reduce 226 -State 162: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - (120) expr ::= expr BITXOR expr * - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - BITAND shift 84 - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 120 +State 314: + (220) logicAndExpr ::= logicAndExpr LAND constCompExpr * + + QMARK reduce 220 + COMMA reduce 220 + LOR reduce 220 + LAND reduce 220 + LNOT reduce 220 + PLUS reduce 220 + MINUS reduce 220 + BITNOT reduce 220 + LPAREN reduce 220 + SEMICOLON reduce 220 + NAME reduce 220 + COLON reduce 220 + RPAREN reduce 220 + LBRACKET reduce 220 + VAR reduce 220 + RSQBRACKET reduce 220 + L2V reduce 220 + STATIC reduce 220 + CONST reduce 220 + INC reduce 220 + DEC reduce 220 + ONCE reduce 220 + IF reduce 220 + SWITCHCASE reduce 220 + WHILE reduce 220 + FOR reduce 220 + FOREACH reduce 220 + CONTINUE reduce 220 + BREAK reduce 220 + RETURN reduce 220 + ACTIONNAME reduce 220 -State 163: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - (118) expr ::= expr BITAND expr * - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LSHIFT shift 86 - RSHIFT shift 85 - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 118 +State 315: + (219) logicAndExpr ::= logicAndExpr LAND compExpr * + + QMARK reduce 219 + COMMA reduce 219 + LOR reduce 219 + LAND reduce 219 + LNOT reduce 219 + PLUS reduce 219 + MINUS reduce 219 + BITNOT reduce 219 + LPAREN reduce 219 + SEMICOLON reduce 219 + NAME reduce 219 + COLON reduce 219 + RPAREN reduce 219 + LBRACKET reduce 219 + VAR reduce 219 + RSQBRACKET reduce 219 + L2V reduce 219 + STATIC reduce 219 + CONST reduce 219 + INC reduce 219 + DEC reduce 219 + ONCE reduce 219 + IF reduce 219 + SWITCHCASE reduce 219 + WHILE reduce 219 + FOR reduce 219 + FOREACH reduce 219 + CONTINUE reduce 219 + BREAK reduce 219 + RETURN reduce 219 + ACTIONNAME reduce 219 -State 164: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - (117) expr ::= expr RSHIFT expr * - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 117 +State 316: + logicAndExpr ::= logicAndExpr * LAND compExpr + logicAndExpr ::= logicAndExpr * LAND constCompExpr + (223) logicExpr ::= logicAndExpr * + + QMARK reduce 223 + COMMA reduce 223 + LOR reduce 223 + LAND shift 70 + LNOT reduce 223 + PLUS reduce 223 + MINUS reduce 223 + BITNOT reduce 223 + LPAREN reduce 223 + SEMICOLON reduce 223 + NAME reduce 223 + COLON reduce 223 + RPAREN reduce 223 + LBRACKET reduce 223 + VAR reduce 223 + RSQBRACKET reduce 223 + L2V reduce 223 + STATIC reduce 223 + CONST reduce 223 + INC reduce 223 + DEC reduce 223 + ONCE reduce 223 + IF reduce 223 + SWITCHCASE reduce 223 + WHILE reduce 223 + FOR reduce 223 + FOREACH reduce 223 + CONTINUE reduce 223 + BREAK reduce 223 + RETURN reduce 223 + ACTIONNAME reduce 223 -State 165: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - (116) expr ::= expr LSHIFT expr * - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - PLUS shift 91 - MINUS shift 90 - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 116 +State 317: + (218) logicAndExpr ::= compExpr * + + QMARK reduce 218 + COMMA reduce 218 + LOR reduce 218 + LAND reduce 218 + LNOT reduce 218 + PLUS reduce 218 + MINUS reduce 218 + BITNOT reduce 218 + LPAREN reduce 218 + SEMICOLON reduce 218 + NAME reduce 218 + COLON reduce 218 + RPAREN reduce 218 + LBRACKET reduce 218 + VAR reduce 218 + RSQBRACKET reduce 218 + L2V reduce 218 + STATIC reduce 218 + CONST reduce 218 + INC reduce 218 + DEC reduce 218 + ONCE reduce 218 + IF reduce 218 + SWITCHCASE reduce 218 + WHILE reduce 218 + FOR reduce 218 + FOREACH reduce 218 + CONTINUE reduce 218 + BREAK reduce 218 + RETURN reduce 218 + ACTIONNAME reduce 218 -State 166: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - (112) expr ::= expr MINUS expr * - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 112 +State 318: + (221) logicAndExpr ::= constCompExpr LAND compExpr * + + QMARK reduce 221 + COMMA reduce 221 + LOR reduce 221 + LAND reduce 221 + LNOT reduce 221 + PLUS reduce 221 + MINUS reduce 221 + BITNOT reduce 221 + LPAREN reduce 221 + SEMICOLON reduce 221 + NAME reduce 221 + COLON reduce 221 + RPAREN reduce 221 + LBRACKET reduce 221 + VAR reduce 221 + RSQBRACKET reduce 221 + L2V reduce 221 + STATIC reduce 221 + CONST reduce 221 + INC reduce 221 + DEC reduce 221 + ONCE reduce 221 + IF reduce 221 + SWITCHCASE reduce 221 + WHILE reduce 221 + FOR reduce 221 + FOREACH reduce 221 + CONTINUE reduce 221 + BREAK reduce 221 + RETURN reduce 221 + ACTIONNAME reduce 221 -State 167: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - (111) expr ::= expr PLUS expr * - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - DIVIDE shift 88 - MULTIPLY shift 89 - MOD shift 87 - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 111 +State 319: + (217) constLogicAndExpr ::= constCompExpr * + logicAndExpr ::= constCompExpr * LAND compExpr + + QMARK reduce 217 + COMMA reduce 217 + LOR reduce 217 + LAND shift 71 + LNOT reduce 217 + PLUS reduce 217 + MINUS reduce 217 + BITNOT reduce 217 + LPAREN reduce 217 + SEMICOLON reduce 217 + NAME reduce 217 + COLON reduce 217 + RPAREN reduce 217 + LBRACKET reduce 217 + VAR reduce 217 + RSQBRACKET reduce 217 + L2V reduce 217 + STATIC reduce 217 + CONST reduce 217 + INC reduce 217 + DEC reduce 217 + ONCE reduce 217 + IF reduce 217 + SWITCHCASE reduce 217 + WHILE reduce 217 + FOR reduce 217 + FOREACH reduce 217 + CONTINUE reduce 217 + BREAK reduce 217 + RETURN reduce 217 + ACTIONNAME reduce 217 -State 168: - expr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - (94) funcexprStmt ::= funcexpr * - (97) expr ::= funcexpr * +State 320: + (216) compExpr ::= eqExpr GT eqExpr * + + QMARK reduce 216 + COMMA reduce 216 + LOR reduce 216 + LAND reduce 216 + LNOT reduce 216 + PLUS reduce 216 + MINUS reduce 216 + BITNOT reduce 216 + LPAREN reduce 216 + SEMICOLON reduce 216 + NAME reduce 216 + COLON reduce 216 + RPAREN reduce 216 + LBRACKET reduce 216 + VAR reduce 216 + RSQBRACKET reduce 216 + L2V reduce 216 + STATIC reduce 216 + CONST reduce 216 + INC reduce 216 + DEC reduce 216 + ONCE reduce 216 + IF reduce 216 + SWITCHCASE reduce 216 + WHILE reduce 216 + FOR reduce 216 + FOREACH reduce 216 + CONTINUE reduce 216 + BREAK reduce 216 + RETURN reduce 216 + ACTIONNAME reduce 216 - COMMA reduce 94 - LSQBRACKET shift 285 - SEMICOLON reduce 94 - RPAREN reduce 94 - {default} reduce 97 +State 321: + (215) compExpr ::= eqExpr GT constEqExpr * + + QMARK reduce 215 + COMMA reduce 215 + LOR reduce 215 + LAND reduce 215 + LNOT reduce 215 + PLUS reduce 215 + MINUS reduce 215 + BITNOT reduce 215 + LPAREN reduce 215 + SEMICOLON reduce 215 + NAME reduce 215 + COLON reduce 215 + RPAREN reduce 215 + LBRACKET reduce 215 + VAR reduce 215 + RSQBRACKET reduce 215 + L2V reduce 215 + STATIC reduce 215 + CONST reduce 215 + INC reduce 215 + DEC reduce 215 + ONCE reduce 215 + IF reduce 215 + SWITCHCASE reduce 215 + WHILE reduce 215 + FOR reduce 215 + FOREACH reduce 215 + CONTINUE reduce 215 + BREAK reduce 215 + RETURN reduce 215 + ACTIONNAME reduce 215 -State 169: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - (123) expr ::= BITNOT expr * - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 123 +State 322: + (213) compExpr ::= eqExpr LT eqExpr * + + QMARK reduce 213 + COMMA reduce 213 + LOR reduce 213 + LAND reduce 213 + LNOT reduce 213 + PLUS reduce 213 + MINUS reduce 213 + BITNOT reduce 213 + LPAREN reduce 213 + SEMICOLON reduce 213 + NAME reduce 213 + COLON reduce 213 + RPAREN reduce 213 + LBRACKET reduce 213 + VAR reduce 213 + RSQBRACKET reduce 213 + L2V reduce 213 + STATIC reduce 213 + CONST reduce 213 + INC reduce 213 + DEC reduce 213 + ONCE reduce 213 + IF reduce 213 + SWITCHCASE reduce 213 + WHILE reduce 213 + FOR reduce 213 + FOREACH reduce 213 + CONTINUE reduce 213 + BREAK reduce 213 + RETURN reduce 213 + ACTIONNAME reduce 213 -State 170: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - (122) expr ::= MINUS expr * - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 122 +State 323: + (212) compExpr ::= eqExpr LT constEqExpr * + + QMARK reduce 212 + COMMA reduce 212 + LOR reduce 212 + LAND reduce 212 + LNOT reduce 212 + PLUS reduce 212 + MINUS reduce 212 + BITNOT reduce 212 + LPAREN reduce 212 + SEMICOLON reduce 212 + NAME reduce 212 + COLON reduce 212 + RPAREN reduce 212 + LBRACKET reduce 212 + VAR reduce 212 + RSQBRACKET reduce 212 + L2V reduce 212 + STATIC reduce 212 + CONST reduce 212 + INC reduce 212 + DEC reduce 212 + ONCE reduce 212 + IF reduce 212 + SWITCHCASE reduce 212 + WHILE reduce 212 + FOR reduce 212 + FOREACH reduce 212 + CONTINUE reduce 212 + BREAK reduce 212 + RETURN reduce 212 + ACTIONNAME reduce 212 -State 171: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - (121) expr ::= PLUS expr * - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 121 +State 324: + (210) compExpr ::= eqExpr GE eqExpr * + + QMARK reduce 210 + COMMA reduce 210 + LOR reduce 210 + LAND reduce 210 + LNOT reduce 210 + PLUS reduce 210 + MINUS reduce 210 + BITNOT reduce 210 + LPAREN reduce 210 + SEMICOLON reduce 210 + NAME reduce 210 + COLON reduce 210 + RPAREN reduce 210 + LBRACKET reduce 210 + VAR reduce 210 + RSQBRACKET reduce 210 + L2V reduce 210 + STATIC reduce 210 + CONST reduce 210 + INC reduce 210 + DEC reduce 210 + ONCE reduce 210 + IF reduce 210 + SWITCHCASE reduce 210 + WHILE reduce 210 + FOR reduce 210 + FOREACH reduce 210 + CONTINUE reduce 210 + BREAK reduce 210 + RETURN reduce 210 + ACTIONNAME reduce 210 -State 172: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - (115) expr ::= expr MOD expr * - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 115 +State 325: + (209) compExpr ::= eqExpr GE constEqExpr * + + QMARK reduce 209 + COMMA reduce 209 + LOR reduce 209 + LAND reduce 209 + LNOT reduce 209 + PLUS reduce 209 + MINUS reduce 209 + BITNOT reduce 209 + LPAREN reduce 209 + SEMICOLON reduce 209 + NAME reduce 209 + COLON reduce 209 + RPAREN reduce 209 + LBRACKET reduce 209 + VAR reduce 209 + RSQBRACKET reduce 209 + L2V reduce 209 + STATIC reduce 209 + CONST reduce 209 + INC reduce 209 + DEC reduce 209 + ONCE reduce 209 + IF reduce 209 + SWITCHCASE reduce 209 + WHILE reduce 209 + FOR reduce 209 + FOREACH reduce 209 + CONTINUE reduce 209 + BREAK reduce 209 + RETURN reduce 209 + ACTIONNAME reduce 209 -State 173: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - expr ::= expr * DIVIDE expr - (114) expr ::= expr DIVIDE expr * - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 114 +State 326: + (207) compExpr ::= eqExpr LE eqExpr * + + QMARK reduce 207 + COMMA reduce 207 + LOR reduce 207 + LAND reduce 207 + LNOT reduce 207 + PLUS reduce 207 + MINUS reduce 207 + BITNOT reduce 207 + LPAREN reduce 207 + SEMICOLON reduce 207 + NAME reduce 207 + COLON reduce 207 + RPAREN reduce 207 + LBRACKET reduce 207 + VAR reduce 207 + RSQBRACKET reduce 207 + L2V reduce 207 + STATIC reduce 207 + CONST reduce 207 + INC reduce 207 + DEC reduce 207 + ONCE reduce 207 + IF reduce 207 + SWITCHCASE reduce 207 + WHILE reduce 207 + FOR reduce 207 + FOREACH reduce 207 + CONTINUE reduce 207 + BREAK reduce 207 + RETURN reduce 207 + ACTIONNAME reduce 207 -State 174: - expr ::= expr * PERIOD NAME - expr ::= expr * LSQBRACKET expr RSQBRACKET - funcexpr ::= expr * LPAREN fArgs RPAREN - expr ::= expr * QMARK expr COLON expr - expr ::= expr * PLUS expr - expr ::= expr * MINUS expr - expr ::= expr * MULTIPLY expr - (113) expr ::= expr MULTIPLY expr * - expr ::= expr * DIVIDE expr - expr ::= expr * MOD expr - expr ::= expr * LSHIFT expr - expr ::= expr * RSHIFT expr - expr ::= expr * BITAND expr - expr ::= expr * BITOR expr - expr ::= expr * BITXOR expr - expr ::= expr * EQ expr - expr ::= expr * NE expr - expr ::= expr * LE expr - expr ::= expr * GE expr - expr ::= expr * LT expr - expr ::= expr * GT expr - expr ::= expr * LAND expr - expr ::= expr * LOR expr - - LPAREN shift 26 - LSQBRACKET shift 95 - PERIOD shift 281 - {default} reduce 113 +State 327: + (206) compExpr ::= eqExpr LE constEqExpr * + + QMARK reduce 206 + COMMA reduce 206 + LOR reduce 206 + LAND reduce 206 + LNOT reduce 206 + PLUS reduce 206 + MINUS reduce 206 + BITNOT reduce 206 + LPAREN reduce 206 + SEMICOLON reduce 206 + NAME reduce 206 + COLON reduce 206 + RPAREN reduce 206 + LBRACKET reduce 206 + VAR reduce 206 + RSQBRACKET reduce 206 + L2V reduce 206 + STATIC reduce 206 + CONST reduce 206 + INC reduce 206 + DEC reduce 206 + ONCE reduce 206 + IF reduce 206 + SWITCHCASE reduce 206 + WHILE reduce 206 + FOR reduce 206 + FOREACH reduce 206 + CONTINUE reduce 206 + BREAK reduce 206 + RETURN reduce 206 + ACTIONNAME reduce 206 -State 175: - relimp_path ::= relimp_path * PERIOD NAME - relimp_chunk ::= relimp_path * SEMICOLON - relimp_chunk ::= relimp_path * AS NAME SEMICOLON +State 328: + (214) compExpr ::= constEqExpr GT eqExpr * + + QMARK reduce 214 + COMMA reduce 214 + LOR reduce 214 + LAND reduce 214 + LNOT reduce 214 + PLUS reduce 214 + MINUS reduce 214 + BITNOT reduce 214 + LPAREN reduce 214 + SEMICOLON reduce 214 + NAME reduce 214 + COLON reduce 214 + RPAREN reduce 214 + LBRACKET reduce 214 + VAR reduce 214 + RSQBRACKET reduce 214 + L2V reduce 214 + STATIC reduce 214 + CONST reduce 214 + INC reduce 214 + DEC reduce 214 + ONCE reduce 214 + IF reduce 214 + SWITCHCASE reduce 214 + WHILE reduce 214 + FOR reduce 214 + FOREACH reduce 214 + CONTINUE reduce 214 + BREAK reduce 214 + RETURN reduce 214 + ACTIONNAME reduce 214 - PERIOD shift 293 - SEMICOLON shift 410 - AS shift 292 +State 329: + (203) constCompExpr ::= constEqExpr GT constEqExpr * + + QMARK reduce 203 + COMMA reduce 203 + LOR reduce 203 + LAND reduce 203 + LNOT reduce 203 + PLUS reduce 203 + MINUS reduce 203 + BITNOT reduce 203 + LPAREN reduce 203 + SEMICOLON reduce 203 + NAME reduce 203 + COLON reduce 203 + RPAREN reduce 203 + LBRACKET reduce 203 + VAR reduce 203 + RSQBRACKET reduce 203 + L2V reduce 203 + STATIC reduce 203 + CONST reduce 203 + INC reduce 203 + DEC reduce 203 + ONCE reduce 203 + IF reduce 203 + SWITCHCASE reduce 203 + WHILE reduce 203 + FOR reduce 203 + FOREACH reduce 203 + CONTINUE reduce 203 + BREAK reduce 203 + RETURN reduce 203 + ACTIONNAME reduce 203 -State 176: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - cdef_global_stmt ::= CONST nameList_nonEmpty * ASSIGN exprList_nonEmpty +State 330: + (211) compExpr ::= constEqExpr LT eqExpr * + + QMARK reduce 211 + COMMA reduce 211 + LOR reduce 211 + LAND reduce 211 + LNOT reduce 211 + PLUS reduce 211 + MINUS reduce 211 + BITNOT reduce 211 + LPAREN reduce 211 + SEMICOLON reduce 211 + NAME reduce 211 + COLON reduce 211 + RPAREN reduce 211 + LBRACKET reduce 211 + VAR reduce 211 + RSQBRACKET reduce 211 + L2V reduce 211 + STATIC reduce 211 + CONST reduce 211 + INC reduce 211 + DEC reduce 211 + ONCE reduce 211 + IF reduce 211 + SWITCHCASE reduce 211 + WHILE reduce 211 + FOR reduce 211 + FOREACH reduce 211 + CONTINUE reduce 211 + BREAK reduce 211 + RETURN reduce 211 + ACTIONNAME reduce 211 - ASSIGN shift 32 - COMMA shift 233 +State 331: + (202) constCompExpr ::= constEqExpr LT constEqExpr * + + QMARK reduce 202 + COMMA reduce 202 + LOR reduce 202 + LAND reduce 202 + LNOT reduce 202 + PLUS reduce 202 + MINUS reduce 202 + BITNOT reduce 202 + LPAREN reduce 202 + SEMICOLON reduce 202 + NAME reduce 202 + COLON reduce 202 + RPAREN reduce 202 + LBRACKET reduce 202 + VAR reduce 202 + RSQBRACKET reduce 202 + L2V reduce 202 + STATIC reduce 202 + CONST reduce 202 + INC reduce 202 + DEC reduce 202 + ONCE reduce 202 + IF reduce 202 + SWITCHCASE reduce 202 + WHILE reduce 202 + FOR reduce 202 + FOREACH reduce 202 + CONTINUE reduce 202 + BREAK reduce 202 + RETURN reduce 202 + ACTIONNAME reduce 202 -State 177: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - (133) vdef_stmt ::= VAR nameList_nonEmpty * - vdefAssign_global_stmt ::= VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty +State 332: + (208) compExpr ::= constEqExpr GE eqExpr * + + QMARK reduce 208 + COMMA reduce 208 + LOR reduce 208 + LAND reduce 208 + LNOT reduce 208 + PLUS reduce 208 + MINUS reduce 208 + BITNOT reduce 208 + LPAREN reduce 208 + SEMICOLON reduce 208 + NAME reduce 208 + COLON reduce 208 + RPAREN reduce 208 + LBRACKET reduce 208 + VAR reduce 208 + RSQBRACKET reduce 208 + L2V reduce 208 + STATIC reduce 208 + CONST reduce 208 + INC reduce 208 + DEC reduce 208 + ONCE reduce 208 + IF reduce 208 + SWITCHCASE reduce 208 + WHILE reduce 208 + FOR reduce 208 + FOREACH reduce 208 + CONTINUE reduce 208 + BREAK reduce 208 + RETURN reduce 208 + ACTIONNAME reduce 208 - ASSIGN shift 33 - COMMA shift 233 - {default} reduce 133 +State 333: + (201) constCompExpr ::= constEqExpr GE constEqExpr * + + QMARK reduce 201 + COMMA reduce 201 + LOR reduce 201 + LAND reduce 201 + LNOT reduce 201 + PLUS reduce 201 + MINUS reduce 201 + BITNOT reduce 201 + LPAREN reduce 201 + SEMICOLON reduce 201 + NAME reduce 201 + COLON reduce 201 + RPAREN reduce 201 + LBRACKET reduce 201 + VAR reduce 201 + RSQBRACKET reduce 201 + L2V reduce 201 + STATIC reduce 201 + CONST reduce 201 + INC reduce 201 + DEC reduce 201 + ONCE reduce 201 + IF reduce 201 + SWITCHCASE reduce 201 + WHILE reduce 201 + FOR reduce 201 + FOREACH reduce 201 + CONTINUE reduce 201 + BREAK reduce 201 + RETURN reduce 201 + ACTIONNAME reduce 201 -State 178: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - foreach_header ::= foreach_opener nameList_nonEmpty * COLON exprList_nonEmpty +State 334: + (205) compExpr ::= constEqExpr LE eqExpr * + + QMARK reduce 205 + COMMA reduce 205 + LOR reduce 205 + LAND reduce 205 + LNOT reduce 205 + PLUS reduce 205 + MINUS reduce 205 + BITNOT reduce 205 + LPAREN reduce 205 + SEMICOLON reduce 205 + NAME reduce 205 + COLON reduce 205 + RPAREN reduce 205 + LBRACKET reduce 205 + VAR reduce 205 + RSQBRACKET reduce 205 + L2V reduce 205 + STATIC reduce 205 + CONST reduce 205 + INC reduce 205 + DEC reduce 205 + ONCE reduce 205 + IF reduce 205 + SWITCHCASE reduce 205 + WHILE reduce 205 + FOR reduce 205 + FOREACH reduce 205 + CONTINUE reduce 205 + BREAK reduce 205 + RETURN reduce 205 + ACTIONNAME reduce 205 - COMMA shift 233 - COLON shift 34 +State 335: + (200) constCompExpr ::= constEqExpr LE constEqExpr * + + QMARK reduce 200 + COMMA reduce 200 + LOR reduce 200 + LAND reduce 200 + LNOT reduce 200 + PLUS reduce 200 + MINUS reduce 200 + BITNOT reduce 200 + LPAREN reduce 200 + SEMICOLON reduce 200 + NAME reduce 200 + COLON reduce 200 + RPAREN reduce 200 + LBRACKET reduce 200 + VAR reduce 200 + RSQBRACKET reduce 200 + L2V reduce 200 + STATIC reduce 200 + CONST reduce 200 + INC reduce 200 + DEC reduce 200 + ONCE reduce 200 + IF reduce 200 + SWITCHCASE reduce 200 + WHILE reduce 200 + FOR reduce 200 + FOREACH reduce 200 + CONTINUE reduce 200 + BREAK reduce 200 + RETURN reduce 200 + ACTIONNAME reduce 200 -State 179: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - case_clause ::= case_start exprList_nonEmpty * COLON +State 336: + (311) logicExpr ::= KILLS LPAREN fArgs RPAREN * + + QMARK reduce 311 + COMMA reduce 311 + LOR reduce 311 + LNOT reduce 311 + PLUS reduce 311 + MINUS reduce 311 + BITNOT reduce 311 + LPAREN reduce 311 + SEMICOLON reduce 311 + NAME reduce 311 + COLON reduce 311 + RPAREN reduce 311 + LBRACKET reduce 311 + VAR reduce 311 + RSQBRACKET reduce 311 + L2V reduce 311 + STATIC reduce 311 + CONST reduce 311 + INC reduce 311 + DEC reduce 311 + ONCE reduce 311 + IF reduce 311 + SWITCHCASE reduce 311 + WHILE reduce 311 + FOR reduce 311 + FOREACH reduce 311 + CONTINUE reduce 311 + BREAK reduce 311 + RETURN reduce 311 + ACTIONNAME reduce 311 - COMMA shift 96 - COLON shift 346 +State 337: + (128) logicExpr ::= logicExpr QMARK expr COLON expr * + + QMARK reduce 128 + COMMA reduce 128 + LOR reduce 128 + LNOT reduce 128 + PLUS reduce 128 + MINUS reduce 128 + BITNOT reduce 128 + LPAREN reduce 128 + SEMICOLON reduce 128 + NAME reduce 128 + COLON reduce 128 + RPAREN reduce 128 + LBRACKET reduce 128 + VAR reduce 128 + RSQBRACKET reduce 128 + L2V reduce 128 + STATIC reduce 128 + CONST reduce 128 + INC reduce 128 + DEC reduce 128 + ONCE reduce 128 + IF reduce 128 + SWITCHCASE reduce 128 + WHILE reduce 128 + FOR reduce 128 + FOREACH reduce 128 + CONTINUE reduce 128 + BREAK reduce 128 + RETURN reduce 128 + ACTIONNAME reduce 128 -State 180: - lvalueList_nonEmpty ::= lvalueList_nonEmpty * COMMA lvalue - assign_stmt ::= lvalueList_nonEmpty * ASSIGN exprList_nonEmpty +State 338: + (225) logicExpr ::= logicExpr LOR constLogicExpr * + + QMARK reduce 225 + COMMA reduce 225 + LOR reduce 225 + LNOT reduce 225 + PLUS reduce 225 + MINUS reduce 225 + BITNOT reduce 225 + LPAREN reduce 225 + SEMICOLON reduce 225 + NAME reduce 225 + COLON reduce 225 + RPAREN reduce 225 + LBRACKET reduce 225 + VAR reduce 225 + RSQBRACKET reduce 225 + L2V reduce 225 + STATIC reduce 225 + CONST reduce 225 + INC reduce 225 + DEC reduce 225 + ONCE reduce 225 + IF reduce 225 + SWITCHCASE reduce 225 + WHILE reduce 225 + FOR reduce 225 + FOREACH reduce 225 + CONTINUE reduce 225 + BREAK reduce 225 + RETURN reduce 225 + ACTIONNAME reduce 225 - ASSIGN shift 38 - COMMA shift 39 +State 339: + (222) constLogicExpr ::= constLogicAndExpr * + + QMARK reduce 222 + COMMA reduce 222 + LOR reduce 222 + LNOT reduce 222 + PLUS reduce 222 + MINUS reduce 222 + BITNOT reduce 222 + LPAREN reduce 222 + SEMICOLON reduce 222 + NAME reduce 222 + COLON reduce 222 + RPAREN reduce 222 + LBRACKET reduce 222 + VAR reduce 222 + RSQBRACKET reduce 222 + L2V reduce 222 + STATIC reduce 222 + CONST reduce 222 + INC reduce 222 + DEC reduce 222 + ONCE reduce 222 + IF reduce 222 + SWITCHCASE reduce 222 + WHILE reduce 222 + FOR reduce 222 + FOREACH reduce 222 + CONTINUE reduce 222 + BREAK reduce 222 + RETURN reduce 222 + ACTIONNAME reduce 222 -State 181: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - cdef_stmt ::= CONST nameList_nonEmpty * ASSIGN exprList_nonEmpty +State 340: + (310) logicExpr ::= CONDITIONNAME LPAREN fArgs RPAREN * + + QMARK reduce 310 + COMMA reduce 310 + LOR reduce 310 + LNOT reduce 310 + PLUS reduce 310 + MINUS reduce 310 + BITNOT reduce 310 + LPAREN reduce 310 + SEMICOLON reduce 310 + NAME reduce 310 + COLON reduce 310 + RPAREN reduce 310 + LBRACKET reduce 310 + VAR reduce 310 + RSQBRACKET reduce 310 + L2V reduce 310 + STATIC reduce 310 + CONST reduce 310 + INC reduce 310 + DEC reduce 310 + ONCE reduce 310 + IF reduce 310 + SWITCHCASE reduce 310 + WHILE reduce 310 + FOR reduce 310 + FOREACH reduce 310 + CONTINUE reduce 310 + BREAK reduce 310 + RETURN reduce 310 + ACTIONNAME reduce 310 - ASSIGN shift 40 - COMMA shift 233 +State 341: + (222) constLogicExpr ::= constLogicAndExpr * + logicExpr ::= constLogicAndExpr * LOR logicAndExpr + + QMARK reduce 222 + COMMA reduce 222 + LOR shift 69 + LOR reduce 222 -- dropped by precedence + LNOT reduce 222 + PLUS reduce 222 + MINUS reduce 222 + BITNOT reduce 222 + LPAREN reduce 222 + SEMICOLON reduce 222 + NAME reduce 222 + COLON reduce 222 + RPAREN reduce 222 + LBRACKET reduce 222 + VAR reduce 222 + RSQBRACKET reduce 222 + L2V reduce 222 + STATIC reduce 222 + CONST reduce 222 + INC reduce 222 + DEC reduce 222 + ONCE reduce 222 + IF reduce 222 + SWITCHCASE reduce 222 + WHILE reduce 222 + FOR reduce 222 + FOREACH reduce 222 + CONTINUE reduce 222 + BREAK reduce 222 + RETURN reduce 222 + ACTIONNAME reduce 222 -State 182: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty +State 342: + (127) logicExpr ::= LIST LPAREN exprList_nonEmpty commaSkippable RPAREN * + + QMARK reduce 127 + COMMA reduce 127 + LOR reduce 127 + LNOT reduce 127 + PLUS reduce 127 + MINUS reduce 127 + BITNOT reduce 127 + LPAREN reduce 127 + SEMICOLON reduce 127 + NAME reduce 127 + COLON reduce 127 + RPAREN reduce 127 + LBRACKET reduce 127 + VAR reduce 127 + RSQBRACKET reduce 127 + L2V reduce 127 + STATIC reduce 127 + CONST reduce 127 + INC reduce 127 + DEC reduce 127 + ONCE reduce 127 + IF reduce 127 + SWITCHCASE reduce 127 + WHILE reduce 127 + FOR reduce 127 + FOREACH reduce 127 + CONTINUE reduce 127 + BREAK reduce 127 + RETURN reduce 127 + ACTIONNAME reduce 127 - ASSIGN shift 41 - COMMA shift 233 +State 343: + (94) expr ::= logicExpr * + logicExpr ::= logicExpr * QMARK expr COLON expr + logicExpr ::= logicExpr * LOR logicAndExpr + logicExpr ::= logicExpr * LOR constLogicExpr -State 183: - nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME - (133) vdef_stmt ::= VAR nameList_nonEmpty * - vdefAssign_stmt ::= VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty + QMARK shift 61 + QMARK reduce 94 -- dropped by precedence + COMMA reduce 94 + LOR shift 68 + LOR reduce 94 -- dropped by precedence + LNOT reduce 94 + PLUS reduce 94 + MINUS reduce 94 + BITNOT reduce 94 + LPAREN reduce 94 + SEMICOLON reduce 94 + NAME reduce 94 + COLON reduce 94 + RPAREN reduce 94 + LBRACKET reduce 94 + VAR reduce 94 + RSQBRACKET reduce 94 + L2V reduce 94 + STATIC reduce 94 + CONST reduce 94 + INC reduce 94 + DEC reduce 94 + ONCE reduce 94 + IF reduce 94 + SWITCHCASE reduce 94 + WHILE reduce 94 + FOR reduce 94 + FOREACH reduce 94 + CONTINUE reduce 94 + BREAK reduce 94 + RETURN reduce 94 + ACTIONNAME reduce 94 - ASSIGN shift 42 - COMMA shift 233 - {default} reduce 133 +State 344: + (93) expr ::= constLogicExpr * + + QMARK reduce 93 + COMMA reduce 93 + LOR reduce 93 + LNOT reduce 93 + PLUS reduce 93 + MINUS reduce 93 + BITNOT reduce 93 + LPAREN reduce 93 + SEMICOLON reduce 93 + NAME reduce 93 + COLON reduce 93 + RPAREN reduce 93 + LBRACKET reduce 93 + VAR reduce 93 + RSQBRACKET reduce 93 + L2V reduce 93 + STATIC reduce 93 + CONST reduce 93 + INC reduce 93 + DEC reduce 93 + ONCE reduce 93 + IF reduce 93 + SWITCHCASE reduce 93 + WHILE reduce 93 + FOR reduce 93 + FOREACH reduce 93 + CONTINUE reduce 93 + BREAK reduce 93 + RETURN reduce 93 + ACTIONNAME reduce 93 -State 184: - numList_nonEmpty ::= numList_nonEmpty * COMMA NUMBER - exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty * RSQBRACKET RSQBRACKET +State 345: + (80) exprList_nonEmpty ::= expr * + + COMMA reduce 80 + LNOT reduce 80 + PLUS reduce 80 + MINUS reduce 80 + BITNOT reduce 80 + LPAREN reduce 80 + SEMICOLON reduce 80 + NAME reduce 80 + COLON reduce 80 + RPAREN reduce 80 + LBRACKET reduce 80 + VAR reduce 80 + RSQBRACKET reduce 80 + L2V reduce 80 + STATIC reduce 80 + CONST reduce 80 + INC reduce 80 + DEC reduce 80 + ONCE reduce 80 + IF reduce 80 + SWITCHCASE reduce 80 + WHILE reduce 80 + FOR reduce 80 + FOREACH reduce 80 + CONTINUE reduce 80 + BREAK reduce 80 + RETURN reduce 80 + ACTIONNAME reduce 80 - COMMA shift 261 - RSQBRACKET shift 260 +State 346: + (78) exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET * + + COMMA reduce 78 + LNOT reduce 78 + PLUS reduce 78 + MINUS reduce 78 + BITNOT reduce 78 + LPAREN reduce 78 + SEMICOLON reduce 78 + NAME reduce 78 + COLON reduce 78 + RPAREN reduce 78 + LBRACKET reduce 78 + VAR reduce 78 + RSQBRACKET reduce 78 + L2V reduce 78 + STATIC reduce 78 + CONST reduce 78 + INC reduce 78 + DEC reduce 78 + ONCE reduce 78 + IF reduce 78 + SWITCHCASE reduce 78 + WHILE reduce 78 + FOR reduce 78 + FOREACH reduce 78 + CONTINUE reduce 78 + BREAK reduce 78 + RETURN reduce 78 + ACTIONNAME reduce 78 -State 185: - (81) expr ::= NAME * - fArg ::= NAME * ASSIGN expr - fArg ::= NAME * ASSIGN STRING - funcexpr ::= NAME * LPAREN fArgs RPAREN +State 347: + (81) exprList_nonEmpty ::= exprList_nonEmpty COMMA expr * + + COMMA reduce 81 + LNOT reduce 81 + PLUS reduce 81 + MINUS reduce 81 + BITNOT reduce 81 + LPAREN reduce 81 + SEMICOLON reduce 81 + NAME reduce 81 + COLON reduce 81 + RPAREN reduce 81 + LBRACKET reduce 81 + VAR reduce 81 + RSQBRACKET reduce 81 + L2V reduce 81 + STATIC reduce 81 + CONST reduce 81 + INC reduce 81 + DEC reduce 81 + ONCE reduce 81 + IF reduce 81 + SWITCHCASE reduce 81 + WHILE reduce 81 + FOR reduce 81 + FOREACH reduce 81 + CONTINUE reduce 81 + BREAK reduce 81 + RETURN reduce 81 + ACTIONNAME reduce 81 - ASSIGN shift 48 - LPAREN shift 27 - {default} reduce 81 +State 348: + (65) bodyStmtList ::= bodyStmt * + + LNOT reduce 65 + PLUS reduce 65 + MINUS reduce 65 + BITNOT reduce 65 + LPAREN reduce 65 + SEMICOLON reduce 65 + NAME reduce 65 + LBRACKET reduce 65 + VAR reduce 65 + RBRACKET reduce 65 + L2V reduce 65 + STATIC reduce 65 + CONST reduce 65 + INC reduce 65 + DEC reduce 65 + ONCE reduce 65 + IF reduce 65 + SWITCHCASE reduce 65 + CASE reduce 65 + DEFAULT reduce 65 + WHILE reduce 65 + FOR reduce 65 + FOREACH reduce 65 + CONTINUE reduce 65 + BREAK reduce 65 + RETURN reduce 65 + ACTIONNAME reduce 65 -State 186: - relimp_start ::= relimp_start * PERIOD - relimp_path ::= relimp_start * NAME +State 349: + (272) case_clause ::= case_start exprList_nonEmpty COLON * + + LNOT reduce 272 + PLUS reduce 272 + MINUS reduce 272 + BITNOT reduce 272 + LPAREN reduce 272 + SEMICOLON reduce 272 + NAME reduce 272 + LBRACKET reduce 272 + VAR reduce 272 + RBRACKET reduce 272 + L2V reduce 272 + STATIC reduce 272 + CONST reduce 272 + INC reduce 272 + DEC reduce 272 + ONCE reduce 272 + IF reduce 272 + SWITCHCASE reduce 272 + CASE reduce 272 + DEFAULT reduce 272 + WHILE reduce 272 + FOR reduce 272 + FOREACH reduce 272 + CONTINUE reduce 272 + BREAK reduce 272 + RETURN reduce 272 + ACTIONNAME reduce 272 - PERIOD shift 413 - NAME shift 412 +State 350: + (67) bodyStmtList ::= bodyStmtList error * + + LNOT reduce 67 + PLUS reduce 67 + MINUS reduce 67 + BITNOT reduce 67 + LPAREN reduce 67 + SEMICOLON reduce 67 + NAME reduce 67 + LBRACKET reduce 67 + VAR reduce 67 + RBRACKET reduce 67 + L2V reduce 67 + STATIC reduce 67 + CONST reduce 67 + INC reduce 67 + DEC reduce 67 + ONCE reduce 67 + IF reduce 67 + SWITCHCASE reduce 67 + CASE reduce 67 + DEFAULT reduce 67 + WHILE reduce 67 + FOR reduce 67 + FOREACH reduce 67 + CONTINUE reduce 67 + BREAK reduce 67 + RETURN reduce 67 + ACTIONNAME reduce 67 -State 187: - dottedName ::= dottedName * PERIOD NAME - import_chunk ::= IMPORT dottedName * AS NAME - (22) import_chunk ::= IMPORT dottedName * +State 351: + (66) bodyStmtList ::= bodyStmtList bodyStmt * + + LNOT reduce 66 + PLUS reduce 66 + MINUS reduce 66 + BITNOT reduce 66 + LPAREN reduce 66 + SEMICOLON reduce 66 + NAME reduce 66 + LBRACKET reduce 66 + VAR reduce 66 + RBRACKET reduce 66 + L2V reduce 66 + STATIC reduce 66 + CONST reduce 66 + INC reduce 66 + DEC reduce 66 + ONCE reduce 66 + IF reduce 66 + SWITCHCASE reduce 66 + CASE reduce 66 + DEFAULT reduce 66 + WHILE reduce 66 + FOR reduce 66 + FOREACH reduce 66 + CONTINUE reduce 66 + BREAK reduce 66 + RETURN reduce 66 + ACTIONNAME reduce 66 - PERIOD shift 295 - AS shift 294 - {default} reduce 22 +State 352: + (277) default_clause ::= DEFAULT COLON * + + LNOT reduce 277 + PLUS reduce 277 + MINUS reduce 277 + BITNOT reduce 277 + LPAREN reduce 277 + SEMICOLON reduce 277 + NAME reduce 277 + LBRACKET reduce 277 + VAR reduce 277 + RBRACKET reduce 277 + L2V reduce 277 + STATIC reduce 277 + CONST reduce 277 + INC reduce 277 + DEC reduce 277 + ONCE reduce 277 + IF reduce 277 + SWITCHCASE reduce 277 + WHILE reduce 277 + FOR reduce 277 + FOREACH reduce 277 + CONTINUE reduce 277 + BREAK reduce 277 + RETURN reduce 277 + ACTIONNAME reduce 277 -State 188: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (138) cdef_global_stmt ::= CONST nameList_nonEmpty ASSIGN exprList_nonEmpty * +State 353: + (41) lbracket ::= LBRACKET * + + LNOT reduce 41 + PLUS reduce 41 + MINUS reduce 41 + BITNOT reduce 41 + LPAREN reduce 41 + SEMICOLON reduce 41 + NAME reduce 41 + LBRACKET reduce 41 + VAR reduce 41 + RBRACKET reduce 41 + L2V reduce 41 + STATIC reduce 41 + CONST reduce 41 + INC reduce 41 + DEC reduce 41 + ONCE reduce 41 + IF reduce 41 + SWITCHCASE reduce 41 + WHILE reduce 41 + FOR reduce 41 + FOREACH reduce 41 + CONTINUE reduce 41 + BREAK reduce 41 + RETURN reduce 41 + ACTIONNAME reduce 41 - COMMA shift 96 - {default} reduce 138 +State 354: + (87) nonConstExpr ::= NAME * + fConstArg ::= NAME * ASSIGN expr + fConstArg ::= NAME * ASSIGN STRING + funcexpr ::= NAME * LPAREN fArgs RPAREN -State 189: + ASSIGN shift 41 + QMARK reduce 87 + COMMA reduce 87 + LOR reduce 87 + LAND reduce 87 + EQ reduce 87 + LE reduce 87 + LT reduce 87 + GE reduce 87 + GT reduce 87 + NE reduce 87 + BITOR reduce 87 + BITXOR reduce 87 + BITAND reduce 87 + LSHIFT reduce 87 + RSHIFT reduce 87 + PLUS reduce 87 + MINUS reduce 87 + DIVIDE reduce 87 + MULTIPLY reduce 87 + MOD reduce 87 + LPAREN shift 21 + LPAREN reduce 87 -- dropped by precedence + LSQBRACKET reduce 87 + PERIOD reduce 87 + RPAREN reduce 87 + +State 355: + (29) fdef_rettypes ::= COLON exprList_nonEmpty * exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (136) vdefAssign_global_stmt ::= VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * - COMMA shift 96 - {default} reduce 136 + COMMA shift 65 + LNOT reduce 29 + PLUS reduce 29 + MINUS reduce 29 + BITNOT reduce 29 + LPAREN reduce 29 + SEMICOLON reduce 29 + NAME reduce 29 + LBRACKET reduce 29 + VAR reduce 29 + L2V reduce 29 + STATIC reduce 29 + CONST reduce 29 + INC reduce 29 + DEC reduce 29 + ONCE reduce 29 + IF reduce 29 + SWITCHCASE reduce 29 + WHILE reduce 29 + FOR reduce 29 + FOREACH reduce 29 + CONTINUE reduce 29 + BREAK reduce 29 + RETURN reduce 29 + ACTIONNAME reduce 29 -State 190: - object_chunk ::= object_body RBRACKET * SEMICOLON +State 356: + (35) method_header ::= FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes * + + LNOT reduce 35 + PLUS reduce 35 + MINUS reduce 35 + BITNOT reduce 35 + LPAREN reduce 35 + SEMICOLON reduce 35 + NAME reduce 35 + LBRACKET reduce 35 + VAR reduce 35 + L2V reduce 35 + STATIC reduce 35 + CONST reduce 35 + INC reduce 35 + DEC reduce 35 + ONCE reduce 35 + IF reduce 35 + SWITCHCASE reduce 35 + WHILE reduce 35 + FOR reduce 35 + FOREACH reduce 35 + CONTINUE reduce 35 + BREAK reduce 35 + RETURN reduce 35 + ACTIONNAME reduce 35 - SEMICOLON shift 300 +State 357: + (30) fdef_header ::= FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes * + + LNOT reduce 30 + PLUS reduce 30 + MINUS reduce 30 + BITNOT reduce 30 + LPAREN reduce 30 + SEMICOLON reduce 30 + NAME reduce 30 + LBRACKET reduce 30 + VAR reduce 30 + L2V reduce 30 + STATIC reduce 30 + CONST reduce 30 + INC reduce 30 + DEC reduce 30 + ONCE reduce 30 + IF reduce 30 + SWITCHCASE reduce 30 + WHILE reduce 30 + FOR reduce 30 + FOREACH reduce 30 + CONTINUE reduce 30 + BREAK reduce 30 + RETURN reduce 30 + ACTIONNAME reduce 30 -State 191: - method_header ::= FUNCTION NAME LPAREN typedNameList * RPAREN fdef_rettypes +State 358: + (91) lambdaExprStart ::= FUNCTION LPAREN typedNameList RPAREN fdef_rettypes * + + LNOT reduce 91 + PLUS reduce 91 + MINUS reduce 91 + BITNOT reduce 91 + LPAREN reduce 91 + SEMICOLON reduce 91 + NAME reduce 91 + LBRACKET reduce 91 + VAR reduce 91 + L2V reduce 91 + STATIC reduce 91 + CONST reduce 91 + INC reduce 91 + DEC reduce 91 + ONCE reduce 91 + IF reduce 91 + SWITCHCASE reduce 91 + WHILE reduce 91 + FOR reduce 91 + FOREACH reduce 91 + CONTINUE reduce 91 + BREAK reduce 91 + RETURN reduce 91 + ACTIONNAME reduce 91 - RPAREN shift 108 +State 359: + elif_start ::= ELSE * IF + (267) else_header ::= ELSE * + + LNOT reduce 267 + PLUS reduce 267 + MINUS reduce 267 + BITNOT reduce 267 + LPAREN reduce 267 + SEMICOLON reduce 267 + NAME reduce 267 + LBRACKET reduce 267 + VAR reduce 267 + L2V reduce 267 + STATIC reduce 267 + CONST reduce 267 + INC reduce 267 + DEC reduce 267 + ONCE reduce 267 + IF shift 540 + IF reduce 267 -- dropped by precedence + SWITCHCASE reduce 267 + WHILE reduce 267 + FOR reduce 267 + FOREACH reduce 267 + CONTINUE reduce 267 + BREAK reduce 267 + RETURN reduce 267 + ACTIONNAME reduce 267 -State 192: - method_header ::= FUNCTION NAME * LPAREN typedNameList RPAREN fdef_rettypes +State 360: + once_header ::= once_start * LPAREN expr + (258) once_nocond ::= once_start * + + LNOT reduce 258 + PLUS reduce 258 + MINUS reduce 258 + BITNOT reduce 258 + LPAREN shift 47 + LPAREN reduce 258 -- dropped by precedence + SEMICOLON reduce 258 + NAME reduce 258 + LBRACKET reduce 258 + VAR reduce 258 + L2V reduce 258 + STATIC reduce 258 + CONST reduce 258 + INC reduce 258 + DEC reduce 258 + ONCE reduce 258 + IF reduce 258 + SWITCHCASE reduce 258 + WHILE reduce 258 + FOR reduce 258 + FOREACH reduce 258 + CONTINUE reduce 258 + BREAK reduce 258 + RETURN reduce 258 + ACTIONNAME reduce 258 - LPAREN shift 97 +State 361: + (255) once_start ::= ONCE * + + LNOT reduce 255 + PLUS reduce 255 + MINUS reduce 255 + BITNOT reduce 255 + LPAREN reduce 255 + SEMICOLON reduce 255 + NAME reduce 255 + LBRACKET reduce 255 + VAR reduce 255 + L2V reduce 255 + STATIC reduce 255 + CONST reduce 255 + INC reduce 255 + DEC reduce 255 + ONCE reduce 255 + IF reduce 255 + SWITCHCASE reduce 255 + WHILE reduce 255 + FOR reduce 255 + FOREACH reduce 255 + CONTINUE reduce 255 + BREAK reduce 255 + RETURN reduce 255 + ACTIONNAME reduce 255 -State 193: - method_header ::= FUNCTION * NAME LPAREN typedNameList RPAREN fdef_rettypes +State 362: + (300) for_header1 ::= for_opener for_init_stmt SEMICOLON * + + LNOT reduce 300 + PLUS reduce 300 + MINUS reduce 300 + BITNOT reduce 300 + LPAREN reduce 300 + LSQBRACKET reduce 300 + NAME reduce 300 + TRGCONST reduce 300 + FUNCTION reduce 300 + NUMBER reduce 300 + KILLS reduce 300 + L2V reduce 300 + MAPSTRING reduce 300 + UNIT reduce 300 + SWITCH reduce 300 + LOCATION reduce 300 + STATTXTTBL reduce 300 + VARRAY reduce 300 + LIST reduce 300 + CONDITIONNAME reduce 300 + ACTIONNAME reduce 300 - NAME shift 192 +State 363: + (271) case_start ::= CASE * + + LNOT reduce 271 + PLUS reduce 271 + MINUS reduce 271 + BITNOT reduce 271 + LPAREN reduce 271 + LSQBRACKET reduce 271 + NAME reduce 271 + TRGCONST reduce 271 + FUNCTION reduce 271 + NUMBER reduce 271 + KILLS reduce 271 + L2V reduce 271 + MAPSTRING reduce 271 + UNIT reduce 271 + SWITCH reduce 271 + LOCATION reduce 271 + STATTXTTBL reduce 271 + VARRAY reduce 271 + LIST reduce 271 + CONDITIONNAME reduce 271 + ACTIONNAME reduce 271 -State 194: - object_body ::= object_body VAR typedNameList_nonEmpty * SEMICOLON +State 364: + (90) nonConstExpr ::= nonConstExpr LSQBRACKET expr RSQBRACKET * + (234) lvalue ::= nonConstExpr LSQBRACKET expr RSQBRACKET * + + ASSIGN reduce 234 + COMMA reduce 234 + LPAREN reduce 90 + LSQBRACKET reduce 90 + PERIOD reduce 90 + SEMICOLON reduce 234 + RPAREN reduce 234 + INC reduce 234 + DEC reduce 234 + IADD reduce 234 + ISUB reduce 234 + IMUL reduce 234 + IDIV reduce 234 + IMOD reduce 234 + ILSH reduce 234 + IRSH reduce 234 + IBND reduce 234 + IBOR reduce 234 + IBXR reduce 234 - SEMICOLON shift 304 +State 365: + (89) nonConstExpr ::= nonConstExpr PERIOD TRGCONST * + (236) lvalue ::= nonConstExpr PERIOD TRGCONST * + + ASSIGN reduce 236 + COMMA reduce 236 + LPAREN reduce 89 + LSQBRACKET reduce 89 + PERIOD reduce 89 + SEMICOLON reduce 236 + RPAREN reduce 236 + INC reduce 236 + DEC reduce 236 + IADD reduce 236 + ISUB reduce 236 + IMUL reduce 236 + IDIV reduce 236 + IMOD reduce 236 + ILSH reduce 236 + IRSH reduce 236 + IBND reduce 236 + IBOR reduce 236 + IBXR reduce 236 -State 195: - object_body ::= OBJECT NAME * LBRACKET +State 366: + (88) nonConstExpr ::= nonConstExpr PERIOD NAME * + (235) lvalue ::= nonConstExpr PERIOD NAME * + + ASSIGN reduce 235 + COMMA reduce 235 + LPAREN reduce 88 + LSQBRACKET reduce 88 + PERIOD reduce 88 + SEMICOLON reduce 235 + RPAREN reduce 235 + INC reduce 235 + DEC reduce 235 + IADD reduce 235 + ISUB reduce 235 + IMUL reduce 235 + IDIV reduce 235 + IMOD reduce 235 + ILSH reduce 235 + IRSH reduce 235 + IBND reduce 235 + IBOR reduce 235 + IBXR reduce 235 - LBRACKET shift 305 +State 367: + (87) nonConstExpr ::= NAME * + funcexpr ::= NAME * LPAREN fArgs RPAREN + (233) lvalue ::= NAME * + + ASSIGN reduce 233 + COMMA reduce 233 + LPAREN shift 21 + LPAREN reduce 87 -- dropped by precedence + LSQBRACKET reduce 87 + PERIOD reduce 87 + SEMICOLON reduce 233 + RPAREN reduce 233 + INC reduce 233 + DEC reduce 233 + IADD reduce 233 + ISUB reduce 233 + IMUL reduce 233 + IDIV reduce 233 + IMOD reduce 233 + ILSH reduce 233 + IRSH reduce 233 + IBND reduce 233 + IBOR reduce 233 + IBXR reduce 233 -State 196: - object_body ::= OBJECT * NAME LBRACKET +State 368: + (237) lvalueList_nonEmpty ::= lvalue * + assign_stmt ::= lvalue * ASSIGN expr + assign_stmt ::= lvalue * INC + assign_stmt ::= lvalue * DEC + assign_stmt ::= lvalue * IADD expr + assign_stmt ::= lvalue * ISUB expr + assign_stmt ::= lvalue * IMUL expr + assign_stmt ::= lvalue * IDIV expr + assign_stmt ::= lvalue * IMOD expr + assign_stmt ::= lvalue * ILSH expr + assign_stmt ::= lvalue * IRSH expr + assign_stmt ::= lvalue * IBND expr + assign_stmt ::= lvalue * IBOR expr + assign_stmt ::= lvalue * IBXR expr - NAME shift 195 + ASSIGN shift 58 + ASSIGN reduce 237 -- dropped by precedence + COMMA reduce 237 + INC shift 423 + DEC shift 422 + IADD shift 57 + ISUB shift 56 + IMUL shift 55 + IDIV shift 54 + IMOD shift 53 + ILSH shift 52 + IRSH shift 51 + IBND shift 50 + IBOR shift 49 + IBXR shift 48 -State 197: - expr ::= KILLS LPAREN fArgs * RPAREN +State 369: + (287) for_opener ::= FOR LPAREN * + + LNOT reduce 287 + PLUS reduce 287 + MINUS reduce 287 + BITNOT reduce 287 + LPAREN reduce 287 + SEMICOLON reduce 287 + NAME reduce 287 + VAR reduce 287 + L2V reduce 287 + CONST reduce 287 + INC reduce 287 + DEC reduce 287 - RPAREN shift 310 +State 370: + (301) for_header2 ::= for_header1 expr SEMICOLON * + + LNOT reduce 301 + PLUS reduce 301 + MINUS reduce 301 + BITNOT reduce 301 + LPAREN reduce 301 + NAME reduce 301 + RPAREN reduce 301 + L2V reduce 301 + INC reduce 301 + DEC reduce 301 -State 198: - funcexpr ::= NAME LPAREN fArgs * RPAREN +State 371: + constBitXorTerm ::= constBitXorTerm * BITXOR constBitAndTerm + (175) constBitOrTerm ::= constBitXorTerm * + + EQ reduce 175 + LE reduce 175 + LT reduce 175 + GE reduce 175 + GT reduce 175 + NE reduce 175 + BITOR reduce 175 + BITXOR shift 115 + RPAREN reduce 175 - RPAREN shift 312 +State 372: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + (189) constEqExpr ::= constBitOrTerm * + constEqExpr ::= constBitOrTerm * EQ constBitOrTerm + constEqExpr ::= constBitOrTerm * NE constBitOrTerm + + EQ shift 107 + LE reduce 189 + LT reduce 189 + GE reduce 189 + GT reduce 189 + NE shift 106 + BITOR shift 111 + RPAREN reduce 189 -State 199: - funcexpr ::= expr LPAREN fArgs * RPAREN +State 373: + (38) object_chunk ::= object_body RBRACKET SEMICOLON * - RPAREN shift 313 + $ reduce 38 + IMPORT reduce 38 + FUNCTION reduce 38 + OBJECT reduce 38 + LBRACKET reduce 38 + VAR reduce 38 + CONST reduce 38 -State 200: - lambdaExprStart ::= FUNCTION LPAREN typedNameList * RPAREN fdef_rettypes +State 374: + (31) fdef_chunk ::= fdef_header stmt * - RPAREN shift 109 + $ reduce 31 + IMPORT reduce 31 + FUNCTION reduce 31 + OBJECT reduce 31 + LBRACKET reduce 31 + VAR reduce 31 + CONST reduce 31 -State 201: - (67) typedNameList_nonEmpty ::= typedName * - typedNameList_nonEmpty ::= typedName * COMMA typedNameList_nonEmpty +State 375: + (32) fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList RPAREN SEMICOLON * - COMMA shift 103 - {default} reduce 67 + $ reduce 32 + IMPORT reduce 32 + FUNCTION reduce 32 + OBJECT reduce 32 + LBRACKET reduce 32 + VAR reduce 32 + CONST reduce 32 -State 202: - default_clause ::= DEFAULT * COLON +State 376: + (27) import_chunk ::= absimp_start SEMICOLON * - COLON shift 321 + $ reduce 27 + IMPORT reduce 27 + FUNCTION reduce 27 + OBJECT reduce 27 + LBRACKET reduce 27 + VAR reduce 27 + CONST reduce 27 -State 203: - actionStmt ::= ACTIONNAME LPAREN fArgs RPAREN * SEMICOLON - (218) expr ::= ACTIONNAME LPAREN fArgs RPAREN * +State 377: + (26) import_chunk ::= absimp_start AS TRGCONST SEMICOLON * - SEMICOLON shift 323 - {default} reduce 218 + $ reduce 26 + IMPORT reduce 26 + FUNCTION reduce 26 + OBJECT reduce 26 + LBRACKET reduce 26 + VAR reduce 26 + CONST reduce 26 -State 204: - actionStmt ::= ACTIONNAME LPAREN fArgs * RPAREN SEMICOLON - expr ::= ACTIONNAME LPAREN fArgs * RPAREN +State 378: + (25) import_chunk ::= absimp_start AS NAME SEMICOLON * - RPAREN shift 203 + $ reduce 25 + IMPORT reduce 25 + FUNCTION reduce 25 + OBJECT reduce 25 + LBRACKET reduce 25 + VAR reduce 25 + CONST reduce 25 -State 205: - actionStmt ::= ACTIONNAME * LPAREN fArgs RPAREN SEMICOLON - expr ::= ACTIONNAME * LPAREN fArgs RPAREN +State 379: + (20) import_chunk ::= relimp_path AS TRGCONST SEMICOLON * - LPAREN shift 23 + $ reduce 20 + IMPORT reduce 20 + FUNCTION reduce 20 + OBJECT reduce 20 + LBRACKET reduce 20 + VAR reduce 20 + CONST reduce 20 -State 206: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (78) exprList ::= exprList_nonEmpty * +State 380: + (19) import_chunk ::= relimp_path AS NAME SEMICOLON * - COMMA shift 96 - {default} reduce 78 + $ reduce 19 + IMPORT reduce 19 + FUNCTION reduce 19 + OBJECT reduce 19 + LBRACKET reduce 19 + VAR reduce 19 + CONST reduce 19 -State 207: - foreach_stmt ::= foreach_header * RPAREN stmt +State 381: + (18) import_chunk ::= relimp_path SEMICOLON * - RPAREN shift 4 + $ reduce 18 + IMPORT reduce 18 + FUNCTION reduce 18 + OBJECT reduce 18 + LBRACKET reduce 18 + VAR reduce 18 + CONST reduce 18 -State 208: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (210) foreach_header ::= foreach_opener nameList_nonEmpty COLON exprList_nonEmpty * +State 382: + (11) chunk ::= blockStmt * - COMMA shift 96 - {default} reduce 210 + $ reduce 11 + IMPORT reduce 11 + FUNCTION reduce 11 + OBJECT reduce 11 + LBRACKET reduce 11 + VAR reduce 11 + CONST reduce 11 -State 209: - foreach_opener ::= FOREACH * LPAREN +State 383: + (10) chunk ::= cdef_global_stmt SEMICOLON * - LPAREN shift 328 + $ reduce 10 + IMPORT reduce 10 + FUNCTION reduce 10 + OBJECT reduce 10 + LBRACKET reduce 10 + VAR reduce 10 + CONST reduce 10 -State 210: - for_stmt ::= for_header * RPAREN stmt +State 384: + (9) chunk ::= vdefAssign_global_stmt SEMICOLON * - RPAREN shift 5 + $ reduce 9 + IMPORT reduce 9 + FUNCTION reduce 9 + OBJECT reduce 9 + LBRACKET reduce 9 + VAR reduce 9 + CONST reduce 9 -State 211: - for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty * COMMA for_action_stmt_nonEmpty - (204) for_action_stmt ::= for_action_stmt_nonEmpty * +State 385: + (8) chunk ::= vdef_stmt SEMICOLON * - COMMA shift 22 - {default} reduce 204 + $ reduce 8 + IMPORT reduce 8 + FUNCTION reduce 8 + OBJECT reduce 8 + LBRACKET reduce 8 + VAR reduce 8 + CONST reduce 8 -State 212: - for_header1 ::= for_opener for_init_stmt * SEMICOLON +State 386: + (7) chunk ::= object_chunk * - SEMICOLON shift 335 + $ reduce 7 + IMPORT reduce 7 + FUNCTION reduce 7 + OBJECT reduce 7 + LBRACKET reduce 7 + VAR reduce 7 + CONST reduce 7 -State 213: - for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty * COMMA for_init_stmt_nonEmpty - (198) for_init_stmt ::= for_init_stmt_nonEmpty * +State 387: + (6) chunk ::= fdecl_chunk * - COMMA shift 20 - {default} reduce 198 + $ reduce 6 + IMPORT reduce 6 + FUNCTION reduce 6 + OBJECT reduce 6 + LBRACKET reduce 6 + VAR reduce 6 + CONST reduce 6 -State 214: - for_opener ::= FOR * LPAREN +State 388: + (5) chunk ::= fdef_chunk * - LPAREN shift 341 + $ reduce 5 + IMPORT reduce 5 + FUNCTION reduce 5 + OBJECT reduce 5 + LBRACKET reduce 5 + VAR reduce 5 + CONST reduce 5 -State 215: - while_stmt ::= while_header * RPAREN stmt +State 389: + (4) chunk ::= import_chunk * - RPAREN shift 6 + $ reduce 4 + IMPORT reduce 4 + FUNCTION reduce 4 + OBJECT reduce 4 + LBRACKET reduce 4 + VAR reduce 4 + CONST reduce 4 -State 216: - while_header ::= while_start * LPAREN expr +State 390: + (3) chunks ::= chunks error * - LPAREN shift 50 + $ reduce 3 + IMPORT reduce 3 + FUNCTION reduce 3 + OBJECT reduce 3 + LBRACKET reduce 3 + VAR reduce 3 + CONST reduce 3 -State 217: - switchcase_stmt ::= switchcase_block * RBRACKET +State 391: + (2) chunks ::= chunks chunk * - RBRACKET shift 344 + $ reduce 2 + IMPORT reduce 2 + FUNCTION reduce 2 + OBJECT reduce 2 + LBRACKET reduce 2 + VAR reduce 2 + CONST reduce 2 -State 218: - switchcase_block ::= switchcase_header RPAREN * LBRACKET case_chunks default_chunk - switchcase_block ::= switchcase_header RPAREN * LBRACKET case_chunks - switchcase_block ::= switchcase_header RPAREN * LBRACKET +State 392: + nonConstExpr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + (111) funcexprStmt ::= funcexpr * + (114) nonConstExpr ::= funcexpr * + + COMMA reduce 111 + LPAREN reduce 114 + LSQBRACKET shift 602 + LSQBRACKET reduce 114 -- dropped by precedence + PERIOD reduce 114 + SEMICOLON reduce 111 + RPAREN reduce 111 - LBRACKET shift 47 +State 393: + (199) constCompExpr ::= constEqExpr * + constCompExpr ::= constEqExpr * LE constEqExpr + constCompExpr ::= constEqExpr * GE constEqExpr + constCompExpr ::= constEqExpr * LT constEqExpr + constCompExpr ::= constEqExpr * GT constEqExpr + + LE shift 102 + LT shift 100 + GE shift 101 + GT shift 99 + RPAREN reduce 199 -State 219: - switchcase_block ::= switchcase_header * RPAREN LBRACKET case_chunks default_chunk - switchcase_block ::= switchcase_header * RPAREN LBRACKET case_chunks - switchcase_block ::= switchcase_header * RPAREN LBRACKET +State 394: + term ::= constFactor * PLUS factor + term ::= constFactor * MINUS factor + constFactor ::= constFactor * MULTIPLY constExpr + constFactor ::= constFactor * MOD constExpr + constFactor ::= constFactor * DIVIDE constExpr + + PLUS shift 117 + MINUS shift 116 + DIVIDE shift 139 + MULTIPLY shift 145 + MOD shift 140 - RPAREN shift 218 +State 395: + (77) nameList_nonEmpty ::= nameList_nonEmpty COMMA NAME * -State 220: - switchcase_header ::= SWITCHCASE * LPAREN expr + ASSIGN reduce 77 + COMMA reduce 77 + SEMICOLON reduce 77 + COLON reduce 77 - LPAREN shift 51 +State 396: + (76) nameList_nonEmpty ::= NAME * -State 221: - if_block ::= if_block elif_header * RPAREN stmt + ASSIGN reduce 76 + COMMA reduce 76 + SEMICOLON reduce 76 + COLON reduce 76 - RPAREN shift 7 +State 397: + compExpr ::= constEqExpr * LE eqExpr + compExpr ::= constEqExpr * GE eqExpr + compExpr ::= constEqExpr * LT eqExpr + compExpr ::= constEqExpr * GT eqExpr -State 222: - elif_header ::= elif_start * LPAREN expr + LE shift 83 + LT shift 81 + GE shift 82 + GT shift 80 - LPAREN shift 52 +State 398: + constTerm ::= constTerm * PLUS constFactor + constTerm ::= constTerm * MINUS constFactor + shTerm ::= constTerm * RSHIFT term + shTerm ::= constTerm * LSHIFT term -State 223: - elif_start ::= ELSE * IF - (172) else_header ::= ELSE * + LSHIFT shift 109 + RSHIFT shift 110 + PLUS shift 132 + MINUS shift 131 - IF shift 349 - {default} reduce 172 +State 399: + (95) fNonConstArg ::= logicExpr * + logicExpr ::= logicExpr * QMARK expr COLON expr + logicExpr ::= logicExpr * LOR logicAndExpr + logicExpr ::= logicExpr * LOR constLogicExpr -State 224: - if_block ::= if_header * RPAREN stmt + QMARK shift 61 + COMMA reduce 95 + LOR shift 68 + RPAREN reduce 95 - RPAREN shift 8 +State 400: + (70) typedName ::= NAME * + typedName ::= NAME * COLON expr -State 225: - if_header ::= if_start * LPAREN expr + COMMA reduce 70 + SEMICOLON reduce 70 + COLON shift 63 + RPAREN reduce 70 - LPAREN shift 53 +State 401: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + (227) vdef_stmt ::= VAR nameList_nonEmpty * + vdefAssign_global_stmt ::= VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty -State 226: - once_block ::= once_header * RPAREN stmt + ASSIGN shift 29 + COMMA shift 548 + SEMICOLON reduce 227 - RPAREN shift 10 +State 402: + (37) object_body ::= object_body method_chunk * -State 227: - once_header ::= once_start * LPAREN expr - (163) once_nocond ::= once_start * + FUNCTION reduce 37 + VAR reduce 37 + RBRACKET reduce 37 - LPAREN shift 54 - {default} reduce 163 +State 403: + (36) method_chunk ::= method_header stmt * -State 228: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (145) assign_stmt ::= lvalueList_nonEmpty ASSIGN exprList_nonEmpty * + FUNCTION reduce 36 + VAR reduce 36 + RBRACKET reduce 36 - COMMA shift 96 - {default} reduce 145 +State 404: + (34) object_body ::= object_body VAR typedNameList_nonEmpty SEMICOLON * -State 229: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (137) cdef_stmt ::= CONST nameList_nonEmpty ASSIGN exprList_nonEmpty * + FUNCTION reduce 34 + VAR reduce 34 + RBRACKET reduce 34 - COMMA shift 96 - {default} reduce 137 +State 405: + (33) object_body ::= OBJECT NAME LBRACKET * -State 230: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (135) vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * + FUNCTION reduce 33 + VAR reduce 33 + RBRACKET reduce 33 - COMMA shift 96 - {default} reduce 135 +State 406: + (72) typedNameList_nonEmpty ::= typedName * + typedNameList_nonEmpty ::= typedName * COMMA typedNameList_nonEmpty -State 231: - vdefAssignStatic_stmt ::= STATIC * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty + COMMA shift 155 + SEMICOLON reduce 72 + RPAREN reduce 72 - VAR shift 112 +State 407: + (276) case_chunks ::= case_chunk * -State 232: - exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr - (134) vdefAssign_stmt ::= VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * + RBRACKET reduce 276 + CASE reduce 276 + DEFAULT reduce 276 - COMMA shift 96 - {default} reduce 134 +State 408: + (275) case_chunks ::= case_chunks case_chunk * -State 233: - nameList_nonEmpty ::= nameList_nonEmpty COMMA * NAME + RBRACKET reduce 275 + CASE reduce 275 + DEFAULT reduce 275 - NAME shift 361 +State 409: + (243) assign_stmt ::= DEC lvalue * -State 234: - expr ::= LSQBRACKET exprList_nonEmpty commaSkippable * RSQBRACKET + COMMA reduce 243 + SEMICOLON reduce 243 + RPAREN reduce 243 - RSQBRACKET shift 363 +State 410: + (241) assign_stmt ::= INC lvalue * -State 235: - expr ::= CONDITIONNAME LPAREN fArgs * RPAREN + COMMA reduce 241 + SEMICOLON reduce 241 + RPAREN reduce 241 - RPAREN shift 364 +State 411: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (240) assign_stmt ::= lvalueList_nonEmpty ASSIGN exprList_nonEmpty * -State 236: - expr ::= ACTIONNAME LPAREN fArgs * RPAREN + COMMA shift 65 + COMMA reduce 240 -- dropped by precedence + SEMICOLON reduce 240 + RPAREN reduce 240 - RPAREN shift 365 +State 412: + (254) assign_stmt ::= lvalue IBXR expr * -State 237: - expr ::= ACTIONNAME * LPAREN fArgs RPAREN + COMMA reduce 254 + SEMICOLON reduce 254 + RPAREN reduce 254 - LPAREN shift 24 +State 413: + (253) assign_stmt ::= lvalue IBOR expr * -State 238: - fArgs_nonEmpty ::= fArgs_nonEmpty * COMMA fArg - (93) fArgs ::= fArgs_nonEmpty * + COMMA reduce 253 + SEMICOLON reduce 253 + RPAREN reduce 253 - COMMA shift 31 - {default} reduce 93 +State 414: + (252) assign_stmt ::= lvalue IBND expr * -State 239: - expr ::= CONDITIONNAME * LPAREN fArgs RPAREN + COMMA reduce 252 + SEMICOLON reduce 252 + RPAREN reduce 252 - LPAREN shift 25 +State 415: + (251) assign_stmt ::= lvalue IRSH expr * -State 240: - expr ::= LIST LPAREN exprList_nonEmpty commaSkippable * RPAREN + COMMA reduce 251 + SEMICOLON reduce 251 + RPAREN reduce 251 - RPAREN shift 369 +State 416: + (250) assign_stmt ::= lvalue ILSH expr * -State 241: - expr ::= LIST * LPAREN exprList_nonEmpty commaSkippable RPAREN + COMMA reduce 250 + SEMICOLON reduce 250 + RPAREN reduce 250 - LPAREN shift 43 +State 417: + (249) assign_stmt ::= lvalue IMOD expr * -State 242: - expr ::= VARRAY LPAREN exprList_nonEmpty commaSkippable * RPAREN + COMMA reduce 249 + SEMICOLON reduce 249 + RPAREN reduce 249 - RPAREN shift 370 +State 418: + (248) assign_stmt ::= lvalue IDIV expr * -State 243: - expr ::= VARRAY * LPAREN exprList_nonEmpty commaSkippable RPAREN + COMMA reduce 248 + SEMICOLON reduce 248 + RPAREN reduce 248 - LPAREN shift 44 +State 419: + (247) assign_stmt ::= lvalue IMUL expr * -State 244: - expr ::= STATTXTTBL LPAREN STRING * RPAREN + COMMA reduce 247 + SEMICOLON reduce 247 + RPAREN reduce 247 - RPAREN shift 371 +State 420: + (246) assign_stmt ::= lvalue ISUB expr * -State 245: - expr ::= STATTXTTBL LPAREN * STRING RPAREN + COMMA reduce 246 + SEMICOLON reduce 246 + RPAREN reduce 246 - STRING shift 244 +State 421: + (245) assign_stmt ::= lvalue IADD expr * -State 246: - expr ::= STATTXTTBL * LPAREN STRING RPAREN + COMMA reduce 245 + SEMICOLON reduce 245 + RPAREN reduce 245 - LPAREN shift 245 +State 422: + (244) assign_stmt ::= lvalue DEC * -State 247: - expr ::= LOCATION LPAREN STRING * RPAREN + COMMA reduce 244 + SEMICOLON reduce 244 + RPAREN reduce 244 - RPAREN shift 372 +State 423: + (242) assign_stmt ::= lvalue INC * -State 248: - expr ::= LOCATION LPAREN * STRING RPAREN + COMMA reduce 242 + SEMICOLON reduce 242 + RPAREN reduce 242 - STRING shift 247 +State 424: + (239) assign_stmt ::= lvalue ASSIGN expr * -State 249: - expr ::= LOCATION * LPAREN STRING RPAREN + COMMA reduce 239 + SEMICOLON reduce 239 + RPAREN reduce 239 - LPAREN shift 248 +State 425: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + (227) vdef_stmt ::= VAR nameList_nonEmpty * + vdefAssign_stmt ::= VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty -State 250: - expr ::= SWITCH LPAREN STRING * RPAREN + ASSIGN shift 35 + COMMA shift 548 + COMMA reduce 227 -- dropped by precedence + SEMICOLON reduce 227 - RPAREN shift 373 +State 426: + constBitOrTerm ::= constBitOrTerm * BITOR constBitXorTerm + eqExpr ::= constBitOrTerm * EQ bitOrTerm + eqExpr ::= constBitOrTerm * NE bitOrTerm -State 251: - expr ::= SWITCH LPAREN * STRING RPAREN + EQ shift 90 + NE shift 89 + BITOR shift 111 - STRING shift 250 +State 427: + constShTerm ::= constShTerm * RSHIFT constTerm + constShTerm ::= constShTerm * LSHIFT constTerm + bitAndTerm ::= constShTerm * BITAND shTerm -State 252: - expr ::= SWITCH * LPAREN STRING RPAREN + BITAND shift 98 + LSHIFT shift 127 + RSHIFT shift 128 - LPAREN shift 251 +State 428: + factor ::= constExpr * MULTIPLY nonConstExpr + factor ::= constExpr * DIVIDE nonConstExpr + factor ::= constExpr * MOD nonConstExpr + + DIVIDE shift 151 + MULTIPLY shift 152 + MOD shift 146 + +State 429: + nonConstExpr ::= LPAREN logicExpr * RPAREN + logicExpr ::= logicExpr * QMARK expr COLON expr + logicExpr ::= logicExpr * LOR logicAndExpr + logicExpr ::= logicExpr * LOR constLogicExpr + + QMARK shift 61 + LOR shift 68 + RPAREN shift 224 + +State 430: + nonConstExpr ::= nonConstExpr * PERIOD NAME + nonConstExpr ::= nonConstExpr * PERIOD TRGCONST + nonConstExpr ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + funcexpr ::= nonConstExpr * LPAREN fArgs RPAREN + lvalue ::= nonConstExpr * LSQBRACKET expr RSQBRACKET + lvalue ::= nonConstExpr * PERIOD NAME + lvalue ::= nonConstExpr * PERIOD TRGCONST + + LPAREN shift 20 + LSQBRACKET shift 62 + PERIOD shift 492 + +State 431: + (71) typedName ::= NAME COLON expr * + + COMMA reduce 71 + SEMICOLON reduce 71 + RPAREN reduce 71 + +State 432: + (24) absimp_start ::= absimp_start PERIOD TRGCONST * + + PERIOD reduce 24 + SEMICOLON reduce 24 + AS reduce 24 + +State 433: + (23) absimp_start ::= absimp_start PERIOD NAME * + + PERIOD reduce 23 + SEMICOLON reduce 23 + AS reduce 23 + +State 434: + absimp_start ::= absimp_start * PERIOD NAME + absimp_start ::= absimp_start * PERIOD TRGCONST + import_chunk ::= absimp_start * AS NAME SEMICOLON + import_chunk ::= absimp_start * AS TRGCONST SEMICOLON + import_chunk ::= absimp_start * SEMICOLON + + PERIOD shift 495 + SEMICOLON shift 376 + AS shift 494 + +State 435: + (17) relimp_path ::= relimp_path PERIOD TRGCONST * + + PERIOD reduce 17 + SEMICOLON reduce 17 + AS reduce 17 + +State 436: + (16) relimp_path ::= relimp_path PERIOD NAME * -State 253: - expr ::= UNIT LPAREN STRING * RPAREN + PERIOD reduce 16 + SEMICOLON reduce 16 + AS reduce 16 - RPAREN shift 374 +State 437: + relimp_path ::= relimp_path * PERIOD NAME + relimp_path ::= relimp_path * PERIOD TRGCONST + import_chunk ::= relimp_path * SEMICOLON + import_chunk ::= relimp_path * AS NAME SEMICOLON + import_chunk ::= relimp_path * AS TRGCONST SEMICOLON -State 254: - expr ::= UNIT LPAREN * STRING RPAREN + PERIOD shift 497 + SEMICOLON shift 381 + AS shift 496 - STRING shift 253 +State 438: + (15) relimp_path ::= relimp_start TRGCONST * -State 255: - expr ::= UNIT * LPAREN STRING RPAREN + PERIOD reduce 15 + SEMICOLON reduce 15 + AS reduce 15 - LPAREN shift 254 +State 439: + (14) relimp_path ::= relimp_start NAME * -State 256: - expr ::= MAPSTRING LPAREN STRING * RPAREN + PERIOD reduce 14 + SEMICOLON reduce 14 + AS reduce 14 - RPAREN shift 375 +State 440: + (13) relimp_start ::= relimp_start PERIOD * -State 257: - expr ::= MAPSTRING LPAREN * STRING RPAREN + PERIOD reduce 13 + NAME reduce 13 + TRGCONST reduce 13 - STRING shift 256 +State 441: + relimp_start ::= relimp_start * PERIOD + relimp_path ::= relimp_start * NAME + relimp_path ::= relimp_start * TRGCONST -State 258: - expr ::= MAPSTRING * LPAREN STRING RPAREN + PERIOD shift 440 + NAME shift 439 + TRGCONST shift 438 - LPAREN shift 257 +State 442: + (22) absimp_start ::= IMPORT TRGCONST * -State 259: - expr ::= L2V * LPAREN expr RPAREN + PERIOD reduce 22 + SEMICOLON reduce 22 + AS reduce 22 - LPAREN shift 70 +State 443: + (21) absimp_start ::= IMPORT NAME * -State 260: - exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET * RSQBRACKET + PERIOD reduce 21 + SEMICOLON reduce 21 + AS reduce 21 - RSQBRACKET shift 377 +State 444: + (12) relimp_start ::= IMPORT PERIOD * -State 261: - numList_nonEmpty ::= numList_nonEmpty COMMA * NUMBER + PERIOD reduce 12 + NAME reduce 12 + TRGCONST reduce 12 - NUMBER shift 378 +State 445: + relimp_start ::= IMPORT * PERIOD + absimp_start ::= IMPORT * NAME + absimp_start ::= IMPORT * TRGCONST -State 262: - (63) numList_nonEmpty ::= NUMBER * - expr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER * RSQBRACKET RSQBRACKET + PERIOD shift 444 + NAME shift 443 + TRGCONST shift 442 - RSQBRACKET shift 282 - {default} reduce 63 +State 446: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (232) cdef_global_stmt ::= CONST nameList_nonEmpty ASSIGN exprList_nonEmpty * -State 263: - exprList_nonEmpty ::= funcexpr LSQBRACKET * LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= funcexpr LSQBRACKET * LSQBRACKET NUMBER RSQBRACKET RSQBRACKET + COMMA shift 65 + SEMICOLON reduce 232 - LSQBRACKET shift 117 +State 447: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + cdef_global_stmt ::= CONST nameList_nonEmpty * ASSIGN exprList_nonEmpty -State 264: - exprList_nonEmpty ::= funcexpr * LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET - expr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - (97) expr ::= funcexpr * + ASSIGN shift 28 + COMMA shift 548 - LSQBRACKET shift 263 - {default} reduce 97 +State 448: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (230) vdefAssign_global_stmt ::= VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * -State 265: - expr ::= expr PERIOD * NAME - lvalue ::= expr PERIOD * NAME + COMMA shift 65 + SEMICOLON reduce 230 - NAME shift 159 +State 449: + (99) fConstArg ::= NAME ASSIGN STRING * -State 266: - bodyStmt ::= return_stmt * SEMICOLON + COMMA reduce 99 + RPAREN reduce 99 - SEMICOLON shift 382 +State 450: + (98) fConstArg ::= NAME ASSIGN expr * -State 267: - bodyStmt ::= break_stmt * SEMICOLON + COMMA reduce 98 + RPAREN reduce 98 - SEMICOLON shift 383 +State 451: + (73) typedNameList_nonEmpty ::= typedName COMMA typedNameList_nonEmpty * -State 268: - bodyStmt ::= continue_stmt * SEMICOLON + SEMICOLON reduce 73 + RPAREN reduce 73 - SEMICOLON shift 384 +State 452: + fNonConstArgs_nonEmpty ::= fNonConstArgs_nonEmpty * COMMA fArg + actionStmt ::= constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty * RPAREN SEMICOLON -State 269: - bodyStmt ::= funcexprStmt * SEMICOLON + COMMA shift 26 + RPAREN shift 511 - SEMICOLON shift 392 +State 453: + fNonConstArgs_nonEmpty ::= fNonConstArgs_nonEmpty * COMMA fArg + actionStmt ::= ACTIONNAME LPAREN fNonConstArgs_nonEmpty * RPAREN SEMICOLON -State 270: - bodyStmt ::= assign_stmt * SEMICOLON + COMMA shift 26 + RPAREN shift 514 - SEMICOLON shift 393 +State 454: + fConstArgs_nonEmpty ::= fConstArgs_nonEmpty * COMMA fConstArg + fNonConstArgs_nonEmpty ::= fConstArgs_nonEmpty * COMMA fNonConstArg + constAction ::= ACTIONNAME LPAREN fConstArgs_nonEmpty * RPAREN SEMICOLON -State 271: - bodyStmt ::= cdef_stmt * SEMICOLON + COMMA shift 27 + RPAREN shift 515 - SEMICOLON shift 394 +State 455: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (83) exprList ::= exprList_nonEmpty * -State 272: - bodyStmt ::= vdefAssign_stmt * SEMICOLON + COMMA shift 65 + SEMICOLON reduce 83 - SEMICOLON shift 395 +State 456: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (305) foreach_header ::= foreach_opener nameList_nonEmpty COLON exprList_nonEmpty * -State 273: - bodyStmt ::= vdefAssignStatic_stmt * SEMICOLON + COMMA shift 65 + RPAREN reduce 305 - SEMICOLON shift 396 +State 457: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + foreach_header ::= foreach_opener nameList_nonEmpty * COLON exprList_nonEmpty -State 274: - bodyStmt ::= vdef_stmt * SEMICOLON + COMMA shift 548 + COLON shift 30 - SEMICOLON shift 397 +State 458: + for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty * COMMA for_action_stmt_nonEmpty + (297) for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty * -State 275: - blockStmt ::= lbracket error * RBRACKET + COMMA shift 112 -- dropped by precedence + COMMA reduce 297 + RPAREN reduce 297 - RBRACKET shift 400 +State 459: + for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty * COMMA for_action_stmt_nonEmpty + (299) for_action_stmt ::= for_action_stmt_nonEmpty * -State 276: - stmt ::= error * SEMICOLON + COMMA shift 112 + RPAREN reduce 299 - SEMICOLON shift 405 +State 460: + (296) for_action_stmt_nonEmpty ::= assign_stmt * -State 277: - (65) typedName ::= NAME * - typedName ::= NAME * COLON expr + COMMA reduce 296 + RPAREN reduce 296 - COLON shift 94 - {default} reduce 65 +State 461: + (295) for_action_stmt_nonEmpty ::= funcexprStmt * -State 278: - lambdaExprStart ::= FUNCTION * LPAREN typedNameList RPAREN fdef_rettypes + COMMA reduce 295 + RPAREN reduce 295 - LPAREN shift 99 +State 462: + for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty * COMMA for_init_stmt_nonEmpty + (292) for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty * -State 279: - (81) expr ::= NAME * - funcexpr ::= NAME * LPAREN fArgs RPAREN + COMMA shift 103 -- dropped by precedence + COMMA reduce 292 + SEMICOLON reduce 292 + +State 463: + for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty * COMMA for_init_stmt_nonEmpty + (293) for_init_stmt ::= for_init_stmt_nonEmpty * - LPAREN shift 27 - {default} reduce 81 + COMMA shift 103 + SEMICOLON reduce 293 -State 280: - (80) expr ::= KILLS * - expr ::= KILLS * LPAREN fArgs RPAREN +State 464: + (291) for_init_stmt_nonEmpty ::= assign_stmt * - LPAREN shift 28 - {default} reduce 80 + COMMA reduce 291 + SEMICOLON reduce 291 -State 281: - expr ::= expr PERIOD * NAME +State 465: + (290) for_init_stmt_nonEmpty ::= cdef_stmt * - NAME shift 407 + COMMA reduce 290 + SEMICOLON reduce 290 -State 282: - expr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET * RSQBRACKET +State 466: + (289) for_init_stmt_nonEmpty ::= vdefAssign_stmt * - RSQBRACKET shift 408 + COMMA reduce 289 + SEMICOLON reduce 289 -State 283: - expr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER * RSQBRACKET RSQBRACKET +State 467: + (288) for_init_stmt_nonEmpty ::= vdef_stmt * - RSQBRACKET shift 282 + COMMA reduce 288 + SEMICOLON reduce 288 -State 284: - expr ::= funcexpr LSQBRACKET LSQBRACKET * NUMBER RSQBRACKET RSQBRACKET +State 468: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + case_clause ::= case_start exprList_nonEmpty * COLON - NUMBER shift 283 + COMMA shift 65 + COLON shift 349 -State 285: - expr ::= funcexpr LSQBRACKET * LSQBRACKET NUMBER RSQBRACKET RSQBRACKET +State 469: + (238) lvalueList_nonEmpty ::= lvalueList_nonEmpty COMMA lvalue * - LSQBRACKET shift 284 + ASSIGN reduce 238 + COMMA reduce 238 -State 286: - expr ::= funcexpr * LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - (97) expr ::= funcexpr * +State 470: + lvalueList_nonEmpty ::= lvalueList_nonEmpty * COMMA lvalue + assign_stmt ::= lvalueList_nonEmpty * ASSIGN exprList_nonEmpty - LSQBRACKET shift 285 - {default} reduce 97 + ASSIGN shift 32 + COMMA shift 135 -State 287: - (24) fdef_rettypes ::= COLON exprList_nonEmpty * +State 471: exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (231) cdef_stmt ::= CONST nameList_nonEmpty ASSIGN exprList_nonEmpty * - COMMA shift 96 - {default} reduce 24 + COMMA shift 65 + COMMA reduce 231 -- dropped by precedence + SEMICOLON reduce 231 -State 288: - fdef_header ::= FUNCTION NAME LPAREN typedNameList * RPAREN fdef_rettypes - fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList * RPAREN SEMICOLON +State 472: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + cdef_stmt ::= CONST nameList_nonEmpty * ASSIGN exprList_nonEmpty - RPAREN shift 104 + ASSIGN shift 33 + COMMA shift 548 -State 289: - fdef_header ::= FUNCTION NAME * LPAREN typedNameList RPAREN fdef_rettypes - fdecl_chunk ::= FUNCTION NAME * LPAREN typedNameList RPAREN SEMICOLON +State 473: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (229) vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * - LPAREN shift 100 + COMMA shift 65 + SEMICOLON reduce 229 -State 290: - fdef_header ::= FUNCTION * NAME LPAREN typedNameList RPAREN fdef_rettypes - fdecl_chunk ::= FUNCTION * NAME LPAREN typedNameList RPAREN SEMICOLON +State 474: + nameList_nonEmpty ::= nameList_nonEmpty * COMMA NAME + vdefAssignStatic_stmt ::= STATIC VAR nameList_nonEmpty * ASSIGN exprList_nonEmpty - NAME shift 289 + ASSIGN shift 34 + COMMA shift 548 -State 291: - relimp_chunk ::= relimp_path AS NAME * SEMICOLON +State 475: + exprList_nonEmpty ::= exprList_nonEmpty * COMMA expr + (228) vdefAssign_stmt ::= VAR nameList_nonEmpty ASSIGN exprList_nonEmpty * - SEMICOLON shift 409 + COMMA shift 65 + COMMA reduce 228 -- dropped by precedence + SEMICOLON reduce 228 -State 292: - relimp_chunk ::= relimp_path AS * NAME SEMICOLON +State 476: + constBitXorTerm ::= constBitXorTerm * BITXOR constBitAndTerm + bitOrTerm ::= constBitXorTerm * BITOR bitXorTerm - NAME shift 291 + BITOR shift 92 + BITXOR shift 115 -State 293: - relimp_path ::= relimp_path PERIOD * NAME +State 477: + constBitAndTerm ::= constBitAndTerm * BITAND constShTerm + bitXorTerm ::= constBitAndTerm * BITXOR bitAndTerm - NAME shift 411 + BITXOR shift 95 + BITAND shift 118 -State 294: - import_chunk ::= IMPORT dottedName AS * NAME +State 478: + (106) fNonConstArgs_nonEmpty ::= fNonConstArgs_nonEmpty COMMA fArg * - NAME shift 414 + COMMA reduce 106 + RPAREN reduce 106 -State 295: - dottedName ::= dottedName PERIOD * NAME +State 479: + (101) fArg ::= fNonConstArg * - NAME shift 415 + COMMA reduce 101 + RPAREN reduce 101 -State 296: - chunk ::= cdef_global_stmt * SEMICOLON +State 480: + (100) fArg ::= fConstArg * - SEMICOLON shift 419 + COMMA reduce 100 + RPAREN reduce 100 -State 297: - chunk ::= vdefAssign_global_stmt * SEMICOLON +State 481: + fNonConstArgs_nonEmpty ::= fNonConstArgs_nonEmpty * COMMA fArg + (108) fArgs_nonEmpty ::= fNonConstArgs_nonEmpty * - SEMICOLON shift 420 + COMMA shift 26 + RPAREN reduce 108 -State 298: - chunk ::= vdef_stmt * SEMICOLON +State 482: + (104) fNonConstArgs_nonEmpty ::= fNonConstArg * - SEMICOLON shift 421 + COMMA reduce 104 + RPAREN reduce 104 -State 299: - chunk ::= import_chunk * SEMICOLON +State 483: + (105) fNonConstArgs_nonEmpty ::= fConstArgs_nonEmpty COMMA fNonConstArg * - SEMICOLON shift 425 + COMMA reduce 105 + RPAREN reduce 105 -State 300: - (33) object_chunk ::= object_body RBRACKET SEMICOLON * +State 484: + (103) fConstArgs_nonEmpty ::= fConstArgs_nonEmpty COMMA fConstArg * - {default} reduce 33 + COMMA reduce 103 + RPAREN reduce 103 -State 301: - (32) object_body ::= object_body method_chunk * +State 485: + fConstArgs_nonEmpty ::= fConstArgs_nonEmpty * COMMA fConstArg + fNonConstArgs_nonEmpty ::= fConstArgs_nonEmpty * COMMA fNonConstArg + (107) fArgs_nonEmpty ::= fConstArgs_nonEmpty * - {default} reduce 32 + COMMA shift 27 + RPAREN reduce 107 -State 302: - (31) method_chunk ::= method_header stmt * +State 486: + (102) fConstArgs_nonEmpty ::= fConstArg * - {default} reduce 31 + COMMA reduce 102 + RPAREN reduce 102 -State 303: - (30) method_header ::= FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes * +State 487: + (97) fConstArg ::= STRING * - {default} reduce 30 + COMMA reduce 97 + RPAREN reduce 97 -State 304: - (29) object_body ::= object_body VAR typedNameList_nonEmpty SEMICOLON * +State 488: + (96) fConstArg ::= constLogicExpr * - {default} reduce 29 + COMMA reduce 96 + RPAREN reduce 96 -State 305: - (28) object_body ::= OBJECT NAME LBRACKET * +State 489: + (69) numList_nonEmpty ::= numList_nonEmpty COMMA NUMBER * - {default} reduce 28 + COMMA reduce 69 + RSQBRACKET reduce 69 -State 306: - (26) fdef_chunk ::= fdef_header stmt * +State 490: + numList_nonEmpty ::= numList_nonEmpty * COMMA NUMBER + exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty * RSQBRACKET RSQBRACKET - {default} reduce 26 + COMMA shift 582 + RSQBRACKET shift 581 -State 307: - (27) fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList RPAREN SEMICOLON * +State 491: + (68) numList_nonEmpty ::= NUMBER * + nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER * RSQBRACKET RSQBRACKET - {default} reduce 27 + COMMA reduce 68 + RSQBRACKET shift 599 + RSQBRACKET reduce 68 -- dropped by precedence -State 308: - (25) fdef_header ::= FUNCTION NAME LPAREN typedNameList RPAREN fdef_rettypes * +State 492: + nonConstExpr ::= nonConstExpr PERIOD * NAME + nonConstExpr ::= nonConstExpr PERIOD * TRGCONST + lvalue ::= nonConstExpr PERIOD * NAME + lvalue ::= nonConstExpr PERIOD * TRGCONST - {default} reduce 25 + NAME shift 366 + TRGCONST shift 365 -State 309: - (83) expr ::= expr LSQBRACKET expr RSQBRACKET * +State 493: + nonConstExpr ::= nonConstExpr PERIOD * NAME + nonConstExpr ::= nonConstExpr PERIOD * TRGCONST - {default} reduce 83 + NAME shift 227 + TRGCONST shift 226 -State 310: - (216) expr ::= KILLS LPAREN fArgs RPAREN * +State 494: + import_chunk ::= absimp_start AS * NAME SEMICOLON + import_chunk ::= absimp_start AS * TRGCONST SEMICOLON - {default} reduce 216 + NAME shift 607 + TRGCONST shift 606 -State 311: - (89) fArg ::= NAME ASSIGN STRING * +State 495: + absimp_start ::= absimp_start PERIOD * NAME + absimp_start ::= absimp_start PERIOD * TRGCONST - {default} reduce 89 + NAME shift 433 + TRGCONST shift 432 -State 312: - (95) funcexpr ::= NAME LPAREN fArgs RPAREN * +State 496: + import_chunk ::= relimp_path AS * NAME SEMICOLON + import_chunk ::= relimp_path AS * TRGCONST SEMICOLON - {default} reduce 95 + NAME shift 609 + TRGCONST shift 608 -State 313: - (96) funcexpr ::= expr LPAREN fArgs RPAREN * +State 497: + relimp_path ::= relimp_path PERIOD * NAME + relimp_path ::= relimp_path PERIOD * TRGCONST - {default} reduce 96 + NAME shift 436 + TRGCONST shift 435 -State 314: - (84) lambdaExprStart ::= FUNCTION LPAREN typedNameList RPAREN fdef_rettypes * +State 498: + object_chunk ::= object_body RBRACKET * SEMICOLON - {default} reduce 84 + SEMICOLON shift 373 -State 315: - (70) typedNameList ::= typedNameList_nonEmpty * +State 499: + method_header ::= FUNCTION NAME LPAREN typedNameList * RPAREN fdef_rettypes - {default} reduce 70 + RPAREN shift 157 -State 316: - (68) typedNameList_nonEmpty ::= typedName COMMA typedNameList_nonEmpty * +State 500: + method_header ::= FUNCTION NAME * LPAREN typedNameList RPAREN fdef_rettypes - {default} reduce 68 + LPAREN shift 136 -State 317: - (85) expr ::= lambdaExprStart stmt * +State 501: + method_header ::= FUNCTION * NAME LPAREN typedNameList RPAREN fdef_rettypes - {default} reduce 85 + NAME shift 500 -State 318: - (174) if_stmt ::= if_block else_header stmt * +State 502: + object_body ::= object_body VAR typedNameList_nonEmpty * SEMICOLON - {default} reduce 174 + SEMICOLON shift 404 -State 319: - (181) case_chunks ::= case_chunk * +State 503: + object_body ::= OBJECT NAME * LBRACKET - {default} reduce 181 + LBRACKET shift 405 -State 320: - (185) switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks default_chunk * +State 504: + object_body ::= OBJECT * NAME LBRACKET - {default} reduce 185 + NAME shift 503 -State 321: - (182) default_clause ::= DEFAULT COLON * +State 505: + logicExpr ::= KILLS LPAREN fArgs * RPAREN - {default} reduce 182 + RPAREN shift 336 -State 322: - (180) case_chunks ::= case_chunks case_chunk * +State 506: + funcexpr ::= NAME LPAREN fArgs * RPAREN - {default} reduce 180 + RPAREN shift 210 -State 323: - (217) actionStmt ::= ACTIONNAME LPAREN fArgs RPAREN SEMICOLON * +State 507: + lambdaExprStart ::= FUNCTION LPAREN typedNameList * RPAREN fdef_rettypes - {default} reduce 217 + RPAREN shift 158 -State 324: - (214) return_stmt ::= RETURN exprList * +State 508: + (75) typedNameList ::= typedNameList_nonEmpty * - {default} reduce 214 + RPAREN reduce 75 -State 325: - (213) break_stmt ::= BREAK * +State 509: + (280) switchcase_block ::= switchcase_header RPAREN LBRACKET case_chunks default_chunk * - {default} reduce 213 + RBRACKET reduce 280 -State 326: - (212) continue_stmt ::= CONTINUE * +State 510: + default_clause ::= DEFAULT * COLON - {default} reduce 212 + COLON shift 352 -State 327: - (211) foreach_stmt ::= foreach_header RPAREN stmt * +State 511: + actionStmt ::= constActionList ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN * SEMICOLON - {default} reduce 211 + SEMICOLON shift 173 -State 328: - (209) foreach_opener ::= FOREACH LPAREN * +State 512: + constAction ::= ACTIONNAME * LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME * LPAREN RPAREN SEMICOLON + actionStmt ::= constActionList ACTIONNAME * LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON - {default} reduce 209 + LPAREN shift 23 -State 329: - (208) for_stmt ::= for_header RPAREN stmt * +State 513: + constAction ::= ACTIONNAME LPAREN RPAREN * SEMICOLON - {default} reduce 208 + SEMICOLON shift 175 -State 330: - (207) for_header ::= for_header2 for_action_stmt * +State 514: + actionStmt ::= ACTIONNAME LPAREN fNonConstArgs_nonEmpty RPAREN * SEMICOLON - {default} reduce 207 + SEMICOLON shift 176 -State 331: - for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty * COMMA for_action_stmt_nonEmpty - (202) for_action_stmt_nonEmpty ::= for_action_stmt_nonEmpty COMMA for_action_stmt_nonEmpty * +State 515: + constAction ::= ACTIONNAME LPAREN fConstArgs_nonEmpty RPAREN * SEMICOLON - {default} reduce 202 + SEMICOLON shift 177 -State 332: - (201) for_action_stmt_nonEmpty ::= assign_stmt * +State 516: + actionStmt ::= ACTIONNAME * LPAREN fNonConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME * LPAREN fConstArgs_nonEmpty RPAREN SEMICOLON + constAction ::= ACTIONNAME * LPAREN RPAREN SEMICOLON - {default} reduce 201 + LPAREN shift 24 -State 333: - (200) for_action_stmt_nonEmpty ::= funcexprStmt * +State 517: + (309) return_stmt ::= RETURN exprList * - {default} reduce 200 + SEMICOLON reduce 309 -State 334: - (206) for_header2 ::= for_header1 expr SEMICOLON * +State 518: + (308) break_stmt ::= BREAK * - {default} reduce 206 + SEMICOLON reduce 308 -State 335: - (205) for_header1 ::= for_opener for_init_stmt SEMICOLON * +State 519: + (307) continue_stmt ::= CONTINUE * - {default} reduce 205 + SEMICOLON reduce 307 -State 336: - for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty * COMMA for_init_stmt_nonEmpty - (197) for_init_stmt_nonEmpty ::= for_init_stmt_nonEmpty COMMA for_init_stmt_nonEmpty * +State 520: + foreach_stmt ::= foreach_header * RPAREN stmt - {default} reduce 197 + RPAREN shift 5 -State 337: - (196) for_init_stmt_nonEmpty ::= assign_stmt * +State 521: + (304) foreach_opener ::= FOREACH LPAREN * - {default} reduce 196 + NAME reduce 304 -State 338: - (195) for_init_stmt_nonEmpty ::= cdef_stmt * +State 522: + foreach_opener ::= FOREACH * LPAREN - {default} reduce 195 + LPAREN shift 521 -State 339: - (194) for_init_stmt_nonEmpty ::= vdefAssign_stmt * +State 523: + for_stmt ::= for_header * RPAREN stmt - {default} reduce 194 + RPAREN shift 6 -State 340: - (193) for_init_stmt_nonEmpty ::= vdef_stmt * +State 524: + (302) for_header ::= for_header2 for_action_stmt * - {default} reduce 193 + RPAREN reduce 302 -State 341: - (192) for_opener ::= FOR LPAREN * +State 525: + for_header2 ::= for_header1 expr * SEMICOLON - {default} reduce 192 + SEMICOLON shift 370 -State 342: - (191) while_stmt ::= while_header RPAREN stmt * +State 526: + for_header1 ::= for_opener for_init_stmt * SEMICOLON - {default} reduce 191 + SEMICOLON shift 362 -State 343: - (189) while_start ::= WHILE * +State 527: + for_opener ::= FOR * LPAREN - {default} reduce 189 + LPAREN shift 369 -State 344: - (188) switchcase_stmt ::= switchcase_block RBRACKET * +State 528: + while_stmt ::= while_header * RPAREN stmt - {default} reduce 188 + RPAREN shift 7 -State 345: - (60) bodyStmtList ::= bodyStmt * +State 529: + (285) while_header ::= while_start LPAREN expr * - {default} reduce 60 + RPAREN reduce 285 -State 346: - (177) case_clause ::= case_start exprList_nonEmpty COLON * +State 530: + while_header ::= while_start * LPAREN expr - {default} reduce 177 + LPAREN shift 43 -State 347: - (176) case_start ::= CASE * +State 531: + (284) while_start ::= WHILE * - {default} reduce 176 + LPAREN reduce 284 -State 348: - (171) if_block ::= if_block elif_header RPAREN stmt * +State 532: + switchcase_stmt ::= switchcase_block * RBRACKET - {default} reduce 171 + RBRACKET shift 181 -State 349: - (169) elif_start ::= ELSE IF * +State 533: + switchcase_block ::= switchcase_header RPAREN * LBRACKET case_chunks default_chunk + switchcase_block ::= switchcase_header RPAREN * LBRACKET case_chunks + switchcase_block ::= switchcase_header RPAREN * LBRACKET - {default} reduce 169 + LBRACKET shift 129 -State 350: - (168) if_block ::= if_header RPAREN stmt * +State 534: + switchcase_block ::= switchcase_header * RPAREN LBRACKET case_chunks default_chunk + switchcase_block ::= switchcase_header * RPAREN LBRACKET case_chunks + switchcase_block ::= switchcase_header * RPAREN LBRACKET - {default} reduce 168 + RPAREN shift 533 -State 351: - (166) if_start ::= IF * +State 535: + (270) switchcase_header ::= SWITCHCASE LPAREN expr * - {default} reduce 166 + RPAREN reduce 270 -State 352: - (165) once_stmt ::= once_block * +State 536: + switchcase_header ::= SWITCHCASE * LPAREN expr - {default} reduce 165 + LPAREN shift 44 -State 353: - (164) once_block ::= once_nocond stmt * +State 537: + if_block ::= if_block elif_header * RPAREN stmt - {default} reduce 164 + RPAREN shift 8 -State 354: - (162) once_block ::= once_header RPAREN stmt * +State 538: + (265) elif_header ::= elif_start LPAREN expr * - {default} reduce 162 + RPAREN reduce 265 -State 355: - (160) once_start ::= ONCE * +State 539: + elif_header ::= elif_start * LPAREN expr - {default} reduce 160 + LPAREN shift 45 -State 356: - (148) assign_stmt ::= DEC lvalue * +State 540: + (264) elif_start ::= ELSE IF * - {default} reduce 148 + LPAREN reduce 264 -State 357: - (146) assign_stmt ::= INC lvalue * +State 541: + if_block ::= if_header * RPAREN stmt - {default} reduce 146 + RPAREN shift 9 -State 358: - (143) lvalueList_nonEmpty ::= lvalueList_nonEmpty COMMA lvalue * +State 542: + (262) if_header ::= if_start LPAREN expr * - {default} reduce 143 + RPAREN reduce 262 -State 359: - (149) assign_stmt ::= lvalue DEC * +State 543: + if_header ::= if_start * LPAREN expr - {default} reduce 149 + LPAREN shift 46 -State 360: - (147) assign_stmt ::= lvalue INC * +State 544: + (261) if_start ::= IF * - {default} reduce 147 + LPAREN reduce 261 -State 361: - (72) nameList_nonEmpty ::= nameList_nonEmpty COMMA NAME * +State 545: + once_block ::= once_header * RPAREN stmt - {default} reduce 72 + RPAREN shift 11 -State 362: - (71) nameList_nonEmpty ::= NAME * +State 546: + (256) once_header ::= once_start LPAREN expr * - {default} reduce 71 + RPAREN reduce 256 -State 363: - (101) expr ::= LSQBRACKET exprList_nonEmpty commaSkippable RSQBRACKET * +State 547: + vdefAssignStatic_stmt ::= STATIC * VAR nameList_nonEmpty ASSIGN exprList_nonEmpty - {default} reduce 101 + VAR shift 167 -State 364: - (215) expr ::= CONDITIONNAME LPAREN fArgs RPAREN * +State 548: + nameList_nonEmpty ::= nameList_nonEmpty COMMA * NAME - {default} reduce 215 + NAME shift 395 -State 365: - (218) expr ::= ACTIONNAME LPAREN fArgs RPAREN * +State 549: + logicExpr ::= logicExpr QMARK expr * COLON expr - {default} reduce 218 + COLON shift 59 -State 366: - (91) fArgs_nonEmpty ::= fArgs_nonEmpty COMMA fArg * +State 550: + constExpr ::= LSQBRACKET exprList_nonEmpty commaSkippable * RSQBRACKET - {default} reduce 91 + RSQBRACKET shift 233 -State 367: - (90) fArgs_nonEmpty ::= fArg * +State 551: + funcexpr ::= nonConstExpr LPAREN fArgs * RPAREN - {default} reduce 90 + RPAREN shift 211 -State 368: - (87) fArg ::= STRING * +State 552: + (217) constLogicAndExpr ::= constCompExpr * - {default} reduce 87 + RPAREN reduce 217 -State 369: - (109) expr ::= LIST LPAREN exprList_nonEmpty commaSkippable RPAREN * +State 553: + constExpr ::= ACTIONNAME LPAREN fArgs * RPAREN - {default} reduce 109 + RPAREN shift 236 -State 370: - (108) expr ::= VARRAY LPAREN exprList_nonEmpty commaSkippable RPAREN * +State 554: + logicExpr ::= CONDITIONNAME LPAREN fArgs * RPAREN - {default} reduce 108 + RPAREN shift 340 -State 371: - (107) expr ::= STATTXTTBL LPAREN STRING RPAREN * +State 555: + (110) fArgs ::= fArgs_nonEmpty * - {default} reduce 107 + RPAREN reduce 110 -State 372: - (106) expr ::= LOCATION LPAREN STRING RPAREN * +State 556: + logicExpr ::= CONDITIONNAME * LPAREN fArgs RPAREN - {default} reduce 106 + LPAREN shift 18 -State 373: - (105) expr ::= SWITCH LPAREN STRING RPAREN * +State 557: + logicAndExpr ::= constCompExpr * LAND compExpr - {default} reduce 105 + LAND shift 71 -State 374: - (104) expr ::= UNIT LPAREN STRING RPAREN * +State 558: + logicExpr ::= constLogicAndExpr * LOR logicAndExpr - {default} reduce 104 + LOR shift 69 -State 375: - (103) expr ::= MAPSTRING LPAREN STRING RPAREN * +State 559: + constExpr ::= ACTIONNAME * LPAREN fArgs RPAREN - {default} reduce 103 + LPAREN shift 19 -State 376: - (102) expr ::= L2V LPAREN expr RPAREN * +State 560: + logicExpr ::= LIST LPAREN exprList_nonEmpty commaSkippable * RPAREN - {default} reduce 102 + RPAREN shift 342 -State 377: - (73) exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET * +State 561: + logicExpr ::= LIST * LPAREN exprList_nonEmpty commaSkippable RPAREN - {default} reduce 73 + LPAREN shift 36 -State 378: - (64) numList_nonEmpty ::= numList_nonEmpty COMMA NUMBER * +State 562: + constExpr ::= VARRAY LPAREN exprList_nonEmpty commaSkippable * RPAREN - {default} reduce 64 + RPAREN shift 258 -State 379: - (98) expr ::= LPAREN expr RPAREN * +State 563: + constExpr ::= VARRAY * LPAREN exprList_nonEmpty commaSkippable RPAREN - {default} reduce 98 + LPAREN shift 37 -State 380: - (62) bodyStmtList ::= bodyStmtList error * +State 564: + constExpr ::= STATTXTTBL LPAREN STRING * RPAREN - {default} reduce 62 + RPAREN shift 259 -State 381: - (61) bodyStmtList ::= bodyStmtList bodyStmt * +State 565: + constExpr ::= STATTXTTBL LPAREN * STRING RPAREN - {default} reduce 61 + STRING shift 564 -State 382: - (59) bodyStmt ::= return_stmt SEMICOLON * +State 566: + constExpr ::= STATTXTTBL * LPAREN STRING RPAREN - {default} reduce 59 + LPAREN shift 565 -State 383: - (58) bodyStmt ::= break_stmt SEMICOLON * +State 567: + constExpr ::= LOCATION LPAREN STRING * RPAREN - {default} reduce 58 + RPAREN shift 260 -State 384: - (57) bodyStmt ::= continue_stmt SEMICOLON * +State 568: + constExpr ::= LOCATION LPAREN * STRING RPAREN - {default} reduce 57 + STRING shift 567 -State 385: - (56) bodyStmt ::= switchcase_stmt * +State 569: + constExpr ::= LOCATION * LPAREN STRING RPAREN - {default} reduce 56 + LPAREN shift 568 -State 386: - (55) bodyStmt ::= foreach_stmt * +State 570: + constExpr ::= SWITCH LPAREN STRING * RPAREN - {default} reduce 55 + RPAREN shift 261 -State 387: - (54) bodyStmt ::= for_stmt * +State 571: + constExpr ::= SWITCH LPAREN * STRING RPAREN - {default} reduce 54 + STRING shift 570 -State 388: - (53) bodyStmt ::= while_stmt * +State 572: + constExpr ::= SWITCH * LPAREN STRING RPAREN - {default} reduce 53 + LPAREN shift 571 -State 389: - (52) bodyStmt ::= if_stmt * +State 573: + constExpr ::= UNIT LPAREN STRING * RPAREN - {default} reduce 52 + RPAREN shift 262 -State 390: - (51) bodyStmt ::= once_stmt * +State 574: + constExpr ::= UNIT LPAREN * STRING RPAREN - {default} reduce 51 + STRING shift 573 -State 391: - (50) bodyStmt ::= actionStmt * +State 575: + constExpr ::= UNIT * LPAREN STRING RPAREN - {default} reduce 50 + LPAREN shift 574 -State 392: - (49) bodyStmt ::= funcexprStmt SEMICOLON * +State 576: + constExpr ::= MAPSTRING LPAREN STRING * RPAREN - {default} reduce 49 + RPAREN shift 263 -State 393: - (48) bodyStmt ::= assign_stmt SEMICOLON * +State 577: + constExpr ::= MAPSTRING LPAREN * STRING RPAREN - {default} reduce 48 + STRING shift 576 -State 394: - (47) bodyStmt ::= cdef_stmt SEMICOLON * +State 578: + constExpr ::= MAPSTRING * LPAREN STRING RPAREN - {default} reduce 47 + LPAREN shift 577 -State 395: - (46) bodyStmt ::= vdefAssign_stmt SEMICOLON * +State 579: + nonConstExpr ::= L2V LPAREN expr * RPAREN - {default} reduce 46 + RPAREN shift 222 -State 396: - (45) bodyStmt ::= vdefAssignStatic_stmt SEMICOLON * +State 580: + nonConstExpr ::= L2V * LPAREN expr RPAREN - {default} reduce 45 + LPAREN shift 60 -State 397: - (44) bodyStmt ::= vdef_stmt SEMICOLON * +State 581: + exprList_nonEmpty ::= funcexpr LSQBRACKET LSQBRACKET numList_nonEmpty RSQBRACKET * RSQBRACKET - {default} reduce 44 + RSQBRACKET shift 346 -State 398: - (43) bodyStmt ::= SEMICOLON * +State 582: + numList_nonEmpty ::= numList_nonEmpty COMMA * NUMBER - {default} reduce 43 + NUMBER shift 489 -State 399: - (42) bodyStmt ::= blockStmt * +State 583: + exprList_nonEmpty ::= funcexpr LSQBRACKET * LSQBRACKET numList_nonEmpty RSQBRACKET RSQBRACKET + nonConstExpr ::= funcexpr LSQBRACKET * LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - {default} reduce 42 + LSQBRACKET shift 169 -State 400: - (39) blockStmt ::= lbracket error RBRACKET * +State 584: + constExpr ::= LPAREN constLogicExpr * RPAREN - {default} reduce 39 + RPAREN shift 265 -State 401: - (38) blockStmt ::= blockStmtSub rbracket * +State 585: + nonConstExpr ::= nonConstExpr LSQBRACKET expr * RSQBRACKET + lvalue ::= nonConstExpr LSQBRACKET expr * RSQBRACKET - {default} reduce 38 + RSQBRACKET shift 364 -State 402: - (37) rbracket ::= RBRACKET * +State 586: + bodyStmt ::= return_stmt * SEMICOLON - {default} reduce 37 + SEMICOLON shift 187 -State 403: - (36) lbracket ::= LBRACKET * +State 587: + bodyStmt ::= break_stmt * SEMICOLON - {default} reduce 36 + SEMICOLON shift 188 -State 404: - (35) stmt ::= bodyStmt * +State 588: + bodyStmt ::= continue_stmt * SEMICOLON - {default} reduce 35 + SEMICOLON shift 189 -State 405: - (34) stmt ::= error SEMICOLON * +State 589: + bodyStmt ::= funcexprStmt * SEMICOLON - {default} reduce 34 + SEMICOLON shift 197 -State 406: - (79) expr ::= NUMBER * +State 590: + bodyStmt ::= assign_stmt * SEMICOLON - {default} reduce 79 + SEMICOLON shift 198 -State 407: - (82) expr ::= expr PERIOD NAME * +State 591: + bodyStmt ::= cdef_stmt * SEMICOLON - {default} reduce 82 + SEMICOLON shift 199 -State 408: - (74) expr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET RSQBRACKET * +State 592: + bodyStmt ::= vdefAssign_stmt * SEMICOLON - {default} reduce 74 + SEMICOLON shift 200 -State 409: - (18) relimp_chunk ::= relimp_path AS NAME SEMICOLON * +State 593: + bodyStmt ::= vdefAssignStatic_stmt * SEMICOLON - {default} reduce 18 + SEMICOLON shift 201 -State 410: - (17) relimp_chunk ::= relimp_path SEMICOLON * +State 594: + bodyStmt ::= vdef_stmt * SEMICOLON - {default} reduce 17 + SEMICOLON shift 202 -State 411: - (16) relimp_path ::= relimp_path PERIOD NAME * +State 595: + blockStmt ::= lbracket error * RBRACKET - {default} reduce 16 + RBRACKET shift 205 -State 412: - (15) relimp_path ::= relimp_start NAME * +State 596: + stmt ::= error * SEMICOLON - {default} reduce 15 + SEMICOLON shift 209 -State 413: - (14) relimp_start ::= relimp_start PERIOD * +State 597: + lambdaExprStart ::= FUNCTION * LPAREN typedNameList RPAREN fdef_rettypes - {default} reduce 14 + LPAREN shift 137 -State 414: - (21) import_chunk ::= IMPORT dottedName AS NAME * +State 598: + nonConstExpr ::= nonConstExpr LSQBRACKET expr * RSQBRACKET - {default} reduce 21 + RSQBRACKET shift 225 -State 415: - (20) dottedName ::= dottedName PERIOD NAME * +State 599: + nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER RSQBRACKET * RSQBRACKET - {default} reduce 20 + RSQBRACKET shift 230 -State 416: - (19) dottedName ::= NAME * +State 600: + nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET NUMBER * RSQBRACKET RSQBRACKET - {default} reduce 19 + RSQBRACKET shift 599 -State 417: - (13) relimp_start ::= IMPORT PERIOD * +State 601: + nonConstExpr ::= funcexpr LSQBRACKET LSQBRACKET * NUMBER RSQBRACKET RSQBRACKET - {default} reduce 13 + NUMBER shift 600 -State 418: - (12) chunk ::= blockStmt * +State 602: + nonConstExpr ::= funcexpr LSQBRACKET * LSQBRACKET NUMBER RSQBRACKET RSQBRACKET - {default} reduce 12 + LSQBRACKET shift 601 -State 419: - (11) chunk ::= cdef_global_stmt SEMICOLON * +State 603: + fdef_header ::= FUNCTION NAME LPAREN typedNameList * RPAREN fdef_rettypes + fdecl_chunk ::= FUNCTION NAME LPAREN typedNameList * RPAREN SEMICOLON - {default} reduce 11 + RPAREN shift 159 -State 420: - (10) chunk ::= vdefAssign_global_stmt SEMICOLON * +State 604: + fdef_header ::= FUNCTION NAME * LPAREN typedNameList RPAREN fdef_rettypes + fdecl_chunk ::= FUNCTION NAME * LPAREN typedNameList RPAREN SEMICOLON - {default} reduce 10 + LPAREN shift 138 -State 421: - (9) chunk ::= vdef_stmt SEMICOLON * +State 605: + fdef_header ::= FUNCTION * NAME LPAREN typedNameList RPAREN fdef_rettypes + fdecl_chunk ::= FUNCTION * NAME LPAREN typedNameList RPAREN SEMICOLON - {default} reduce 9 + NAME shift 604 -State 422: - (8) chunk ::= object_chunk * +State 606: + import_chunk ::= absimp_start AS TRGCONST * SEMICOLON - {default} reduce 8 + SEMICOLON shift 377 -State 423: - (7) chunk ::= fdecl_chunk * +State 607: + import_chunk ::= absimp_start AS NAME * SEMICOLON - {default} reduce 7 + SEMICOLON shift 378 -State 424: - (6) chunk ::= fdef_chunk * +State 608: + import_chunk ::= relimp_path AS TRGCONST * SEMICOLON - {default} reduce 6 + SEMICOLON shift 379 -State 425: - (5) chunk ::= import_chunk SEMICOLON * +State 609: + import_chunk ::= relimp_path AS NAME * SEMICOLON - {default} reduce 5 + SEMICOLON shift 380 -State 426: - (4) chunk ::= relimp_chunk * +State 610: + chunk ::= cdef_global_stmt * SEMICOLON - {default} reduce 4 + SEMICOLON shift 383 -State 427: - (3) chunks ::= chunks error * +State 611: + chunk ::= vdefAssign_global_stmt * SEMICOLON - {default} reduce 3 + SEMICOLON shift 384 -State 428: - (2) chunks ::= chunks chunk * +State 612: + chunk ::= vdef_stmt * SEMICOLON - {default} reduce 2 + SEMICOLON shift 385 ---------------------------------------------------- Symbols: @@ -13697,61 +29828,61 @@ Symbols: 30: SEMICOLON 31: IMPORT 32: NAME - 33: AS - 34: COLON - 35: FUNCTION - 36: RPAREN - 37: OBJECT - 38: LBRACKET - 39: VAR - 40: RBRACKET - 41: NUMBER - 42: RSQBRACKET - 43: SUBSCRIPT - 44: KILLS - 45: MEMBER - 46: STRING - 47: FUNCCALL - 48: L2V - 49: MAPSTRING - 50: UNIT - 51: SWITCH - 52: LOCATION - 53: STATTXTTBL - 54: VARRAY - 55: LIST - 56: STATIC - 57: CONST - 58: INC - 59: DEC - 60: IADD - 61: ISUB - 62: IMUL - 63: IDIV - 64: IMOD - 65: ILSH - 66: IRSH - 67: IBND - 68: IBOR - 69: IBXR - 70: ONCE - 71: IF - 72: SWITCHCASE - 73: CASE - 74: DEFAULT - 75: WHILE - 76: FOR - 77: FOREACH - 78: CONTINUE - 79: BREAK - 80: RETURN - 81: CONDITIONNAME - 82: ACTIONNAME - 83: error: - 84: program: IMPORT FUNCTION OBJECT LBRACKET VAR CONST - 85: chunks: IMPORT FUNCTION OBJECT LBRACKET VAR CONST - 86: chunk: IMPORT FUNCTION OBJECT LBRACKET VAR CONST - 87: relimp_chunk: IMPORT + 33: TRGCONST + 34: AS + 35: COLON + 36: FUNCTION + 37: RPAREN + 38: OBJECT + 39: LBRACKET + 40: VAR + 41: RBRACKET + 42: NUMBER + 43: RSQBRACKET + 44: SUBSCRIPT + 45: KILLS + 46: MEMBER + 47: STRING + 48: FUNCCALL + 49: L2V + 50: MAPSTRING + 51: UNIT + 52: SWITCH + 53: LOCATION + 54: STATTXTTBL + 55: VARRAY + 56: LIST + 57: STATIC + 58: CONST + 59: INC + 60: DEC + 61: IADD + 62: ISUB + 63: IMUL + 64: IDIV + 65: IMOD + 66: ILSH + 67: IRSH + 68: IBND + 69: IBOR + 70: IBXR + 71: ONCE + 72: IF + 73: SWITCHCASE + 74: CASE + 75: DEFAULT + 76: WHILE + 77: FOR + 78: FOREACH + 79: CONTINUE + 80: BREAK + 81: RETURN + 82: CONDITIONNAME + 83: ACTIONNAME + 84: error: + 85: program: IMPORT FUNCTION OBJECT LBRACKET VAR CONST + 86: chunks: IMPORT FUNCTION OBJECT LBRACKET VAR CONST + 87: chunk: IMPORT FUNCTION OBJECT LBRACKET VAR CONST 88: import_chunk: IMPORT 89: fdef_chunk: FUNCTION 90: fdecl_chunk: FUNCTION @@ -13762,26 +29893,26 @@ Symbols: 95: blockStmt: LBRACKET 96: relimp_start: IMPORT 97: relimp_path: IMPORT - 98: dottedName: NAME + 98: absimp_start: IMPORT 99: fdef_rettypes: COLON - 100: exprList_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 100: exprList_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME 101: fdef_header: FUNCTION 102: typedNameList: NAME - 103: stmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET SEMICOLON NAME FUNCTION LBRACKET VAR NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN CONDITIONNAME ACTIONNAME + 103: stmt: LNOT PLUS MINUS BITNOT LPAREN SEMICOLON NAME LBRACKET VAR L2V STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN ACTIONNAME 104: object_body: OBJECT 105: typedNameList_nonEmpty: NAME 106: method_header: FUNCTION 107: method_chunk: FUNCTION - 108: bodyStmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET SEMICOLON NAME FUNCTION LBRACKET VAR NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN CONDITIONNAME ACTIONNAME + 108: bodyStmt: LNOT PLUS MINUS BITNOT LPAREN SEMICOLON NAME LBRACKET VAR L2V STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN ACTIONNAME 109: lbracket: LBRACKET 110: rbracket: RBRACKET 111: blockStmtSub: LBRACKET - 112: bodyStmtList: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET SEMICOLON NAME FUNCTION LBRACKET VAR NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN CONDITIONNAME ACTIONNAME + 112: bodyStmtList: LNOT PLUS MINUS BITNOT LPAREN SEMICOLON NAME LBRACKET VAR L2V STATIC CONST INC DEC ONCE IF SWITCHCASE WHILE FOR FOREACH CONTINUE BREAK RETURN ACTIONNAME 113: vdefAssignStatic_stmt: STATIC 114: vdefAssign_stmt: VAR 115: cdef_stmt: CONST - 116: assign_stmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST INC DEC CONDITIONNAME ACTIONNAME - 117: funcexprStmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 116: assign_stmt: LNOT PLUS MINUS BITNOT LPAREN NAME L2V INC DEC + 117: funcexprStmt: LNOT PLUS MINUS BITNOT LPAREN NAME L2V 118: actionStmt: ACTIONNAME 119: once_stmt: ONCE 120: if_stmt: IF @@ -13794,44 +29925,72 @@ Symbols: 127: return_stmt: RETURN 128: numList_nonEmpty: NUMBER 129: typedName: NAME - 130: expr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 130: expr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME 131: nameList_nonEmpty: NAME - 132: funcexpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 133: exprList: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 134: lambdaExprStart: FUNCTION - 135: fArg: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 136: fArgs_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 137: fArgs: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 138: commaSkippable: COMMA - 139: lvalue: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 140: lvalueList_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME - 141: once_start: ONCE - 142: once_header: ONCE - 143: once_block: ONCE - 144: once_nocond: ONCE - 145: if_start: IF - 146: if_header: IF - 147: if_block: IF - 148: elif_start: ELSE - 149: elif_header: ELSE - 150: else_header: ELSE - 151: switchcase_header: SWITCHCASE - 152: case_start: CASE - 153: case_clause: CASE - 154: case_chunk: CASE - 155: case_chunks: CASE - 156: default_clause: DEFAULT - 157: default_chunk: DEFAULT - 158: switchcase_block: SWITCHCASE - 159: while_start: WHILE - 160: while_header: WHILE - 161: for_opener: FOR - 162: for_init_stmt_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION VAR NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONST INC DEC CONDITIONNAME ACTIONNAME - 163: for_init_stmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION VAR NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONST INC DEC CONDITIONNAME ACTIONNAME - 164: for_action_stmt_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST INC DEC CONDITIONNAME ACTIONNAME - 165: for_action_stmt: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST INC DEC CONDITIONNAME ACTIONNAME - 166: for_header1: FOR - 167: for_header2: FOR - 168: for_header: FOR - 169: foreach_opener: FOREACH - 170: foreach_header: FOREACH + 132: funcexpr: LNOT PLUS MINUS BITNOT LPAREN NAME L2V + 133: nonConstExpr: LNOT PLUS MINUS BITNOT LPAREN NAME L2V + 134: exprList: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 135: constExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 136: lambdaExprStart: FUNCTION + 137: constLogicExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 138: logicExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 139: fNonConstArg: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 140: fConstArg: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 141: fArg: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 142: fConstArgs_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 143: fNonConstArgs_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 144: fArgs_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 145: fArgs: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS STRING L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY LIST CONDITIONNAME ACTIONNAME + 146: commaSkippable: COMMA + 147: constTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 148: constFactor: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 149: term: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 150: factor: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 151: constShTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 152: shTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 153: constBitAndTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 154: bitAndTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 155: constBitXorTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 156: bitXorTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 157: constBitOrTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 158: bitOrTerm: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 159: constEqExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 160: eqExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 161: constCompExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 162: compExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 163: constLogicAndExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET TRGCONST FUNCTION NUMBER KILLS MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 164: logicAndExpr: LNOT PLUS MINUS BITNOT LPAREN LSQBRACKET NAME TRGCONST FUNCTION NUMBER KILLS L2V MAPSTRING UNIT SWITCH LOCATION STATTXTTBL VARRAY ACTIONNAME + 165: lvalue: LNOT PLUS MINUS BITNOT LPAREN NAME L2V + 166: lvalueList_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN NAME L2V + 167: once_start: ONCE + 168: once_header: ONCE + 169: once_block: ONCE + 170: once_nocond: ONCE + 171: if_start: IF + 172: if_header: IF + 173: if_block: IF + 174: elif_start: ELSE + 175: elif_header: ELSE + 176: else_header: ELSE + 177: switchcase_header: SWITCHCASE + 178: case_start: CASE + 179: case_clause: CASE + 180: case_chunk: CASE + 181: case_chunks: CASE + 182: default_clause: DEFAULT + 183: default_chunk: DEFAULT + 184: switchcase_block: SWITCHCASE + 185: while_start: WHILE + 186: while_header: WHILE + 187: for_opener: FOR + 188: for_init_stmt_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN NAME VAR L2V CONST INC DEC + 189: for_init_stmt: LNOT PLUS MINUS BITNOT LPAREN NAME VAR L2V CONST INC DEC + 190: for_action_stmt_nonEmpty: LNOT PLUS MINUS BITNOT LPAREN NAME L2V INC DEC + 191: for_action_stmt: LNOT PLUS MINUS BITNOT LPAREN NAME L2V INC DEC + 192: for_header1: FOR + 193: for_header2: FOR + 194: for_header: FOR + 195: foreach_opener: FOREACH + 196: foreach_header: FOREACH + 197: constAction: ACTIONNAME + 198: constActionList: ACTIONNAME diff --git a/eudplib/epscript/cpp/parser/reservedWords/constparser.cpp b/eudplib/epscript/cpp/parser/reservedWords/constparser.cpp index 01ffcabd..b9f300a6 100644 --- a/eudplib/epscript/cpp/parser/reservedWords/constparser.cpp +++ b/eudplib/epscript/cpp/parser/reservedWords/constparser.cpp @@ -65,6 +65,8 @@ void initConstmap() { constMap.insert(std::make_pair("Force4", 21)); constMap.insert(std::make_pair("NonAlliedVictoryPlayers", 26)); + constMap.insert(std::make_pair("All", 0)); + // PropStateDict constMap.insert(std::make_pair("Enable", 4)); constMap.insert(std::make_pair("Disable", 5)); @@ -103,8 +105,8 @@ int parseConstantName(const std::string& name) { initConstmap(); } - if(name.size() == 0 || name[0] != '$') return -1; - auto it = constMap.find(name.substr(1)); + if(name.size() == 0) return -1; + auto it = constMap.find(name); if (it == constMap.end()) return -1; else return it->second; } diff --git a/eudplib/epscript/cpp/parser/tokenAdapter.cpp b/eudplib/epscript/cpp/parser/tokenAdapter.cpp index d58c568c..b1a9b3ca 100644 --- a/eudplib/epscript/cpp/parser/tokenAdapter.cpp +++ b/eudplib/epscript/cpp/parser/tokenAdapter.cpp @@ -35,6 +35,7 @@ int getConvertedType(int type) { case TOKEN_CONDITION: return CONDITIONNAME; case TOKEN_ACTION: return ACTIONNAME; case TOKEN_KILLS: return KILLS; + case TOKEN_TRGCONST: return TRGCONST; case TOKEN_UNITNAME: return UNIT; case TOKEN_LOCNAME: return LOCATION; diff --git a/eudplib/epscript/cpp/parser/tokenizer/token.cpp b/eudplib/epscript/cpp/parser/tokenizer/token.cpp index 468a6518..8323dd4b 100644 --- a/eudplib/epscript/cpp/parser/tokenizer/token.cpp +++ b/eudplib/epscript/cpp/parser/tokenizer/token.cpp @@ -41,6 +41,7 @@ const char* getTokenTypeString(int type) { {TOKEN_CONDITION, "TOKEN_CONDITION"}, {TOKEN_ACTION, "TOKEN_ACTION"}, {TOKEN_KILLS, "TOKEN_KILLS"}, + {TOKEN_TRGCONST, "TOKEN_TRGCONST"}, {TOKEN_UNITNAME, "TOKEN_UNITNAME"}, {TOKEN_LOCNAME, "TOKEN_LOCNAME"}, {TOKEN_MAPSTRING, "TOKEN_MAPSTRING"}, diff --git a/eudplib/epscript/cpp/parser/tokenizer/token.h b/eudplib/epscript/cpp/parser/tokenizer/token.h index 132175b2..e0e34fa2 100644 --- a/eudplib/epscript/cpp/parser/tokenizer/token.h +++ b/eudplib/epscript/cpp/parser/tokenizer/token.h @@ -45,6 +45,7 @@ enum TokenType TOKEN_CONDITION, TOKEN_ACTION, TOKEN_KILLS, + TOKEN_TRGCONST, TOKEN_UNITNAME, TOKEN_LOCNAME, diff --git a/eudplib/epscript/cpp/parser/tokenizer/tokenizerImpl.cpp b/eudplib/epscript/cpp/parser/tokenizer/tokenizerImpl.cpp index 954ddba2..f05d8110 100644 --- a/eudplib/epscript/cpp/parser/tokenizer/tokenizerImpl.cpp +++ b/eudplib/epscript/cpp/parser/tokenizer/tokenizerImpl.cpp @@ -176,8 +176,9 @@ Token* TokenizerImpl::getToken() { if(isConditionName(identifier)) return TK(TOKEN_CONDITION, identifier); if(isActionName(identifier)) return TK(TOKEN_ACTION, identifier); + if(parseConstantName(identifier) != -1) return TK(TOKEN_TRGCONST, identifier); int c; - if((c = parseConstantName(identifier)) != -1) return TK(TOKEN_NUMBER, std::to_string(c)); + if(identifier.at(0) == '$' && (c = parseConstantName(identifier.substr(1))) != -1) return TK(TOKEN_NUMBER, std::to_string(c)); return TK(TOKEN_NAME, identifier); }