summaryrefslogtreecommitdiff
path: root/frontend/parser.automaton
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/parser.automaton')
-rw-r--r--frontend/parser.automaton1577
1 files changed, 1577 insertions, 0 deletions
diff --git a/frontend/parser.automaton b/frontend/parser.automaton
new file mode 100644
index 0000000..dff892b
--- /dev/null
+++ b/frontend/parser.automaton
@@ -0,0 +1,1577 @@
+State 0:
+file' -> . file [ # ]
+-- On NODE shift to state 1
+-- On CONST shift to state 103
+-- On toplevel shift to state 109
+-- On node_decl shift to state 110
+-- On list(toplevel) shift to state 113
+-- On file shift to state 115
+-- On const_decl shift to state 112
+-- On EOF reduce production list(toplevel) ->
+
+State 1:
+node_decl -> NODE . IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On IDENT shift to state 2
+
+State 2:
+node_decl -> NODE IDENT . LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On LPAREN shift to state 3
+
+State 3:
+node_decl -> NODE IDENT LPAREN . vars RPAREN RETURNS vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On IDENT shift to state 4
+-- On vars shift to state 10
+-- On var shift to state 98
+-- On separated_nonempty_list(SEMICOLON,var) shift to state 101
+-- On loption(separated_nonempty_list(SEMICOLON,var)) shift to state 102
+-- On RPAREN reduce production loption(separated_nonempty_list(SEMICOLON,var)) ->
+
+State 4:
+var -> IDENT . COLON typ [ SEMICOLON RPAREN ]
+-- On COLON shift to state 5
+
+State 5:
+var -> IDENT COLON . typ [ SEMICOLON RPAREN ]
+-- On REAL shift to state 6
+-- On INT shift to state 7
+-- On BOOL shift to state 8
+-- On typ shift to state 9
+
+State 6:
+typ -> REAL . [ SEMICOLON RPAREN EQUAL ]
+-- On SEMICOLON reduce production typ -> REAL
+-- On RPAREN reduce production typ -> REAL
+-- On EQUAL reduce production typ -> REAL
+
+State 7:
+typ -> INT . [ SEMICOLON RPAREN EQUAL ]
+-- On SEMICOLON reduce production typ -> INT
+-- On RPAREN reduce production typ -> INT
+-- On EQUAL reduce production typ -> INT
+
+State 8:
+typ -> BOOL . [ SEMICOLON RPAREN EQUAL ]
+-- On SEMICOLON reduce production typ -> BOOL
+-- On RPAREN reduce production typ -> BOOL
+-- On EQUAL reduce production typ -> BOOL
+
+State 9:
+var -> IDENT COLON typ . [ SEMICOLON RPAREN ]
+-- On SEMICOLON reduce production var -> IDENT COLON typ
+-- On RPAREN reduce production var -> IDENT COLON typ
+
+State 10:
+node_decl -> NODE IDENT LPAREN vars . RPAREN RETURNS vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On RPAREN shift to state 11
+
+State 11:
+node_decl -> NODE IDENT LPAREN vars RPAREN . RETURNS vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On RETURNS shift to state 12
+
+State 12:
+node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS . vars RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On IDENT shift to state 4
+-- On vars shift to state 13
+-- On var shift to state 98
+-- On separated_nonempty_list(SEMICOLON,var) shift to state 101
+-- On loption(separated_nonempty_list(SEMICOLON,var)) shift to state 102
+-- On RPAREN reduce production loption(separated_nonempty_list(SEMICOLON,var)) ->
+
+State 13:
+node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars . RPAREN var_decl dbody [ NODE EOF CONST ]
+-- On RPAREN shift to state 14
+
+State 14:
+node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN . var_decl dbody [ NODE EOF CONST ]
+-- On VAR shift to state 15
+-- On var_decl shift to state 20
+-- On LET reduce production var_decl ->
+-- On IDENT reduce production var_decl ->
+-- On GUARANTEE reduce production var_decl ->
+-- On ASSUME reduce production var_decl ->
+
+State 15:
+var_decl -> VAR . nonempty_list(terminated(var,SEMICOLON)) [ LET IDENT GUARANTEE ASSUME ]
+-- On IDENT shift to state 4
+-- On var shift to state 16
+-- On nonempty_list(terminated(var,SEMICOLON)) shift to state 19
+
+State 16:
+nonempty_list(terminated(var,SEMICOLON)) -> var . SEMICOLON [ LET IDENT GUARANTEE ASSUME ]
+nonempty_list(terminated(var,SEMICOLON)) -> var . SEMICOLON nonempty_list(terminated(var,SEMICOLON)) [ LET IDENT GUARANTEE ASSUME ]
+-- On SEMICOLON shift to state 17
+
+State 17:
+nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON . [ LET IDENT GUARANTEE ASSUME ]
+nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON . nonempty_list(terminated(var,SEMICOLON)) [ LET IDENT GUARANTEE ASSUME ]
+-- On IDENT shift to state 4
+-- On var shift to state 16
+-- On nonempty_list(terminated(var,SEMICOLON)) shift to state 18
+-- On LET reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON
+-- On IDENT reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON
+-- On GUARANTEE reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON
+-- On ASSUME reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON
+** Conflict on IDENT
+
+State 18:
+nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON nonempty_list(terminated(var,SEMICOLON)) . [ LET IDENT GUARANTEE ASSUME ]
+-- On LET reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON nonempty_list(terminated(var,SEMICOLON))
+-- On IDENT reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON nonempty_list(terminated(var,SEMICOLON))
+-- On GUARANTEE reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON nonempty_list(terminated(var,SEMICOLON))
+-- On ASSUME reduce production nonempty_list(terminated(var,SEMICOLON)) -> var SEMICOLON nonempty_list(terminated(var,SEMICOLON))
+
+State 19:
+var_decl -> VAR nonempty_list(terminated(var,SEMICOLON)) . [ LET IDENT GUARANTEE ASSUME ]
+-- On LET reduce production var_decl -> VAR nonempty_list(terminated(var,SEMICOLON))
+-- On IDENT reduce production var_decl -> VAR nonempty_list(terminated(var,SEMICOLON))
+-- On GUARANTEE reduce production var_decl -> VAR nonempty_list(terminated(var,SEMICOLON))
+-- On ASSUME reduce production var_decl -> VAR nonempty_list(terminated(var,SEMICOLON))
+
+State 20:
+node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl . dbody [ NODE EOF CONST ]
+-- On LET shift to state 21
+-- On IDENT shift to state 22
+-- On GUARANTEE shift to state 23
+-- On ASSUME shift to state 83
+-- On lvalue shift to state 89
+-- On eqn shift to state 95
+-- On dbody shift to state 97
+
+State 21:
+dbody -> LET . separated_nonempty_list(SEMICOLON,ext(eqn)) TEL [ NODE EOF CONST ]
+-- On IDENT shift to state 22
+-- On GUARANTEE shift to state 23
+-- On ASSUME shift to state 83
+-- On separated_nonempty_list(SEMICOLON,ext(eqn)) shift to state 87
+-- On lvalue shift to state 89
+-- On eqn shift to state 92
+
+State 22:
+lvalue -> IDENT . [ EQUAL ]
+-- On EQUAL reduce production lvalue -> IDENT
+
+State 23:
+eqn -> GUARANTEE . IDENT COLON expr [ TEL SEMICOLON ]
+-- On IDENT shift to state 24
+
+State 24:
+eqn -> GUARANTEE IDENT . COLON expr [ TEL SEMICOLON ]
+-- On COLON shift to state 25
+
+State 25:
+eqn -> GUARANTEE IDENT COLON . expr [ TEL SEMICOLON ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 82
+-- On binary_expr shift to state 45
+
+State 26:
+primary_expr -> TRUE . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production primary_expr -> TRUE
+-- On TEL reduce production primary_expr -> TRUE
+-- On STAR reduce production primary_expr -> TRUE
+-- On SEMICOLON reduce production primary_expr -> TRUE
+-- On RPAREN reduce production primary_expr -> TRUE
+-- On PLUS reduce production primary_expr -> TRUE
+-- On PERCENT reduce production primary_expr -> TRUE
+-- On NOT_EQUAL reduce production primary_expr -> TRUE
+-- On NODE reduce production primary_expr -> TRUE
+-- On MINUS reduce production primary_expr -> TRUE
+-- On LESS_EQUAL reduce production primary_expr -> TRUE
+-- On LESS reduce production primary_expr -> TRUE
+-- On GREATER_EQUAL reduce production primary_expr -> TRUE
+-- On GREATER reduce production primary_expr -> TRUE
+-- On EQUAL_EQUAL reduce production primary_expr -> TRUE
+-- On EOF reduce production primary_expr -> TRUE
+-- On ELSE reduce production primary_expr -> TRUE
+-- On DIVIDE reduce production primary_expr -> TRUE
+-- On CONST reduce production primary_expr -> TRUE
+-- On COMMA reduce production primary_expr -> TRUE
+-- On BAR_BAR reduce production primary_expr -> TRUE
+-- On AND_AND reduce production primary_expr -> TRUE
+
+State 27:
+unary_expr -> PLUS . unary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 81
+-- On primary_expr shift to state 38
+
+State 28:
+unary_expr -> NOT . unary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 80
+-- On primary_expr shift to state 38
+
+State 29:
+unary_expr -> MINUS . unary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 79
+-- On primary_expr shift to state 38
+
+State 30:
+primary_expr -> LPAREN . expr RPAREN [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 77
+-- On binary_expr shift to state 45
+
+State 31:
+primary_expr -> INTVAL . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production primary_expr -> INTVAL
+-- On TEL reduce production primary_expr -> INTVAL
+-- On STAR reduce production primary_expr -> INTVAL
+-- On SEMICOLON reduce production primary_expr -> INTVAL
+-- On RPAREN reduce production primary_expr -> INTVAL
+-- On PLUS reduce production primary_expr -> INTVAL
+-- On PERCENT reduce production primary_expr -> INTVAL
+-- On NOT_EQUAL reduce production primary_expr -> INTVAL
+-- On NODE reduce production primary_expr -> INTVAL
+-- On MINUS reduce production primary_expr -> INTVAL
+-- On LESS_EQUAL reduce production primary_expr -> INTVAL
+-- On LESS reduce production primary_expr -> INTVAL
+-- On GREATER_EQUAL reduce production primary_expr -> INTVAL
+-- On GREATER reduce production primary_expr -> INTVAL
+-- On EQUAL_EQUAL reduce production primary_expr -> INTVAL
+-- On EOF reduce production primary_expr -> INTVAL
+-- On ELSE reduce production primary_expr -> INTVAL
+-- On DIVIDE reduce production primary_expr -> INTVAL
+-- On CONST reduce production primary_expr -> INTVAL
+-- On COMMA reduce production primary_expr -> INTVAL
+-- On BAR_BAR reduce production primary_expr -> INTVAL
+-- On AND_AND reduce production primary_expr -> INTVAL
+
+State 32:
+if_expr -> IF . expr THEN expr ELSE expr [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 72
+-- On binary_expr shift to state 45
+
+State 33:
+primary_expr -> IDENT . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+primary_expr -> IDENT . LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On LPAREN shift to state 34
+-- On THEN reduce production primary_expr -> IDENT
+-- On TEL reduce production primary_expr -> IDENT
+-- On STAR reduce production primary_expr -> IDENT
+-- On SEMICOLON reduce production primary_expr -> IDENT
+-- On RPAREN reduce production primary_expr -> IDENT
+-- On PLUS reduce production primary_expr -> IDENT
+-- On PERCENT reduce production primary_expr -> IDENT
+-- On NOT_EQUAL reduce production primary_expr -> IDENT
+-- On NODE reduce production primary_expr -> IDENT
+-- On MINUS reduce production primary_expr -> IDENT
+-- On LESS_EQUAL reduce production primary_expr -> IDENT
+-- On LESS reduce production primary_expr -> IDENT
+-- On GREATER_EQUAL reduce production primary_expr -> IDENT
+-- On GREATER reduce production primary_expr -> IDENT
+-- On EQUAL_EQUAL reduce production primary_expr -> IDENT
+-- On EOF reduce production primary_expr -> IDENT
+-- On ELSE reduce production primary_expr -> IDENT
+-- On DIVIDE reduce production primary_expr -> IDENT
+-- On CONST reduce production primary_expr -> IDENT
+-- On COMMA reduce production primary_expr -> IDENT
+-- On BAR_BAR reduce production primary_expr -> IDENT
+-- On AND_AND reduce production primary_expr -> IDENT
+
+State 34:
+primary_expr -> IDENT LPAREN . loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On separated_nonempty_list(COMMA,ext(expr)) shift to state 37
+-- On primary_expr shift to state 38
+-- On loption(separated_nonempty_list(COMMA,ext(expr))) shift to state 39
+-- On if_expr shift to state 41
+-- On expr shift to state 42
+-- On binary_expr shift to state 45
+-- On RPAREN reduce production loption(separated_nonempty_list(COMMA,ext(expr))) ->
+
+State 35:
+primary_expr -> FALSE . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production primary_expr -> FALSE
+-- On TEL reduce production primary_expr -> FALSE
+-- On STAR reduce production primary_expr -> FALSE
+-- On SEMICOLON reduce production primary_expr -> FALSE
+-- On RPAREN reduce production primary_expr -> FALSE
+-- On PLUS reduce production primary_expr -> FALSE
+-- On PERCENT reduce production primary_expr -> FALSE
+-- On NOT_EQUAL reduce production primary_expr -> FALSE
+-- On NODE reduce production primary_expr -> FALSE
+-- On MINUS reduce production primary_expr -> FALSE
+-- On LESS_EQUAL reduce production primary_expr -> FALSE
+-- On LESS reduce production primary_expr -> FALSE
+-- On GREATER_EQUAL reduce production primary_expr -> FALSE
+-- On GREATER reduce production primary_expr -> FALSE
+-- On EQUAL_EQUAL reduce production primary_expr -> FALSE
+-- On EOF reduce production primary_expr -> FALSE
+-- On ELSE reduce production primary_expr -> FALSE
+-- On DIVIDE reduce production primary_expr -> FALSE
+-- On CONST reduce production primary_expr -> FALSE
+-- On COMMA reduce production primary_expr -> FALSE
+-- On BAR_BAR reduce production primary_expr -> FALSE
+-- On AND_AND reduce production primary_expr -> FALSE
+
+State 36:
+binary_expr -> unary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production binary_expr -> unary_expr
+-- On TEL reduce production binary_expr -> unary_expr
+-- On STAR reduce production binary_expr -> unary_expr
+-- On SEMICOLON reduce production binary_expr -> unary_expr
+-- On RPAREN reduce production binary_expr -> unary_expr
+-- On PLUS reduce production binary_expr -> unary_expr
+-- On PERCENT reduce production binary_expr -> unary_expr
+-- On NOT_EQUAL reduce production binary_expr -> unary_expr
+-- On NODE reduce production binary_expr -> unary_expr
+-- On MINUS reduce production binary_expr -> unary_expr
+-- On LESS_EQUAL reduce production binary_expr -> unary_expr
+-- On LESS reduce production binary_expr -> unary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> unary_expr
+-- On GREATER reduce production binary_expr -> unary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> unary_expr
+-- On EOF reduce production binary_expr -> unary_expr
+-- On ELSE reduce production binary_expr -> unary_expr
+-- On DIVIDE reduce production binary_expr -> unary_expr
+-- On CONST reduce production binary_expr -> unary_expr
+-- On COMMA reduce production binary_expr -> unary_expr
+-- On BAR_BAR reduce production binary_expr -> unary_expr
+-- On AND_AND reduce production binary_expr -> unary_expr
+
+State 37:
+loption(separated_nonempty_list(COMMA,ext(expr))) -> separated_nonempty_list(COMMA,ext(expr)) . [ RPAREN ]
+-- On RPAREN reduce production loption(separated_nonempty_list(COMMA,ext(expr))) -> separated_nonempty_list(COMMA,ext(expr))
+
+State 38:
+unary_expr -> primary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production unary_expr -> primary_expr
+-- On TEL reduce production unary_expr -> primary_expr
+-- On STAR reduce production unary_expr -> primary_expr
+-- On SEMICOLON reduce production unary_expr -> primary_expr
+-- On RPAREN reduce production unary_expr -> primary_expr
+-- On PLUS reduce production unary_expr -> primary_expr
+-- On PERCENT reduce production unary_expr -> primary_expr
+-- On NOT_EQUAL reduce production unary_expr -> primary_expr
+-- On NODE reduce production unary_expr -> primary_expr
+-- On MINUS reduce production unary_expr -> primary_expr
+-- On LESS_EQUAL reduce production unary_expr -> primary_expr
+-- On LESS reduce production unary_expr -> primary_expr
+-- On GREATER_EQUAL reduce production unary_expr -> primary_expr
+-- On GREATER reduce production unary_expr -> primary_expr
+-- On EQUAL_EQUAL reduce production unary_expr -> primary_expr
+-- On EOF reduce production unary_expr -> primary_expr
+-- On ELSE reduce production unary_expr -> primary_expr
+-- On DIVIDE reduce production unary_expr -> primary_expr
+-- On CONST reduce production unary_expr -> primary_expr
+-- On COMMA reduce production unary_expr -> primary_expr
+-- On BAR_BAR reduce production unary_expr -> primary_expr
+-- On AND_AND reduce production unary_expr -> primary_expr
+
+State 39:
+primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) . RPAREN [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On RPAREN shift to state 40
+
+State 40:
+primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On TEL reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On STAR reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On SEMICOLON reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On RPAREN reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On PLUS reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On PERCENT reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On NOT_EQUAL reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On NODE reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On MINUS reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On LESS_EQUAL reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On LESS reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On GREATER_EQUAL reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On GREATER reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On EQUAL_EQUAL reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On EOF reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On ELSE reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On DIVIDE reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On CONST reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On COMMA reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On BAR_BAR reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+-- On AND_AND reduce production primary_expr -> IDENT LPAREN loption(separated_nonempty_list(COMMA,ext(expr))) RPAREN
+
+State 41:
+expr -> if_expr . [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On THEN reduce production expr -> if_expr
+-- On TEL reduce production expr -> if_expr
+-- On SEMICOLON reduce production expr -> if_expr
+-- On RPAREN reduce production expr -> if_expr
+-- On NODE reduce production expr -> if_expr
+-- On EOF reduce production expr -> if_expr
+-- On ELSE reduce production expr -> if_expr
+-- On CONST reduce production expr -> if_expr
+-- On COMMA reduce production expr -> if_expr
+
+State 42:
+separated_nonempty_list(COMMA,ext(expr)) -> expr . [ RPAREN ]
+separated_nonempty_list(COMMA,ext(expr)) -> expr . COMMA separated_nonempty_list(COMMA,ext(expr)) [ RPAREN ]
+-- On COMMA shift to state 43
+-- On RPAREN reduce production separated_nonempty_list(COMMA,ext(expr)) -> expr
+
+State 43:
+separated_nonempty_list(COMMA,ext(expr)) -> expr COMMA . separated_nonempty_list(COMMA,ext(expr)) [ RPAREN ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On separated_nonempty_list(COMMA,ext(expr)) shift to state 44
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 42
+-- On binary_expr shift to state 45
+
+State 44:
+separated_nonempty_list(COMMA,ext(expr)) -> expr COMMA separated_nonempty_list(COMMA,ext(expr)) . [ RPAREN ]
+-- On RPAREN reduce production separated_nonempty_list(COMMA,ext(expr)) -> expr COMMA separated_nonempty_list(COMMA,ext(expr))
+
+State 45:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+if_expr -> binary_expr . [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On NOT_EQUAL shift to state 54
+-- On MINUS shift to state 56
+-- On LESS_EQUAL shift to state 58
+-- On LESS shift to state 60
+-- On GREATER_EQUAL shift to state 62
+-- On GREATER shift to state 64
+-- On EQUAL_EQUAL shift to state 66
+-- On DIVIDE shift to state 52
+-- On BAR_BAR shift to state 68
+-- On AND_AND shift to state 70
+-- On THEN reduce production if_expr -> binary_expr
+-- On TEL reduce production if_expr -> binary_expr
+-- On SEMICOLON reduce production if_expr -> binary_expr
+-- On RPAREN reduce production if_expr -> binary_expr
+-- On NODE reduce production if_expr -> binary_expr
+-- On EOF reduce production if_expr -> binary_expr
+-- On ELSE reduce production if_expr -> binary_expr
+-- On CONST reduce production if_expr -> binary_expr
+-- On COMMA reduce production if_expr -> binary_expr
+
+State 46:
+binary_expr -> binary_expr STAR . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 47
+
+State 47:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr STAR binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production binary_expr -> binary_expr STAR binary_expr
+-- On TEL reduce production binary_expr -> binary_expr STAR binary_expr
+-- On STAR reduce production binary_expr -> binary_expr STAR binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr STAR binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr STAR binary_expr
+-- On PLUS reduce production binary_expr -> binary_expr STAR binary_expr
+-- On PERCENT reduce production binary_expr -> binary_expr STAR binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr STAR binary_expr
+-- On NODE reduce production binary_expr -> binary_expr STAR binary_expr
+-- On MINUS reduce production binary_expr -> binary_expr STAR binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr STAR binary_expr
+-- On LESS reduce production binary_expr -> binary_expr STAR binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr STAR binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr STAR binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr STAR binary_expr
+-- On EOF reduce production binary_expr -> binary_expr STAR binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr STAR binary_expr
+-- On DIVIDE reduce production binary_expr -> binary_expr STAR binary_expr
+-- On CONST reduce production binary_expr -> binary_expr STAR binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr STAR binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr STAR binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr STAR binary_expr
+
+State 48:
+binary_expr -> binary_expr PLUS . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 49
+
+State 49:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr PLUS binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PERCENT shift to state 50
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On TEL reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On PLUS reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On NODE reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On MINUS reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On LESS reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On EOF reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On CONST reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr PLUS binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr PLUS binary_expr
+
+State 50:
+binary_expr -> binary_expr PERCENT . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 51
+
+State 51:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr PERCENT binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On TEL reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On STAR reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On PLUS reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On PERCENT reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On NODE reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On MINUS reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On LESS reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On EOF reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On DIVIDE reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On CONST reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr PERCENT binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr PERCENT binary_expr
+
+State 52:
+binary_expr -> binary_expr DIVIDE . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 53
+
+State 53:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr DIVIDE binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On TEL reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On STAR reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On PLUS reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On PERCENT reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On NODE reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On MINUS reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On LESS reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On EOF reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On DIVIDE reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On CONST reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr DIVIDE binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr DIVIDE binary_expr
+
+State 54:
+binary_expr -> binary_expr NOT_EQUAL . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 55
+
+State 55:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr NOT_EQUAL binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On LESS_EQUAL shift to state 58
+-- On LESS shift to state 60
+-- On GREATER_EQUAL shift to state 62
+-- On GREATER shift to state 64
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On TEL reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On NODE reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On EOF reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On CONST reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr NOT_EQUAL binary_expr
+
+State 56:
+binary_expr -> binary_expr MINUS . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 57
+
+State 57:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr MINUS binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PERCENT shift to state 50
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On TEL reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On PLUS reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On NODE reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On MINUS reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On LESS reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On EOF reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On CONST reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr MINUS binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr MINUS binary_expr
+
+State 58:
+binary_expr -> binary_expr LESS_EQUAL . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 59
+
+State 59:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr LESS_EQUAL binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On TEL reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On NODE reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On LESS reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On EOF reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On CONST reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr LESS_EQUAL binary_expr
+
+State 60:
+binary_expr -> binary_expr LESS . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 61
+
+State 61:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr LESS binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr LESS binary_expr
+-- On TEL reduce production binary_expr -> binary_expr LESS binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr LESS binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr LESS binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr LESS binary_expr
+-- On NODE reduce production binary_expr -> binary_expr LESS binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr LESS binary_expr
+-- On LESS reduce production binary_expr -> binary_expr LESS binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr LESS binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr LESS binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr LESS binary_expr
+-- On EOF reduce production binary_expr -> binary_expr LESS binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr LESS binary_expr
+-- On CONST reduce production binary_expr -> binary_expr LESS binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr LESS binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr LESS binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr LESS binary_expr
+
+State 62:
+binary_expr -> binary_expr GREATER_EQUAL . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 63
+
+State 63:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr GREATER_EQUAL binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On TEL reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On NODE reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On LESS reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On EOF reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On CONST reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr GREATER_EQUAL binary_expr
+
+State 64:
+binary_expr -> binary_expr GREATER . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 65
+
+State 65:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr GREATER binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On TEL reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On NODE reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On LESS_EQUAL reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On LESS reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On GREATER_EQUAL reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On GREATER reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On EOF reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On CONST reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr GREATER binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr GREATER binary_expr
+
+State 66:
+binary_expr -> binary_expr EQUAL_EQUAL . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 67
+
+State 67:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr EQUAL_EQUAL binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On MINUS shift to state 56
+-- On LESS_EQUAL shift to state 58
+-- On LESS shift to state 60
+-- On GREATER_EQUAL shift to state 62
+-- On GREATER shift to state 64
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On TEL reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On NOT_EQUAL reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On NODE reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On EQUAL_EQUAL reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On EOF reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On CONST reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr EQUAL_EQUAL binary_expr
+
+State 68:
+binary_expr -> binary_expr BAR_BAR . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 69
+
+State 69:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr BAR_BAR binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On NOT_EQUAL shift to state 54
+-- On MINUS shift to state 56
+-- On LESS_EQUAL shift to state 58
+-- On LESS shift to state 60
+-- On GREATER_EQUAL shift to state 62
+-- On GREATER shift to state 64
+-- On EQUAL_EQUAL shift to state 66
+-- On DIVIDE shift to state 52
+-- On AND_AND shift to state 70
+-- On THEN reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On TEL reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On NODE reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On EOF reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On CONST reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr BAR_BAR binary_expr
+
+State 70:
+binary_expr -> binary_expr AND_AND . binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On binary_expr shift to state 71
+
+State 71:
+binary_expr -> binary_expr . STAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . DIVIDE binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PERCENT binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . PLUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . MINUS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . LESS_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . GREATER_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . EQUAL_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . NOT_EQUAL binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . AND_AND binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr AND_AND binary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+binary_expr -> binary_expr . BAR_BAR binary_expr [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On STAR shift to state 46
+-- On PLUS shift to state 48
+-- On PERCENT shift to state 50
+-- On NOT_EQUAL shift to state 54
+-- On MINUS shift to state 56
+-- On LESS_EQUAL shift to state 58
+-- On LESS shift to state 60
+-- On GREATER_EQUAL shift to state 62
+-- On GREATER shift to state 64
+-- On EQUAL_EQUAL shift to state 66
+-- On DIVIDE shift to state 52
+-- On THEN reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On TEL reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On SEMICOLON reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On RPAREN reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On NODE reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On EOF reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On ELSE reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On CONST reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On COMMA reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On BAR_BAR reduce production binary_expr -> binary_expr AND_AND binary_expr
+-- On AND_AND reduce production binary_expr -> binary_expr AND_AND binary_expr
+
+State 72:
+if_expr -> IF expr . THEN expr ELSE expr [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On THEN shift to state 73
+
+State 73:
+if_expr -> IF expr THEN . expr ELSE expr [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 74
+-- On binary_expr shift to state 45
+
+State 74:
+if_expr -> IF expr THEN expr . ELSE expr [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On ELSE shift to state 75
+
+State 75:
+if_expr -> IF expr THEN expr ELSE . expr [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 76
+-- On binary_expr shift to state 45
+
+State 76:
+if_expr -> IF expr THEN expr ELSE expr . [ THEN TEL SEMICOLON RPAREN NODE EOF ELSE CONST COMMA ]
+-- On THEN reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On TEL reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On SEMICOLON reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On RPAREN reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On NODE reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On EOF reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On ELSE reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On CONST reduce production if_expr -> IF expr THEN expr ELSE expr
+-- On COMMA reduce production if_expr -> IF expr THEN expr ELSE expr
+
+State 77:
+primary_expr -> LPAREN expr . RPAREN [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On RPAREN shift to state 78
+
+State 78:
+primary_expr -> LPAREN expr RPAREN . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production primary_expr -> LPAREN expr RPAREN
+-- On TEL reduce production primary_expr -> LPAREN expr RPAREN
+-- On STAR reduce production primary_expr -> LPAREN expr RPAREN
+-- On SEMICOLON reduce production primary_expr -> LPAREN expr RPAREN
+-- On RPAREN reduce production primary_expr -> LPAREN expr RPAREN
+-- On PLUS reduce production primary_expr -> LPAREN expr RPAREN
+-- On PERCENT reduce production primary_expr -> LPAREN expr RPAREN
+-- On NOT_EQUAL reduce production primary_expr -> LPAREN expr RPAREN
+-- On NODE reduce production primary_expr -> LPAREN expr RPAREN
+-- On MINUS reduce production primary_expr -> LPAREN expr RPAREN
+-- On LESS_EQUAL reduce production primary_expr -> LPAREN expr RPAREN
+-- On LESS reduce production primary_expr -> LPAREN expr RPAREN
+-- On GREATER_EQUAL reduce production primary_expr -> LPAREN expr RPAREN
+-- On GREATER reduce production primary_expr -> LPAREN expr RPAREN
+-- On EQUAL_EQUAL reduce production primary_expr -> LPAREN expr RPAREN
+-- On EOF reduce production primary_expr -> LPAREN expr RPAREN
+-- On ELSE reduce production primary_expr -> LPAREN expr RPAREN
+-- On DIVIDE reduce production primary_expr -> LPAREN expr RPAREN
+-- On CONST reduce production primary_expr -> LPAREN expr RPAREN
+-- On COMMA reduce production primary_expr -> LPAREN expr RPAREN
+-- On BAR_BAR reduce production primary_expr -> LPAREN expr RPAREN
+-- On AND_AND reduce production primary_expr -> LPAREN expr RPAREN
+
+State 79:
+unary_expr -> MINUS unary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production unary_expr -> MINUS unary_expr
+-- On TEL reduce production unary_expr -> MINUS unary_expr
+-- On STAR reduce production unary_expr -> MINUS unary_expr
+-- On SEMICOLON reduce production unary_expr -> MINUS unary_expr
+-- On RPAREN reduce production unary_expr -> MINUS unary_expr
+-- On PLUS reduce production unary_expr -> MINUS unary_expr
+-- On PERCENT reduce production unary_expr -> MINUS unary_expr
+-- On NOT_EQUAL reduce production unary_expr -> MINUS unary_expr
+-- On NODE reduce production unary_expr -> MINUS unary_expr
+-- On MINUS reduce production unary_expr -> MINUS unary_expr
+-- On LESS_EQUAL reduce production unary_expr -> MINUS unary_expr
+-- On LESS reduce production unary_expr -> MINUS unary_expr
+-- On GREATER_EQUAL reduce production unary_expr -> MINUS unary_expr
+-- On GREATER reduce production unary_expr -> MINUS unary_expr
+-- On EQUAL_EQUAL reduce production unary_expr -> MINUS unary_expr
+-- On EOF reduce production unary_expr -> MINUS unary_expr
+-- On ELSE reduce production unary_expr -> MINUS unary_expr
+-- On DIVIDE reduce production unary_expr -> MINUS unary_expr
+-- On CONST reduce production unary_expr -> MINUS unary_expr
+-- On COMMA reduce production unary_expr -> MINUS unary_expr
+-- On BAR_BAR reduce production unary_expr -> MINUS unary_expr
+-- On AND_AND reduce production unary_expr -> MINUS unary_expr
+
+State 80:
+unary_expr -> NOT unary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production unary_expr -> NOT unary_expr
+-- On TEL reduce production unary_expr -> NOT unary_expr
+-- On STAR reduce production unary_expr -> NOT unary_expr
+-- On SEMICOLON reduce production unary_expr -> NOT unary_expr
+-- On RPAREN reduce production unary_expr -> NOT unary_expr
+-- On PLUS reduce production unary_expr -> NOT unary_expr
+-- On PERCENT reduce production unary_expr -> NOT unary_expr
+-- On NOT_EQUAL reduce production unary_expr -> NOT unary_expr
+-- On NODE reduce production unary_expr -> NOT unary_expr
+-- On MINUS reduce production unary_expr -> NOT unary_expr
+-- On LESS_EQUAL reduce production unary_expr -> NOT unary_expr
+-- On LESS reduce production unary_expr -> NOT unary_expr
+-- On GREATER_EQUAL reduce production unary_expr -> NOT unary_expr
+-- On GREATER reduce production unary_expr -> NOT unary_expr
+-- On EQUAL_EQUAL reduce production unary_expr -> NOT unary_expr
+-- On EOF reduce production unary_expr -> NOT unary_expr
+-- On ELSE reduce production unary_expr -> NOT unary_expr
+-- On DIVIDE reduce production unary_expr -> NOT unary_expr
+-- On CONST reduce production unary_expr -> NOT unary_expr
+-- On COMMA reduce production unary_expr -> NOT unary_expr
+-- On BAR_BAR reduce production unary_expr -> NOT unary_expr
+-- On AND_AND reduce production unary_expr -> NOT unary_expr
+
+State 81:
+unary_expr -> PLUS unary_expr . [ THEN TEL STAR SEMICOLON RPAREN PLUS PERCENT NOT_EQUAL NODE MINUS LESS_EQUAL LESS GREATER_EQUAL GREATER EQUAL_EQUAL EOF ELSE DIVIDE CONST COMMA BAR_BAR AND_AND ]
+-- On THEN reduce production unary_expr -> PLUS unary_expr
+-- On TEL reduce production unary_expr -> PLUS unary_expr
+-- On STAR reduce production unary_expr -> PLUS unary_expr
+-- On SEMICOLON reduce production unary_expr -> PLUS unary_expr
+-- On RPAREN reduce production unary_expr -> PLUS unary_expr
+-- On PLUS reduce production unary_expr -> PLUS unary_expr
+-- On PERCENT reduce production unary_expr -> PLUS unary_expr
+-- On NOT_EQUAL reduce production unary_expr -> PLUS unary_expr
+-- On NODE reduce production unary_expr -> PLUS unary_expr
+-- On MINUS reduce production unary_expr -> PLUS unary_expr
+-- On LESS_EQUAL reduce production unary_expr -> PLUS unary_expr
+-- On LESS reduce production unary_expr -> PLUS unary_expr
+-- On GREATER_EQUAL reduce production unary_expr -> PLUS unary_expr
+-- On GREATER reduce production unary_expr -> PLUS unary_expr
+-- On EQUAL_EQUAL reduce production unary_expr -> PLUS unary_expr
+-- On EOF reduce production unary_expr -> PLUS unary_expr
+-- On ELSE reduce production unary_expr -> PLUS unary_expr
+-- On DIVIDE reduce production unary_expr -> PLUS unary_expr
+-- On CONST reduce production unary_expr -> PLUS unary_expr
+-- On COMMA reduce production unary_expr -> PLUS unary_expr
+-- On BAR_BAR reduce production unary_expr -> PLUS unary_expr
+-- On AND_AND reduce production unary_expr -> PLUS unary_expr
+
+State 82:
+eqn -> GUARANTEE IDENT COLON expr . [ TEL SEMICOLON ]
+-- On TEL reduce production eqn -> GUARANTEE IDENT COLON expr
+-- On SEMICOLON reduce production eqn -> GUARANTEE IDENT COLON expr
+
+State 83:
+eqn -> ASSUME . IDENT COLON expr [ TEL SEMICOLON ]
+-- On IDENT shift to state 84
+
+State 84:
+eqn -> ASSUME IDENT . COLON expr [ TEL SEMICOLON ]
+-- On COLON shift to state 85
+
+State 85:
+eqn -> ASSUME IDENT COLON . expr [ TEL SEMICOLON ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 86
+-- On binary_expr shift to state 45
+
+State 86:
+eqn -> ASSUME IDENT COLON expr . [ TEL SEMICOLON ]
+-- On TEL reduce production eqn -> ASSUME IDENT COLON expr
+-- On SEMICOLON reduce production eqn -> ASSUME IDENT COLON expr
+
+State 87:
+dbody -> LET separated_nonempty_list(SEMICOLON,ext(eqn)) . TEL [ NODE EOF CONST ]
+-- On TEL shift to state 88
+
+State 88:
+dbody -> LET separated_nonempty_list(SEMICOLON,ext(eqn)) TEL . [ NODE EOF CONST ]
+-- On NODE reduce production dbody -> LET separated_nonempty_list(SEMICOLON,ext(eqn)) TEL
+-- On EOF reduce production dbody -> LET separated_nonempty_list(SEMICOLON,ext(eqn)) TEL
+-- On CONST reduce production dbody -> LET separated_nonempty_list(SEMICOLON,ext(eqn)) TEL
+
+State 89:
+eqn -> lvalue . EQUAL expr [ TEL SEMICOLON ]
+-- On EQUAL shift to state 90
+
+State 90:
+eqn -> lvalue EQUAL . expr [ TEL SEMICOLON ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 91
+-- On binary_expr shift to state 45
+
+State 91:
+eqn -> lvalue EQUAL expr . [ TEL SEMICOLON ]
+-- On TEL reduce production eqn -> lvalue EQUAL expr
+-- On SEMICOLON reduce production eqn -> lvalue EQUAL expr
+
+State 92:
+separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn . [ TEL ]
+separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn . SEMICOLON separated_nonempty_list(SEMICOLON,ext(eqn)) [ TEL ]
+-- On SEMICOLON shift to state 93
+-- On TEL reduce production separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn
+
+State 93:
+separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn SEMICOLON . separated_nonempty_list(SEMICOLON,ext(eqn)) [ TEL ]
+-- On IDENT shift to state 22
+-- On GUARANTEE shift to state 23
+-- On ASSUME shift to state 83
+-- On separated_nonempty_list(SEMICOLON,ext(eqn)) shift to state 94
+-- On lvalue shift to state 89
+-- On eqn shift to state 92
+
+State 94:
+separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn SEMICOLON separated_nonempty_list(SEMICOLON,ext(eqn)) . [ TEL ]
+-- On TEL reduce production separated_nonempty_list(SEMICOLON,ext(eqn)) -> eqn SEMICOLON separated_nonempty_list(SEMICOLON,ext(eqn))
+
+State 95:
+dbody -> eqn . SEMICOLON [ NODE EOF CONST ]
+-- On SEMICOLON shift to state 96
+
+State 96:
+dbody -> eqn SEMICOLON . [ NODE EOF CONST ]
+-- On NODE reduce production dbody -> eqn SEMICOLON
+-- On EOF reduce production dbody -> eqn SEMICOLON
+-- On CONST reduce production dbody -> eqn SEMICOLON
+
+State 97:
+node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody . [ NODE EOF CONST ]
+-- On NODE reduce production node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody
+-- On EOF reduce production node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody
+-- On CONST reduce production node_decl -> NODE IDENT LPAREN vars RPAREN RETURNS vars RPAREN var_decl dbody
+
+State 98:
+separated_nonempty_list(SEMICOLON,var) -> var . [ RPAREN ]
+separated_nonempty_list(SEMICOLON,var) -> var . SEMICOLON separated_nonempty_list(SEMICOLON,var) [ RPAREN ]
+-- On SEMICOLON shift to state 99
+-- On RPAREN reduce production separated_nonempty_list(SEMICOLON,var) -> var
+
+State 99:
+separated_nonempty_list(SEMICOLON,var) -> var SEMICOLON . separated_nonempty_list(SEMICOLON,var) [ RPAREN ]
+-- On IDENT shift to state 4
+-- On var shift to state 98
+-- On separated_nonempty_list(SEMICOLON,var) shift to state 100
+
+State 100:
+separated_nonempty_list(SEMICOLON,var) -> var SEMICOLON separated_nonempty_list(SEMICOLON,var) . [ RPAREN ]
+-- On RPAREN reduce production separated_nonempty_list(SEMICOLON,var) -> var SEMICOLON separated_nonempty_list(SEMICOLON,var)
+
+State 101:
+loption(separated_nonempty_list(SEMICOLON,var)) -> separated_nonempty_list(SEMICOLON,var) . [ RPAREN ]
+-- On RPAREN reduce production loption(separated_nonempty_list(SEMICOLON,var)) -> separated_nonempty_list(SEMICOLON,var)
+
+State 102:
+vars -> loption(separated_nonempty_list(SEMICOLON,var)) . [ RPAREN ]
+-- On RPAREN reduce production vars -> loption(separated_nonempty_list(SEMICOLON,var))
+
+State 103:
+const_decl -> CONST . IDENT COLON typ EQUAL expr [ NODE EOF CONST ]
+-- On IDENT shift to state 104
+
+State 104:
+const_decl -> CONST IDENT . COLON typ EQUAL expr [ NODE EOF CONST ]
+-- On COLON shift to state 105
+
+State 105:
+const_decl -> CONST IDENT COLON . typ EQUAL expr [ NODE EOF CONST ]
+-- On REAL shift to state 6
+-- On INT shift to state 7
+-- On BOOL shift to state 8
+-- On typ shift to state 106
+
+State 106:
+const_decl -> CONST IDENT COLON typ . EQUAL expr [ NODE EOF CONST ]
+-- On EQUAL shift to state 107
+
+State 107:
+const_decl -> CONST IDENT COLON typ EQUAL . expr [ NODE EOF CONST ]
+-- On TRUE shift to state 26
+-- On PLUS shift to state 27
+-- On NOT shift to state 28
+-- On MINUS shift to state 29
+-- On LPAREN shift to state 30
+-- On INTVAL shift to state 31
+-- On IF shift to state 32
+-- On IDENT shift to state 33
+-- On FALSE shift to state 35
+-- On unary_expr shift to state 36
+-- On primary_expr shift to state 38
+-- On if_expr shift to state 41
+-- On expr shift to state 108
+-- On binary_expr shift to state 45
+
+State 108:
+const_decl -> CONST IDENT COLON typ EQUAL expr . [ NODE EOF CONST ]
+-- On NODE reduce production const_decl -> CONST IDENT COLON typ EQUAL expr
+-- On EOF reduce production const_decl -> CONST IDENT COLON typ EQUAL expr
+-- On CONST reduce production const_decl -> CONST IDENT COLON typ EQUAL expr
+
+State 109:
+list(toplevel) -> toplevel . list(toplevel) [ EOF ]
+-- On NODE shift to state 1
+-- On CONST shift to state 103
+-- On toplevel shift to state 109
+-- On node_decl shift to state 110
+-- On list(toplevel) shift to state 111
+-- On const_decl shift to state 112
+-- On EOF reduce production list(toplevel) ->
+
+State 110:
+toplevel -> node_decl . [ NODE EOF CONST ]
+-- On NODE reduce production toplevel -> node_decl
+-- On EOF reduce production toplevel -> node_decl
+-- On CONST reduce production toplevel -> node_decl
+
+State 111:
+list(toplevel) -> toplevel list(toplevel) . [ EOF ]
+-- On EOF reduce production list(toplevel) -> toplevel list(toplevel)
+
+State 112:
+toplevel -> const_decl . [ NODE EOF CONST ]
+-- On NODE reduce production toplevel -> const_decl
+-- On EOF reduce production toplevel -> const_decl
+-- On CONST reduce production toplevel -> const_decl
+
+State 113:
+file -> list(toplevel) . EOF [ # ]
+-- On EOF shift to state 114
+
+State 114:
+file -> list(toplevel) EOF . [ # ]
+-- On # reduce production file -> list(toplevel) EOF
+
+State 115:
+file' -> file . [ # ]
+-- On # accept file
+