From 36f98d819756ada119e696729e40d8e8e427b5f0 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Wed, 11 Jun 2014 16:41:43 +0200 Subject: Initial commit: parser for tiny subset of SCADE language... --- frontend/parser.automaton | 1577 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1577 insertions(+) create mode 100644 frontend/parser.automaton (limited to 'frontend/parser.automaton') 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 + -- cgit v1.2.3