Terminals unused in grammar INVALID_CHARACTER Grammar 0 $accept: TopLevel $end 1 TopLevel: Exp 2 | FuncDefs 3 FuncDefs: /* empty */ 4 | FuncDef FuncDefs 5 Exp: FuncDef Exp 6 | Term "as" '$' IDENT '|' Exp 7 | "if" Exp "then" Exp ElseBody 8 | "if" Exp error 9 | Exp '=' Exp 10 | Exp "or" Exp 11 | Exp "and" Exp 12 | Exp "//" Exp 13 | Exp "//=" Exp 14 | Exp "|=" Exp 15 | Exp '|' Exp 16 | Exp ',' Exp 17 | Exp '+' Exp 18 | Exp "+=" Exp 19 | Exp '-' Exp 20 | Exp "-=" Exp 21 | Exp '*' Exp 22 | Exp "*=" Exp 23 | Exp '/' Exp 24 | Exp "/=" Exp 25 | Exp "==" Exp 26 | Exp "!=" Exp 27 | Exp '<' Exp 28 | Exp '>' Exp 29 | Exp "<=" Exp 30 | Exp ">=" Exp 31 | Exp "contains" Exp 32 | Term 33 String: QQSTRING_START QQString QQSTRING_END 34 FuncDef: "def" IDENT ':' Exp ';' 35 | "def" IDENT '(' IDENT ')' ':' Exp ';' 36 QQString: /* empty */ 37 | QQString QQSTRING_TEXT 38 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END 39 ElseBody: "elif" Exp "then" Exp ElseBody 40 | "else" Exp "end" 41 ExpD: ExpD '|' ExpD 42 | Term 43 Term: '.' 44 | Term '.' IDENT 45 | '.' IDENT 46 | Term '[' Exp ']' 47 | Term '[' ']' 48 | LITERAL 49 | String 50 | '(' Exp ')' 51 | '[' Exp ']' 52 | '[' ']' 53 | '{' MkDict '}' 54 | '$' IDENT 55 | IDENT 56 | IDENT '(' Exp ')' 57 | '(' error ')' 58 | '[' error ']' 59 | Term '[' error ']' 60 | '{' error '}' 61 MkDict: /* empty */ 62 | MkDictPair 63 | MkDictPair ',' MkDict 64 | error ',' MkDict 65 MkDictPair: IDENT ':' ExpD 66 | String ':' ExpD 67 | IDENT 68 | '(' Exp ')' ':' ExpD 69 | '(' error ')' ':' ExpD Terminals, with rules where they appear $end (0) 0 '$' (36) 6 54 '(' (40) 35 50 56 57 68 69 ')' (41) 35 50 56 57 68 69 '*' (42) 21 '+' (43) 17 ',' (44) 16 63 64 '-' (45) 19 '.' (46) 43 44 45 '/' (47) 23 ':' (58) 34 35 65 66 68 69 ';' (59) 34 35 '<' (60) 27 '=' (61) 9 '>' (62) 28 '[' (91) 46 47 51 52 58 59 ']' (93) 46 47 51 52 58 59 '{' (123) 53 60 '|' (124) 6 15 41 '}' (125) 53 60 error (256) 8 57 58 59 60 64 69 INVALID_CHARACTER (258) IDENT (259) 6 34 35 44 45 54 55 56 65 67 LITERAL (260) 48 "==" (261) 25 "!=" (262) 26 "//" (263) 12 "as" (264) 6 "def" (265) 34 35 "if" (266) 7 8 "then" (267) 7 39 "else" (268) 40 "elif" (269) 39 "end" (270) 40 "and" (271) 11 "or" (272) 10 "|=" (273) 14 "+=" (274) 18 "-=" (275) 20 "*=" (276) 22 "/=" (277) 24 "//=" (278) 13 "<=" (279) 29 ">=" (280) 30 "contains" (281) 31 QQSTRING_START (282) 33 QQSTRING_TEXT (283) 37 QQSTRING_INTERP_START (284) 38 QQSTRING_INTERP_END (285) 38 QQSTRING_END (286) 33 Nonterminals, with rules where they appear $accept (51) on left: 0 TopLevel (52) on left: 1 2, on right: 0 FuncDefs (53) on left: 3 4, on right: 2 4 Exp (54) on left: 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32, on right: 1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 34 35 38 39 40 46 50 51 56 68 String (55) on left: 33, on right: 49 66 FuncDef (56) on left: 34 35, on right: 4 5 QQString (57) on left: 36 37 38, on right: 33 37 38 ElseBody (58) on left: 39 40, on right: 7 39 ExpD (59) on left: 41 42, on right: 41 65 66 68 69 Term (60) on left: 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60, on right: 6 32 42 44 46 47 59 MkDict (61) on left: 61 62 63 64, on right: 53 63 64 MkDictPair (62) on left: 65 66 67 68 69, on right: 62 63 state 0 0 $accept: . TopLevel $end IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 $default reduce using rule 3 (FuncDefs) TopLevel go to state 11 FuncDefs go to state 12 Exp go to state 13 String go to state 14 FuncDef go to state 15 Term go to state 16 state 1 55 Term: IDENT . 56 | IDENT . '(' Exp ')' '(' shift, and go to state 17 $default reduce using rule 55 (Term) state 2 48 Term: LITERAL . $default reduce using rule 48 (Term) state 3 34 FuncDef: "def" . IDENT ':' Exp ';' 35 | "def" . IDENT '(' IDENT ')' ':' Exp ';' IDENT shift, and go to state 18 state 4 7 Exp: "if" . Exp "then" Exp ElseBody 8 | "if" . Exp error IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 19 String go to state 14 FuncDef go to state 20 Term go to state 16 state 5 33 String: QQSTRING_START . QQString QQSTRING_END $default reduce using rule 36 (QQString) QQString go to state 21 state 6 54 Term: '$' . IDENT IDENT shift, and go to state 22 state 7 50 Term: '(' . Exp ')' 57 | '(' . error ')' error shift, and go to state 23 IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 24 String go to state 14 FuncDef go to state 20 Term go to state 16 state 8 43 Term: '.' . 45 | '.' . IDENT IDENT shift, and go to state 25 $default reduce using rule 43 (Term) state 9 51 Term: '[' . Exp ']' 52 | '[' . ']' 58 | '[' . error ']' error shift, and go to state 26 IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 ']' shift, and go to state 27 '{' shift, and go to state 10 Exp go to state 28 String go to state 14 FuncDef go to state 20 Term go to state 16 state 10 53 Term: '{' . MkDict '}' 60 | '{' . error '}' error shift, and go to state 29 IDENT shift, and go to state 30 QQSTRING_START shift, and go to state 5 '(' shift, and go to state 31 '}' reduce using rule 61 (MkDict) String go to state 32 MkDict go to state 33 MkDictPair go to state 34 state 11 0 $accept: TopLevel . $end $end shift, and go to state 35 state 12 2 TopLevel: FuncDefs . $default reduce using rule 2 (TopLevel) state 13 1 TopLevel: Exp . 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 1 (TopLevel) state 14 49 Term: String . $default reduce using rule 49 (Term) state 15 4 FuncDefs: FuncDef . FuncDefs 5 Exp: FuncDef . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 $default reduce using rule 3 (FuncDefs) FuncDefs go to state 59 Exp go to state 60 String go to state 14 FuncDef go to state 15 Term go to state 16 state 16 6 Exp: Term . "as" '$' IDENT '|' Exp 32 | Term . 44 Term: Term . '.' IDENT 46 | Term . '[' Exp ']' 47 | Term . '[' ']' 59 | Term . '[' error ']' "as" shift, and go to state 61 '.' shift, and go to state 62 '[' shift, and go to state 63 $default reduce using rule 32 (Exp) state 17 56 Term: IDENT '(' . Exp ')' IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 64 String go to state 14 FuncDef go to state 20 Term go to state 16 state 18 34 FuncDef: "def" IDENT . ':' Exp ';' 35 | "def" IDENT . '(' IDENT ')' ':' Exp ';' ':' shift, and go to state 65 '(' shift, and go to state 66 state 19 7 Exp: "if" Exp . "then" Exp ElseBody 8 | "if" Exp . error 9 | Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp error shift, and go to state 67 "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "then" shift, and go to state 68 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 20 5 Exp: FuncDef . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 60 String go to state 14 FuncDef go to state 20 Term go to state 16 state 21 33 String: QQSTRING_START QQString . QQSTRING_END 37 QQString: QQString . QQSTRING_TEXT 38 | QQString . QQSTRING_INTERP_START Exp QQSTRING_INTERP_END QQSTRING_TEXT shift, and go to state 69 QQSTRING_INTERP_START shift, and go to state 70 QQSTRING_END shift, and go to state 71 state 22 54 Term: '$' IDENT . $default reduce using rule 54 (Term) state 23 57 Term: '(' error . ')' ')' shift, and go to state 72 state 24 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 50 Term: '(' Exp . ')' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ')' shift, and go to state 73 state 25 45 Term: '.' IDENT . $default reduce using rule 45 (Term) state 26 58 Term: '[' error . ']' ']' shift, and go to state 74 state 27 52 Term: '[' ']' . $default reduce using rule 52 (Term) state 28 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 51 Term: '[' Exp . ']' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ']' shift, and go to state 75 state 29 60 Term: '{' error . '}' 64 MkDict: error . ',' MkDict ',' shift, and go to state 76 '}' shift, and go to state 77 state 30 65 MkDictPair: IDENT . ':' ExpD 67 | IDENT . ':' shift, and go to state 78 $default reduce using rule 67 (MkDictPair) state 31 68 MkDictPair: '(' . Exp ')' ':' ExpD 69 | '(' . error ')' ':' ExpD error shift, and go to state 79 IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 80 String go to state 14 FuncDef go to state 20 Term go to state 16 state 32 66 MkDictPair: String . ':' ExpD ':' shift, and go to state 81 state 33 53 Term: '{' MkDict . '}' '}' shift, and go to state 82 state 34 62 MkDict: MkDictPair . 63 | MkDictPair . ',' MkDict ',' shift, and go to state 83 $default reduce using rule 62 (MkDict) state 35 0 $accept: TopLevel $end . $default accept state 36 25 Exp: Exp "==" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 84 String go to state 14 FuncDef go to state 20 Term go to state 16 state 37 26 Exp: Exp "!=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 85 String go to state 14 FuncDef go to state 20 Term go to state 16 state 38 12 Exp: Exp "//" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 86 String go to state 14 FuncDef go to state 20 Term go to state 16 state 39 11 Exp: Exp "and" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 87 String go to state 14 FuncDef go to state 20 Term go to state 16 state 40 10 Exp: Exp "or" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 88 String go to state 14 FuncDef go to state 20 Term go to state 16 state 41 14 Exp: Exp "|=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 89 String go to state 14 FuncDef go to state 20 Term go to state 16 state 42 18 Exp: Exp "+=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 90 String go to state 14 FuncDef go to state 20 Term go to state 16 state 43 20 Exp: Exp "-=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 91 String go to state 14 FuncDef go to state 20 Term go to state 16 state 44 22 Exp: Exp "*=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 92 String go to state 14 FuncDef go to state 20 Term go to state 16 state 45 24 Exp: Exp "/=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 93 String go to state 14 FuncDef go to state 20 Term go to state 16 state 46 13 Exp: Exp "//=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 94 String go to state 14 FuncDef go to state 20 Term go to state 16 state 47 29 Exp: Exp "<=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 95 String go to state 14 FuncDef go to state 20 Term go to state 16 state 48 30 Exp: Exp ">=" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 96 String go to state 14 FuncDef go to state 20 Term go to state 16 state 49 31 Exp: Exp "contains" . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 97 String go to state 14 FuncDef go to state 20 Term go to state 16 state 50 15 Exp: Exp '|' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 98 String go to state 14 FuncDef go to state 20 Term go to state 16 state 51 16 Exp: Exp ',' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 99 String go to state 14 FuncDef go to state 20 Term go to state 16 state 52 9 Exp: Exp '=' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 100 String go to state 14 FuncDef go to state 20 Term go to state 16 state 53 27 Exp: Exp '<' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 101 String go to state 14 FuncDef go to state 20 Term go to state 16 state 54 28 Exp: Exp '>' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 102 String go to state 14 FuncDef go to state 20 Term go to state 16 state 55 17 Exp: Exp '+' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 103 String go to state 14 FuncDef go to state 20 Term go to state 16 state 56 19 Exp: Exp '-' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 104 String go to state 14 FuncDef go to state 20 Term go to state 16 state 57 21 Exp: Exp '*' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 105 String go to state 14 FuncDef go to state 20 Term go to state 16 state 58 23 Exp: Exp '/' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 106 String go to state 14 FuncDef go to state 20 Term go to state 16 state 59 4 FuncDefs: FuncDef FuncDefs . $default reduce using rule 4 (FuncDefs) state 60 5 Exp: FuncDef Exp . 9 | Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 5 (Exp) state 61 6 Exp: Term "as" . '$' IDENT '|' Exp '$' shift, and go to state 107 state 62 44 Term: Term '.' . IDENT IDENT shift, and go to state 108 state 63 46 Term: Term '[' . Exp ']' 47 | Term '[' . ']' 59 | Term '[' . error ']' error shift, and go to state 109 IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 ']' shift, and go to state 110 '{' shift, and go to state 10 Exp go to state 111 String go to state 14 FuncDef go to state 20 Term go to state 16 state 64 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 56 Term: IDENT '(' Exp . ')' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ')' shift, and go to state 112 state 65 34 FuncDef: "def" IDENT ':' . Exp ';' IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 113 String go to state 14 FuncDef go to state 20 Term go to state 16 state 66 35 FuncDef: "def" IDENT '(' . IDENT ')' ':' Exp ';' IDENT shift, and go to state 114 state 67 8 Exp: "if" Exp error . $default reduce using rule 8 (Exp) state 68 7 Exp: "if" Exp "then" . Exp ElseBody IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 115 String go to state 14 FuncDef go to state 20 Term go to state 16 state 69 37 QQString: QQString QQSTRING_TEXT . $default reduce using rule 37 (QQString) state 70 38 QQString: QQString QQSTRING_INTERP_START . Exp QQSTRING_INTERP_END IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 116 String go to state 14 FuncDef go to state 20 Term go to state 16 state 71 33 String: QQSTRING_START QQString QQSTRING_END . $default reduce using rule 33 (String) state 72 57 Term: '(' error ')' . $default reduce using rule 57 (Term) state 73 50 Term: '(' Exp ')' . $default reduce using rule 50 (Term) state 74 58 Term: '[' error ']' . $default reduce using rule 58 (Term) state 75 51 Term: '[' Exp ']' . $default reduce using rule 51 (Term) state 76 64 MkDict: error ',' . MkDict error shift, and go to state 117 IDENT shift, and go to state 30 QQSTRING_START shift, and go to state 5 '(' shift, and go to state 31 '}' reduce using rule 61 (MkDict) String go to state 32 MkDict go to state 118 MkDictPair go to state 34 state 77 60 Term: '{' error '}' . $default reduce using rule 60 (Term) state 78 65 MkDictPair: IDENT ':' . ExpD IDENT shift, and go to state 1 LITERAL shift, and go to state 2 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 String go to state 14 ExpD go to state 119 Term go to state 120 state 79 69 MkDictPair: '(' error . ')' ':' ExpD ')' shift, and go to state 121 state 80 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 68 MkDictPair: '(' Exp . ')' ':' ExpD "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ')' shift, and go to state 122 state 81 66 MkDictPair: String ':' . ExpD IDENT shift, and go to state 1 LITERAL shift, and go to state 2 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 String go to state 14 ExpD go to state 123 Term go to state 120 state 82 53 Term: '{' MkDict '}' . $default reduce using rule 53 (Term) state 83 63 MkDict: MkDictPair ',' . MkDict error shift, and go to state 117 IDENT shift, and go to state 30 QQSTRING_START shift, and go to state 5 '(' shift, and go to state 31 '}' reduce using rule 61 (MkDict) String go to state 32 MkDict go to state 124 MkDictPair go to state 34 state 84 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 25 | Exp "==" Exp . 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 25 (Exp) state 85 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 26 | Exp "!=" Exp . 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 26 (Exp) state 86 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 12 | Exp "//" Exp . 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 12 (Exp) state 87 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 11 | Exp "and" Exp . 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 11 (Exp) state 88 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 10 | Exp "or" Exp . 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 10 (Exp) state 89 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 14 | Exp "|=" Exp . 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 14 (Exp) state 90 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 18 | Exp "+=" Exp . 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 18 (Exp) state 91 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 20 | Exp "-=" Exp . 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 20 (Exp) state 92 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 22 | Exp "*=" Exp . 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 22 (Exp) state 93 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 24 | Exp "/=" Exp . 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 24 (Exp) state 94 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 13 | Exp "//=" Exp . 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 13 (Exp) state 95 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 29 | Exp "<=" Exp . 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 29 (Exp) state 96 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 30 | Exp ">=" Exp . 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 30 (Exp) state 97 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 31 | Exp "contains" Exp . '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 31 (Exp) state 98 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 15 | Exp '|' Exp . 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 15 (Exp) state 99 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 16 | Exp ',' Exp . 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 16 (Exp) state 100 9 Exp: Exp . '=' Exp 9 | Exp '=' Exp . 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "and" shift, and go to state 39 "or" shift, and go to state 40 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "|=" error (nonassociative) "+=" error (nonassociative) "-=" error (nonassociative) "*=" error (nonassociative) "/=" error (nonassociative) "//=" error (nonassociative) '=' error (nonassociative) $default reduce using rule 9 (Exp) state 101 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 27 | Exp '<' Exp . 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 27 (Exp) state 102 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 28 | Exp '>' Exp . 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 "==" error (nonassociative) "!=" error (nonassociative) "<=" error (nonassociative) ">=" error (nonassociative) "contains" error (nonassociative) '<' error (nonassociative) '>' error (nonassociative) $default reduce using rule 28 (Exp) state 103 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 17 | Exp '+' Exp . 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 17 (Exp) state 104 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 19 | Exp '-' Exp . 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 19 (Exp) state 105 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 21 | Exp '*' Exp . 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp $default reduce using rule 21 (Exp) state 106 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 23 | Exp '/' Exp . 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp $default reduce using rule 23 (Exp) state 107 6 Exp: Term "as" '$' . IDENT '|' Exp IDENT shift, and go to state 125 state 108 44 Term: Term '.' IDENT . $default reduce using rule 44 (Term) state 109 59 Term: Term '[' error . ']' ']' shift, and go to state 126 state 110 47 Term: Term '[' ']' . $default reduce using rule 47 (Term) state 111 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 46 Term: Term '[' Exp . ']' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ']' shift, and go to state 127 state 112 56 Term: IDENT '(' Exp ')' . $default reduce using rule 56 (Term) state 113 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 34 FuncDef: "def" IDENT ':' Exp . ';' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 ';' shift, and go to state 128 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 114 35 FuncDef: "def" IDENT '(' IDENT . ')' ':' Exp ';' ')' shift, and go to state 129 state 115 7 Exp: "if" Exp "then" Exp . ElseBody 9 | Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "else" shift, and go to state 130 "elif" shift, and go to state 131 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ElseBody go to state 132 state 116 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 38 QQString: QQString QQSTRING_INTERP_START Exp . QQSTRING_INTERP_END "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 QQSTRING_INTERP_END shift, and go to state 133 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 117 64 MkDict: error . ',' MkDict ',' shift, and go to state 76 state 118 64 MkDict: error ',' MkDict . $default reduce using rule 64 (MkDict) state 119 41 ExpD: ExpD . '|' ExpD 65 MkDictPair: IDENT ':' ExpD . '|' shift, and go to state 134 $default reduce using rule 65 (MkDictPair) state 120 42 ExpD: Term . 44 Term: Term . '.' IDENT 46 | Term . '[' Exp ']' 47 | Term . '[' ']' 59 | Term . '[' error ']' '.' shift, and go to state 62 '[' shift, and go to state 63 $default reduce using rule 42 (ExpD) state 121 69 MkDictPair: '(' error ')' . ':' ExpD ':' shift, and go to state 135 state 122 68 MkDictPair: '(' Exp ')' . ':' ExpD ':' shift, and go to state 136 state 123 41 ExpD: ExpD . '|' ExpD 66 MkDictPair: String ':' ExpD . '|' shift, and go to state 134 $default reduce using rule 66 (MkDictPair) state 124 63 MkDict: MkDictPair ',' MkDict . $default reduce using rule 63 (MkDict) state 125 6 Exp: Term "as" '$' IDENT . '|' Exp '|' shift, and go to state 137 state 126 59 Term: Term '[' error ']' . $default reduce using rule 59 (Term) state 127 46 Term: Term '[' Exp ']' . $default reduce using rule 46 (Term) state 128 34 FuncDef: "def" IDENT ':' Exp ';' . $default reduce using rule 34 (FuncDef) state 129 35 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';' ':' shift, and go to state 138 state 130 40 ElseBody: "else" . Exp "end" IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 139 String go to state 14 FuncDef go to state 20 Term go to state 16 state 131 39 ElseBody: "elif" . Exp "then" Exp ElseBody IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 140 String go to state 14 FuncDef go to state 20 Term go to state 16 state 132 7 Exp: "if" Exp "then" Exp ElseBody . $default reduce using rule 7 (Exp) state 133 38 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END . $default reduce using rule 38 (QQString) state 134 41 ExpD: ExpD '|' . ExpD IDENT shift, and go to state 1 LITERAL shift, and go to state 2 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 String go to state 14 ExpD go to state 141 Term go to state 120 state 135 69 MkDictPair: '(' error ')' ':' . ExpD IDENT shift, and go to state 1 LITERAL shift, and go to state 2 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 String go to state 14 ExpD go to state 142 Term go to state 120 state 136 68 MkDictPair: '(' Exp ')' ':' . ExpD IDENT shift, and go to state 1 LITERAL shift, and go to state 2 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 String go to state 14 ExpD go to state 143 Term go to state 120 state 137 6 Exp: Term "as" '$' IDENT '|' . Exp IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 144 String go to state 14 FuncDef go to state 20 Term go to state 16 state 138 35 FuncDef: "def" IDENT '(' IDENT ')' ':' . Exp ';' IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 145 String go to state 14 FuncDef go to state 20 Term go to state 16 state 139 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 40 ElseBody: "else" Exp . "end" "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "end" shift, and go to state 146 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 140 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 39 ElseBody: "elif" Exp . "then" Exp ElseBody "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "then" shift, and go to state 147 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 141 41 ExpD: ExpD . '|' ExpD 41 | ExpD '|' ExpD . $default reduce using rule 41 (ExpD) state 142 41 ExpD: ExpD . '|' ExpD 69 MkDictPair: '(' error ')' ':' ExpD . '|' shift, and go to state 134 $default reduce using rule 69 (MkDictPair) state 143 41 ExpD: ExpD . '|' ExpD 68 MkDictPair: '(' Exp ')' ':' ExpD . '|' shift, and go to state 134 $default reduce using rule 68 (MkDictPair) state 144 6 Exp: Term "as" '$' IDENT '|' Exp . 9 | Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 6 (Exp) state 145 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp . ';' "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 ';' shift, and go to state 148 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 state 146 40 ElseBody: "else" Exp "end" . $default reduce using rule 40 (ElseBody) state 147 39 ElseBody: "elif" Exp "then" . Exp ElseBody IDENT shift, and go to state 1 LITERAL shift, and go to state 2 "def" shift, and go to state 3 "if" shift, and go to state 4 QQSTRING_START shift, and go to state 5 '$' shift, and go to state 6 '(' shift, and go to state 7 '.' shift, and go to state 8 '[' shift, and go to state 9 '{' shift, and go to state 10 Exp go to state 149 String go to state 14 FuncDef go to state 20 Term go to state 16 state 148 35 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' . $default reduce using rule 35 (FuncDef) state 149 9 Exp: Exp . '=' Exp 10 | Exp . "or" Exp 11 | Exp . "and" Exp 12 | Exp . "//" Exp 13 | Exp . "//=" Exp 14 | Exp . "|=" Exp 15 | Exp . '|' Exp 16 | Exp . ',' Exp 17 | Exp . '+' Exp 18 | Exp . "+=" Exp 19 | Exp . '-' Exp 20 | Exp . "-=" Exp 21 | Exp . '*' Exp 22 | Exp . "*=" Exp 23 | Exp . '/' Exp 24 | Exp . "/=" Exp 25 | Exp . "==" Exp 26 | Exp . "!=" Exp 27 | Exp . '<' Exp 28 | Exp . '>' Exp 29 | Exp . "<=" Exp 30 | Exp . ">=" Exp 31 | Exp . "contains" Exp 39 ElseBody: "elif" Exp "then" Exp . ElseBody "==" shift, and go to state 36 "!=" shift, and go to state 37 "//" shift, and go to state 38 "else" shift, and go to state 130 "elif" shift, and go to state 131 "and" shift, and go to state 39 "or" shift, and go to state 40 "|=" shift, and go to state 41 "+=" shift, and go to state 42 "-=" shift, and go to state 43 "*=" shift, and go to state 44 "/=" shift, and go to state 45 "//=" shift, and go to state 46 "<=" shift, and go to state 47 ">=" shift, and go to state 48 "contains" shift, and go to state 49 '|' shift, and go to state 50 ',' shift, and go to state 51 '=' shift, and go to state 52 '<' shift, and go to state 53 '>' shift, and go to state 54 '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 ElseBody go to state 150 state 150 39 ElseBody: "elif" Exp "then" Exp ElseBody . $default reduce using rule 39 (ElseBody)