3556 lines
92 KiB
Plaintext
3556 lines
92 KiB
Plaintext
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 | String
|
|
33 | Term
|
|
|
|
34 String: QQSTRING_START QQString QQSTRING_END
|
|
|
|
35 FuncDef: "def" IDENT ':' Exp ';'
|
|
36 | "def" IDENT '(' IDENT ')' ':' Exp ';'
|
|
|
|
37 QQString: /* empty */
|
|
38 | QQString QQSTRING_TEXT
|
|
39 | QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END
|
|
|
|
40 ElseBody: "elif" Exp "then" Exp ElseBody
|
|
41 | "else" Exp "end"
|
|
|
|
42 ExpD: ExpD '|' ExpD
|
|
43 | Term
|
|
|
|
44 Term: '.'
|
|
45 | Term '.' IDENT
|
|
46 | '.' IDENT
|
|
47 | Term '[' Exp ']'
|
|
48 | Term '[' ']'
|
|
49 | LITERAL
|
|
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) 36 50 56 57 68 69
|
|
')' (41) 36 50 56 57 68 69
|
|
'*' (42) 21
|
|
'+' (43) 17
|
|
',' (44) 16 63 64
|
|
'-' (45) 19
|
|
'.' (46) 44 45 46
|
|
'/' (47) 23
|
|
':' (58) 35 36 65 66 68 69
|
|
';' (59) 35 36
|
|
'<' (60) 27
|
|
'=' (61) 9
|
|
'>' (62) 28
|
|
'[' (91) 47 48 51 52 58 59
|
|
']' (93) 47 48 51 52 58 59
|
|
'{' (123) 53 60
|
|
'|' (124) 6 15 42
|
|
'}' (125) 53 60
|
|
error (256) 8 57 58 59 60 64 69
|
|
INVALID_CHARACTER (258)
|
|
IDENT (259) 6 35 36 45 46 54 55 56 65 67
|
|
LITERAL (260) 49
|
|
"==" (261) 25
|
|
"!=" (262) 26
|
|
"//" (263) 12
|
|
"as" (264) 6
|
|
"def" (265) 35 36
|
|
"if" (266) 7 8
|
|
"then" (267) 7 40
|
|
"else" (268) 41
|
|
"elif" (269) 40
|
|
"end" (270) 41
|
|
"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) 34
|
|
QQSTRING_TEXT (283) 38
|
|
QQSTRING_INTERP_START (284) 39
|
|
QQSTRING_INTERP_END (285) 39
|
|
QQSTRING_END (286) 34
|
|
|
|
|
|
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 33, 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 35 36 39 40
|
|
41 47 50 51 56 68
|
|
String (55)
|
|
on left: 34, on right: 32 66
|
|
FuncDef (56)
|
|
on left: 35 36, on right: 4 5
|
|
QQString (57)
|
|
on left: 37 38 39, on right: 34 38 39
|
|
ElseBody (58)
|
|
on left: 40 41, on right: 7 40
|
|
ExpD (59)
|
|
on left: 42 43, on right: 42 65 66 68 69
|
|
Term (60)
|
|
on left: 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60, on right:
|
|
6 33 43 45 47 48 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
|
|
|
|
49 Term: LITERAL .
|
|
|
|
$default reduce using rule 49 (Term)
|
|
|
|
|
|
state 3
|
|
|
|
35 FuncDef: "def" . IDENT ':' Exp ';'
|
|
36 | "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
|
|
|
|
34 String: QQSTRING_START . QQString QQSTRING_END
|
|
|
|
$default reduce using rule 37 (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
|
|
|
|
44 Term: '.' .
|
|
46 | '.' . IDENT
|
|
|
|
IDENT shift, and go to state 25
|
|
|
|
$default reduce using rule 44 (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
|
|
|
|
32 Exp: String .
|
|
|
|
$default reduce using rule 32 (Exp)
|
|
|
|
|
|
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
|
|
33 | Term .
|
|
45 Term: Term . '.' IDENT
|
|
47 | Term . '[' Exp ']'
|
|
48 | 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 33 (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
|
|
|
|
35 FuncDef: "def" IDENT . ':' Exp ';'
|
|
36 | "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
|
|
|
|
34 String: QQSTRING_START QQString . QQSTRING_END
|
|
38 QQString: QQString . QQSTRING_TEXT
|
|
39 | 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
|
|
|
|
46 Term: '.' IDENT .
|
|
|
|
$default reduce using rule 46 (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
|
|
|
|
45 Term: Term '.' . IDENT
|
|
|
|
IDENT shift, and go to state 108
|
|
|
|
|
|
state 63
|
|
|
|
47 Term: Term '[' . Exp ']'
|
|
48 | 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
|
|
|
|
35 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
|
|
|
|
36 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
|
|
|
|
38 QQString: QQString QQSTRING_TEXT .
|
|
|
|
$default reduce using rule 38 (QQString)
|
|
|
|
|
|
state 70
|
|
|
|
39 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
|
|
|
|
34 String: QQSTRING_START QQString QQSTRING_END .
|
|
|
|
$default reduce using rule 34 (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
|
|
'$' 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
|
|
|
|
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
|
|
'$' 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
|
|
|
|
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
|
|
|
|
45 Term: Term '.' IDENT .
|
|
|
|
$default reduce using rule 45 (Term)
|
|
|
|
|
|
state 109
|
|
|
|
59 Term: Term '[' error . ']'
|
|
|
|
']' shift, and go to state 126
|
|
|
|
|
|
state 110
|
|
|
|
48 Term: Term '[' ']' .
|
|
|
|
$default reduce using rule 48 (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
|
|
47 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
|
|
35 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
|
|
|
|
36 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
|
|
39 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
|
|
|
|
42 ExpD: ExpD . '|' ExpD
|
|
65 MkDictPair: IDENT ':' ExpD .
|
|
|
|
'|' shift, and go to state 134
|
|
|
|
$default reduce using rule 65 (MkDictPair)
|
|
|
|
|
|
state 120
|
|
|
|
43 ExpD: Term .
|
|
45 Term: Term . '.' IDENT
|
|
47 | Term . '[' Exp ']'
|
|
48 | Term . '[' ']'
|
|
59 | Term . '[' error ']'
|
|
|
|
'.' shift, and go to state 62
|
|
'[' shift, and go to state 63
|
|
|
|
$default reduce using rule 43 (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
|
|
|
|
42 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
|
|
|
|
47 Term: Term '[' Exp ']' .
|
|
|
|
$default reduce using rule 47 (Term)
|
|
|
|
|
|
state 128
|
|
|
|
35 FuncDef: "def" IDENT ':' Exp ';' .
|
|
|
|
$default reduce using rule 35 (FuncDef)
|
|
|
|
|
|
state 129
|
|
|
|
36 FuncDef: "def" IDENT '(' IDENT ')' . ':' Exp ';'
|
|
|
|
':' shift, and go to state 138
|
|
|
|
|
|
state 130
|
|
|
|
41 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
|
|
|
|
40 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
|
|
|
|
39 QQString: QQString QQSTRING_INTERP_START Exp QQSTRING_INTERP_END .
|
|
|
|
$default reduce using rule 39 (QQString)
|
|
|
|
|
|
state 134
|
|
|
|
42 ExpD: ExpD '|' . ExpD
|
|
|
|
IDENT shift, and go to state 1
|
|
LITERAL shift, and go to state 2
|
|
'$' 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
|
|
|
|
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
|
|
'$' 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
|
|
|
|
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
|
|
'$' 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
|
|
|
|
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
|
|
|
|
36 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
|
|
41 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
|
|
40 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
|
|
|
|
42 ExpD: ExpD . '|' ExpD
|
|
42 | ExpD '|' ExpD .
|
|
|
|
$default reduce using rule 42 (ExpD)
|
|
|
|
|
|
state 142
|
|
|
|
42 ExpD: ExpD . '|' ExpD
|
|
69 MkDictPair: '(' error ')' ':' ExpD .
|
|
|
|
'|' shift, and go to state 134
|
|
|
|
$default reduce using rule 69 (MkDictPair)
|
|
|
|
|
|
state 143
|
|
|
|
42 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
|
|
36 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
|
|
|
|
41 ElseBody: "else" Exp "end" .
|
|
|
|
$default reduce using rule 41 (ElseBody)
|
|
|
|
|
|
state 147
|
|
|
|
40 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
|
|
|
|
36 FuncDef: "def" IDENT '(' IDENT ')' ':' Exp ';' .
|
|
|
|
$default reduce using rule 36 (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
|
|
40 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
|
|
|
|
40 ElseBody: "elif" Exp "then" Exp ElseBody .
|
|
|
|
$default reduce using rule 40 (ElseBody)
|