Mercurial > hg > Members > nobuyasu > myCompiler
view Bison-Flex/Compiler-StackBase/UTF8/script-parser.output @ 6:86c0a38332fe
update
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 May 2011 18:26:00 +0900 |
parents | caede627f691 |
children |
line wrap: on
line source
State 185 conflicts: 1 shift/reduce Grammar 0 $accept: unit "end of file" 1 unit: define_or_state 2 | unit define_or_state 3 define_or_state: error ';' 4 | function 5 | declaration 6 declaration: type value_list ';' 7 | type "identifier" '(' ')' ';' 8 | type "identifier" '(' arglist ')' ';' 9 | "void" "identifier" '(' ')' ';' 10 | "void" "identifier" '(' arglist ')' ';' 11 | "__code" "identifier" '(' ')' ';' 12 | "__code" "identifier" '(' arglist ')' ';' 13 value_list: value 14 | value_list ',' value 15 arglist: arg 16 | arglist ',' arg 17 arg: type 18 | type '&' 19 | type "identifier" 20 | type '&' "identifier" 21 | type "identifier" '[' ']' 22 | type '&' "identifier" '[' ']' 23 function: type "identifier" '(' ')' block 24 | type "identifier" '(' arglist ')' block 25 | "void" "identifier" '(' ')' block 26 | "void" "identifier" '(' arglist ')' block 27 | "__code" "identifier" '(' ')' block 28 | "__code" "identifier" '(' arglist ')' block 29 type: "int" 30 | "string" 31 block: '{' decl_list state_list '}' 32 decl_list: /* empty */ 33 | decls 34 state_list: /* empty */ 35 | states 36 decls: type value_list ';' 37 | decls type value_list ';' 38 states: statement 39 | states statement 40 statement: ';' 41 | assign ';' 42 | "identifier" '(' args ')' ';' 43 | "identifier" '(' ')' ';' 44 | "exit" '(' ')' ';' 45 | "goto" "identifier" '(' args ')' ';' 46 | "goto" "identifier" '(' ')' ';' 47 | "case" expr ':' 48 | "default" ':' 49 | "break" ';' 50 | "return" ';' 51 | "return" expr ';' 52 | "if" '(' expr ')' statement 53 | "if" '(' expr ')' statement "else" statement 54 | "for" '(' assign ';' expr ';' assign ')' statement 55 | "while" '(' expr ')' statement 56 | "switch" '(' expr ')' '{' state_list '}' 57 | block 58 assign: value '=' expr 59 | value "+=" expr 60 | value "-=" expr 61 | value "*=" expr 62 | value "/=" expr 63 | value "%=" expr 64 expr: expr "&&" expr 65 | expr "||" expr 66 | expr "==" expr 67 | expr "!=" expr 68 | expr '>' expr 69 | expr ">=" expr 70 | expr '<' expr 71 | expr "<=" expr 72 | expr '&' expr 73 | expr '|' expr 74 | expr "<<" expr 75 | expr ">>" expr 76 | expr '-' expr 77 | expr '+' expr 78 | expr '*' expr 79 | expr '/' expr 80 | expr '%' expr 81 | '-' expr 82 | '(' expr ')' 83 | value 84 | "ival" 85 | "sval" 86 | "identifier" '(' args ')' 87 | "identifier" '(' ')' 88 value: "identifier" 89 | "identifier" '[' expr ']' 90 args: expr 91 | args ',' expr Terminals, with rules where they appear "end of file" (0) 0 '%' (37) 80 '&' (38) 18 20 22 72 '(' (40) 7 8 9 10 11 12 23 24 25 26 27 28 42 43 44 45 46 52 53 54 55 56 82 86 87 ')' (41) 7 8 9 10 11 12 23 24 25 26 27 28 42 43 44 45 46 52 53 54 55 56 82 86 87 '*' (42) 78 '+' (43) 77 ',' (44) 14 16 91 '-' (45) 76 81 '/' (47) 79 ':' (58) 47 48 ';' (59) 3 6 7 8 9 10 11 12 36 37 40 41 42 43 44 45 46 49 50 51 54 '<' (60) 70 '=' (61) 58 '>' (62) 68 '[' (91) 21 22 89 ']' (93) 21 22 89 '{' (123) 31 56 '|' (124) 73 '}' (125) 31 56 error (256) 3 "ival" (258) 84 "identifier" (259) 7 8 9 10 11 12 19 20 21 22 23 24 25 26 27 28 42 43 45 46 86 87 88 89 "sval" (260) 85 "||" (261) 65 "&&" (262) 64 "==" (263) 66 "!=" (264) 67 ">=" (265) 69 "<=" (266) 71 "<<" (267) 74 ">>" (268) 75 "+=" (269) 59 "-=" (270) 60 "*=" (271) 61 "/=" (272) 62 "%=" (273) 63 "if" (274) 52 53 "else" (275) 53 "while" (276) 55 "for" (277) 54 "switch" (278) 56 "case" (279) 47 "default" (280) 48 "break" (281) 49 "return" (282) 50 51 "int" (283) 29 "string" (284) 30 "void" (285) 9 10 25 26 "goto" (286) 45 46 "__code" (287) 11 12 27 28 "exit" (288) 44 NEG (289) Nonterminals, with rules where they appear $accept (54) on left: 0 unit (55) on left: 1 2, on right: 0 2 define_or_state (56) on left: 3 4 5, on right: 1 2 declaration (57) on left: 6 7 8 9 10 11 12, on right: 5 value_list (58) on left: 13 14, on right: 6 14 36 37 arglist (59) on left: 15 16, on right: 8 10 12 16 24 26 28 arg (60) on left: 17 18 19 20 21 22, on right: 15 16 function (61) on left: 23 24 25 26 27 28, on right: 4 type (62) on left: 29 30, on right: 6 7 8 17 18 19 20 21 22 23 24 36 37 block (63) on left: 31, on right: 23 24 25 26 27 28 57 decl_list (64) on left: 32 33, on right: 31 state_list (65) on left: 34 35, on right: 31 56 decls (66) on left: 36 37, on right: 33 37 states (67) on left: 38 39, on right: 35 39 statement (68) on left: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 , on right: 38 39 52 53 54 55 assign (69) on left: 58 59 60 61 62 63, on right: 41 54 expr (70) on left: 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87, on right: 47 51 52 53 54 55 56 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 89 90 91 value (71) on left: 88 89, on right: 13 14 58 59 60 61 62 63 83 args (72) on left: 90 91, on right: 42 45 86 91 state 0 0 $accept: . unit "end of file" 1 unit: . define_or_state 2 | . unit define_or_state 3 define_or_state: . error ';' 4 | . function 5 | . declaration 6 declaration: . type value_list ';' 7 | . type "identifier" '(' ')' ';' 8 | . type "identifier" '(' arglist ')' ';' 9 | . "void" "identifier" '(' ')' ';' 10 | . "void" "identifier" '(' arglist ')' ';' 11 | . "__code" "identifier" '(' ')' ';' 12 | . "__code" "identifier" '(' arglist ')' ';' 23 function: . type "identifier" '(' ')' block 24 | . type "identifier" '(' arglist ')' block 25 | . "void" "identifier" '(' ')' block 26 | . "void" "identifier" '(' arglist ')' block 27 | . "__code" "identifier" '(' ')' block 28 | . "__code" "identifier" '(' arglist ')' block 29 type: . "int" 30 | . "string" error shift, and go to state 1 "int" shift, and go to state 2 "string" shift, and go to state 3 "void" shift, and go to state 4 "__code" shift, and go to state 5 unit go to state 6 define_or_state go to state 7 declaration go to state 8 function go to state 9 type go to state 10 state 1 3 define_or_state: error . ';' ';' shift, and go to state 11 state 2 29 type: "int" . $default reduce using rule 29 (type) state 3 30 type: "string" . $default reduce using rule 30 (type) state 4 9 declaration: "void" . "identifier" '(' ')' ';' 10 | "void" . "identifier" '(' arglist ')' ';' 25 function: "void" . "identifier" '(' ')' block 26 | "void" . "identifier" '(' arglist ')' block "identifier" shift, and go to state 12 state 5 11 declaration: "__code" . "identifier" '(' ')' ';' 12 | "__code" . "identifier" '(' arglist ')' ';' 27 function: "__code" . "identifier" '(' ')' block 28 | "__code" . "identifier" '(' arglist ')' block "identifier" shift, and go to state 13 state 6 0 $accept: unit . "end of file" 2 unit: unit . define_or_state 3 define_or_state: . error ';' 4 | . function 5 | . declaration 6 declaration: . type value_list ';' 7 | . type "identifier" '(' ')' ';' 8 | . type "identifier" '(' arglist ')' ';' 9 | . "void" "identifier" '(' ')' ';' 10 | . "void" "identifier" '(' arglist ')' ';' 11 | . "__code" "identifier" '(' ')' ';' 12 | . "__code" "identifier" '(' arglist ')' ';' 23 function: . type "identifier" '(' ')' block 24 | . type "identifier" '(' arglist ')' block 25 | . "void" "identifier" '(' ')' block 26 | . "void" "identifier" '(' arglist ')' block 27 | . "__code" "identifier" '(' ')' block 28 | . "__code" "identifier" '(' arglist ')' block 29 type: . "int" 30 | . "string" "end of file" shift, and go to state 14 error shift, and go to state 1 "int" shift, and go to state 2 "string" shift, and go to state 3 "void" shift, and go to state 4 "__code" shift, and go to state 5 define_or_state go to state 15 declaration go to state 8 function go to state 9 type go to state 10 state 7 1 unit: define_or_state . $default reduce using rule 1 (unit) state 8 5 define_or_state: declaration . $default reduce using rule 5 (define_or_state) state 9 4 define_or_state: function . $default reduce using rule 4 (define_or_state) state 10 6 declaration: type . value_list ';' 7 | type . "identifier" '(' ')' ';' 8 | type . "identifier" '(' arglist ')' ';' 13 value_list: . value 14 | . value_list ',' value 23 function: type . "identifier" '(' ')' block 24 | type . "identifier" '(' arglist ')' block 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 16 value_list go to state 17 value go to state 18 state 11 3 define_or_state: error ';' . $default reduce using rule 3 (define_or_state) state 12 9 declaration: "void" "identifier" . '(' ')' ';' 10 | "void" "identifier" . '(' arglist ')' ';' 25 function: "void" "identifier" . '(' ')' block 26 | "void" "identifier" . '(' arglist ')' block '(' shift, and go to state 19 state 13 11 declaration: "__code" "identifier" . '(' ')' ';' 12 | "__code" "identifier" . '(' arglist ')' ';' 27 function: "__code" "identifier" . '(' ')' block 28 | "__code" "identifier" . '(' arglist ')' block '(' shift, and go to state 20 state 14 0 $accept: unit "end of file" . $default accept state 15 2 unit: unit define_or_state . $default reduce using rule 2 (unit) state 16 7 declaration: type "identifier" . '(' ')' ';' 8 | type "identifier" . '(' arglist ')' ';' 23 function: type "identifier" . '(' ')' block 24 | type "identifier" . '(' arglist ')' block 88 value: "identifier" . [';', ','] 89 | "identifier" . '[' expr ']' '(' shift, and go to state 21 '[' shift, and go to state 22 $default reduce using rule 88 (value) state 17 6 declaration: type value_list . ';' 14 value_list: value_list . ',' value ';' shift, and go to state 23 ',' shift, and go to state 24 state 18 13 value_list: value . $default reduce using rule 13 (value_list) state 19 9 declaration: "void" "identifier" '(' . ')' ';' 10 | "void" "identifier" '(' . arglist ')' ';' 15 arglist: . arg 16 | . arglist ',' arg 17 arg: . type 18 | . type '&' 19 | . type "identifier" 20 | . type '&' "identifier" 21 | . type "identifier" '[' ']' 22 | . type '&' "identifier" '[' ']' 25 function: "void" "identifier" '(' . ')' block 26 | "void" "identifier" '(' . arglist ')' block 29 type: . "int" 30 | . "string" "int" shift, and go to state 2 "string" shift, and go to state 3 ')' shift, and go to state 25 arglist go to state 26 arg go to state 27 type go to state 28 state 20 11 declaration: "__code" "identifier" '(' . ')' ';' 12 | "__code" "identifier" '(' . arglist ')' ';' 15 arglist: . arg 16 | . arglist ',' arg 17 arg: . type 18 | . type '&' 19 | . type "identifier" 20 | . type '&' "identifier" 21 | . type "identifier" '[' ']' 22 | . type '&' "identifier" '[' ']' 27 function: "__code" "identifier" '(' . ')' block 28 | "__code" "identifier" '(' . arglist ')' block 29 type: . "int" 30 | . "string" "int" shift, and go to state 2 "string" shift, and go to state 3 ')' shift, and go to state 29 arglist go to state 30 arg go to state 27 type go to state 28 state 21 7 declaration: type "identifier" '(' . ')' ';' 8 | type "identifier" '(' . arglist ')' ';' 15 arglist: . arg 16 | . arglist ',' arg 17 arg: . type 18 | . type '&' 19 | . type "identifier" 20 | . type '&' "identifier" 21 | . type "identifier" '[' ']' 22 | . type '&' "identifier" '[' ']' 23 function: type "identifier" '(' . ')' block 24 | type "identifier" '(' . arglist ')' block 29 type: . "int" 30 | . "string" "int" shift, and go to state 2 "string" shift, and go to state 3 ')' shift, and go to state 31 arglist go to state 32 arg go to state 27 type go to state 28 state 22 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' 89 | "identifier" '[' . expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 38 value go to state 39 state 23 6 declaration: type value_list ';' . $default reduce using rule 6 (declaration) state 24 14 value_list: value_list ',' . value 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 40 value go to state 41 state 25 9 declaration: "void" "identifier" '(' ')' . ';' 25 function: "void" "identifier" '(' ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 42 '{' shift, and go to state 43 block go to state 44 state 26 10 declaration: "void" "identifier" '(' arglist . ')' ';' 16 arglist: arglist . ',' arg 26 function: "void" "identifier" '(' arglist . ')' block ')' shift, and go to state 45 ',' shift, and go to state 46 state 27 15 arglist: arg . $default reduce using rule 15 (arglist) state 28 17 arg: type . [')', ','] 18 | type . '&' 19 | type . "identifier" 20 | type . '&' "identifier" 21 | type . "identifier" '[' ']' 22 | type . '&' "identifier" '[' ']' "identifier" shift, and go to state 47 '&' shift, and go to state 48 $default reduce using rule 17 (arg) state 29 11 declaration: "__code" "identifier" '(' ')' . ';' 27 function: "__code" "identifier" '(' ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 49 '{' shift, and go to state 43 block go to state 50 state 30 12 declaration: "__code" "identifier" '(' arglist . ')' ';' 16 arglist: arglist . ',' arg 28 function: "__code" "identifier" '(' arglist . ')' block ')' shift, and go to state 51 ',' shift, and go to state 46 state 31 7 declaration: type "identifier" '(' ')' . ';' 23 function: type "identifier" '(' ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 52 '{' shift, and go to state 43 block go to state 53 state 32 8 declaration: type "identifier" '(' arglist . ')' ';' 16 arglist: arglist . ',' arg 24 function: type "identifier" '(' arglist . ')' block ')' shift, and go to state 54 ',' shift, and go to state 46 state 33 84 expr: "ival" . $default reduce using rule 84 (expr) state 34 86 expr: "identifier" . '(' args ')' 87 | "identifier" . '(' ')' 88 value: "identifier" . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 89 | "identifier" . '[' expr ']' '(' shift, and go to state 55 '[' shift, and go to state 22 $default reduce using rule 88 (value) state 35 85 expr: "sval" . $default reduce using rule 85 (expr) state 36 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 81 | '-' . expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 56 value go to state 39 state 37 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 82 | '(' . expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 57 value go to state 39 state 38 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr 89 value: "identifier" '[' expr . ']' "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ']' shift, and go to state 75 state 39 83 expr: value . $default reduce using rule 83 (expr) state 40 88 value: "identifier" . ["+=", "-=", "*=", "/=", "%=", ';', ',', '='] 89 | "identifier" . '[' expr ']' '[' shift, and go to state 22 $default reduce using rule 88 (value) state 41 14 value_list: value_list ',' value . $default reduce using rule 14 (value_list) state 42 9 declaration: "void" "identifier" '(' ')' ';' . $default reduce using rule 9 (declaration) state 43 29 type: . "int" 30 | . "string" 31 block: '{' . decl_list state_list '}' 32 decl_list: . ["identifier", "if", "while", "for", "switch", "case", "default", "break", "return", "goto", "exit", ';', '{', '}'] 33 | . decls 36 decls: . type value_list ';' 37 | . decls type value_list ';' "int" shift, and go to state 2 "string" shift, and go to state 3 $default reduce using rule 32 (decl_list) type go to state 76 decl_list go to state 77 decls go to state 78 state 44 25 function: "void" "identifier" '(' ')' block . $default reduce using rule 25 (function) state 45 10 declaration: "void" "identifier" '(' arglist ')' . ';' 26 function: "void" "identifier" '(' arglist ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 79 '{' shift, and go to state 43 block go to state 80 state 46 16 arglist: arglist ',' . arg 17 arg: . type 18 | . type '&' 19 | . type "identifier" 20 | . type '&' "identifier" 21 | . type "identifier" '[' ']' 22 | . type '&' "identifier" '[' ']' 29 type: . "int" 30 | . "string" "int" shift, and go to state 2 "string" shift, and go to state 3 arg go to state 81 type go to state 28 state 47 19 arg: type "identifier" . [')', ','] 21 | type "identifier" . '[' ']' '[' shift, and go to state 82 $default reduce using rule 19 (arg) state 48 18 arg: type '&' . [')', ','] 20 | type '&' . "identifier" 22 | type '&' . "identifier" '[' ']' "identifier" shift, and go to state 83 $default reduce using rule 18 (arg) state 49 11 declaration: "__code" "identifier" '(' ')' ';' . $default reduce using rule 11 (declaration) state 50 27 function: "__code" "identifier" '(' ')' block . $default reduce using rule 27 (function) state 51 12 declaration: "__code" "identifier" '(' arglist ')' . ';' 28 function: "__code" "identifier" '(' arglist ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 84 '{' shift, and go to state 43 block go to state 85 state 52 7 declaration: type "identifier" '(' ')' ';' . $default reduce using rule 7 (declaration) state 53 23 function: type "identifier" '(' ')' block . $default reduce using rule 23 (function) state 54 8 declaration: type "identifier" '(' arglist ')' . ';' 24 function: type "identifier" '(' arglist ')' . block 31 block: . '{' decl_list state_list '}' ';' shift, and go to state 86 '{' shift, and go to state 43 block go to state 87 state 55 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 86 | "identifier" '(' . args ')' 87 | . "identifier" '(' ')' 87 | "identifier" '(' . ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' 90 args: . expr 91 | . args ',' expr "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 ')' shift, and go to state 88 expr go to state 89 value go to state 39 args go to state 90 state 56 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr 81 | '-' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] $default reduce using rule 81 (expr) Conflict between rule 81 and token "||" resolved as reduce ("||" < NEG). Conflict between rule 81 and token "&&" resolved as reduce ("&&" < NEG). Conflict between rule 81 and token "==" resolved as reduce ("==" < NEG). Conflict between rule 81 and token "!=" resolved as reduce ("!=" < NEG). Conflict between rule 81 and token ">=" resolved as reduce (">=" < NEG). Conflict between rule 81 and token "<=" resolved as reduce ("<=" < NEG). Conflict between rule 81 and token "<<" resolved as reduce ("<<" < NEG). Conflict between rule 81 and token ">>" resolved as reduce (">>" < NEG). Conflict between rule 81 and token '>' resolved as reduce ('>' < NEG). Conflict between rule 81 and token '<' resolved as reduce ('<' < NEG). Conflict between rule 81 and token '&' resolved as reduce ('&' < NEG). Conflict between rule 81 and token '|' resolved as reduce ('|' < NEG). Conflict between rule 81 and token '+' resolved as reduce ('+' < NEG). Conflict between rule 81 and token '-' resolved as reduce ('-' < NEG). Conflict between rule 81 and token '*' resolved as reduce ('*' < NEG). Conflict between rule 81 and token '/' resolved as reduce ('/' < NEG). Conflict between rule 81 and token '%' resolved as reduce ('%' < NEG). state 57 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr 82 | '(' expr . ')' "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ')' shift, and go to state 91 state 58 64 expr: . expr "&&" expr 65 | . expr "||" expr 65 | expr "||" . expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 92 value go to state 39 state 59 64 expr: . expr "&&" expr 64 | expr "&&" . expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 93 value go to state 39 state 60 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 66 | expr "==" . expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 94 value go to state 39 state 61 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 67 | expr "!=" . expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 95 value go to state 39 state 62 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 69 | expr ">=" . expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 96 value go to state 39 state 63 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 71 | expr "<=" . expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 97 value go to state 39 state 64 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 74 | expr "<<" . expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 98 value go to state 39 state 65 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 75 | expr ">>" . expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 99 value go to state 39 state 66 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 68 | expr '>' . expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 100 value go to state 39 state 67 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 70 | expr '<' . expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 101 value go to state 39 state 68 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 72 | expr '&' . expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 102 value go to state 39 state 69 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 73 | expr '|' . expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 103 value go to state 39 state 70 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 77 | expr '+' . expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 104 value go to state 39 state 71 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 76 | expr '-' . expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 105 value go to state 39 state 72 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 78 | expr '*' . expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 106 value go to state 39 state 73 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 79 | expr '/' . expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 107 value go to state 39 state 74 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 80 | expr '%' . expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 108 value go to state 39 state 75 89 value: "identifier" '[' expr ']' . $default reduce using rule 89 (value) state 76 13 value_list: . value 14 | . value_list ',' value 36 decls: type . value_list ';' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 40 value_list go to state 109 value go to state 18 state 77 31 block: . '{' decl_list state_list '}' 31 | '{' decl_list . state_list '}' 34 state_list: . ['}'] 35 | . states 38 states: . statement 39 | . states statement 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 $default reduce using rule 34 (state_list) block go to state 122 state_list go to state 123 states go to state 124 statement go to state 125 assign go to state 126 value go to state 127 state 78 29 type: . "int" 30 | . "string" 33 decl_list: decls . ["identifier", "if", "while", "for", "switch", "case", "default", "break", "return", "goto", "exit", ';', '{', '}'] 37 decls: decls . type value_list ';' "int" shift, and go to state 2 "string" shift, and go to state 3 $default reduce using rule 33 (decl_list) type go to state 128 state 79 10 declaration: "void" "identifier" '(' arglist ')' ';' . $default reduce using rule 10 (declaration) state 80 26 function: "void" "identifier" '(' arglist ')' block . $default reduce using rule 26 (function) state 81 16 arglist: arglist ',' arg . $default reduce using rule 16 (arglist) state 82 21 arg: type "identifier" '[' . ']' ']' shift, and go to state 129 state 83 20 arg: type '&' "identifier" . [')', ','] 22 | type '&' "identifier" . '[' ']' '[' shift, and go to state 130 $default reduce using rule 20 (arg) state 84 12 declaration: "__code" "identifier" '(' arglist ')' ';' . $default reduce using rule 12 (declaration) state 85 28 function: "__code" "identifier" '(' arglist ')' block . $default reduce using rule 28 (function) state 86 8 declaration: type "identifier" '(' arglist ')' ';' . $default reduce using rule 8 (declaration) state 87 24 function: type "identifier" '(' arglist ')' block . $default reduce using rule 24 (function) state 88 87 expr: "identifier" '(' ')' . $default reduce using rule 87 (expr) state 89 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr 90 args: expr . [')', ','] "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 90 (args) state 90 86 expr: "identifier" '(' args . ')' 91 args: args . ',' expr ')' shift, and go to state 131 ',' shift, and go to state 132 state 91 82 expr: '(' expr ')' . $default reduce using rule 82 (expr) state 92 64 expr: expr . "&&" expr 65 | expr . "||" expr ["||", ';', ')', ',', ']', ':'] 65 | expr "||" expr . ["||", ';', ')', ',', ']', ':'] 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 65 (expr) Conflict between rule 65 and token "||" resolved as reduce (%left "||"). Conflict between rule 65 and token "&&" resolved as shift ("||" < "&&"). Conflict between rule 65 and token "==" resolved as shift ("||" < "=="). Conflict between rule 65 and token "!=" resolved as shift ("||" < "!="). Conflict between rule 65 and token ">=" resolved as shift ("||" < ">="). Conflict between rule 65 and token "<=" resolved as shift ("||" < "<="). Conflict between rule 65 and token "<<" resolved as shift ("||" < "<<"). Conflict between rule 65 and token ">>" resolved as shift ("||" < ">>"). Conflict between rule 65 and token '>' resolved as shift ("||" < '>'). Conflict between rule 65 and token '<' resolved as shift ("||" < '<'). Conflict between rule 65 and token '&' resolved as shift ("||" < '&'). Conflict between rule 65 and token '|' resolved as shift ("||" < '|'). Conflict between rule 65 and token '+' resolved as shift ("||" < '+'). Conflict between rule 65 and token '-' resolved as shift ("||" < '-'). Conflict between rule 65 and token '*' resolved as shift ("||" < '*'). Conflict between rule 65 and token '/' resolved as shift ("||" < '/'). Conflict between rule 65 and token '%' resolved as shift ("||" < '%'). state 93 64 expr: expr . "&&" expr ["||", "&&", ';', ')', ',', ']', ':'] 64 | expr "&&" expr . ["||", "&&", ';', ')', ',', ']', ':'] 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 64 (expr) Conflict between rule 64 and token "||" resolved as reduce ("||" < "&&"). Conflict between rule 64 and token "&&" resolved as reduce (%left "&&"). Conflict between rule 64 and token "==" resolved as shift ("&&" < "=="). Conflict between rule 64 and token "!=" resolved as shift ("&&" < "!="). Conflict between rule 64 and token ">=" resolved as shift ("&&" < ">="). Conflict between rule 64 and token "<=" resolved as shift ("&&" < "<="). Conflict between rule 64 and token "<<" resolved as shift ("&&" < "<<"). Conflict between rule 64 and token ">>" resolved as shift ("&&" < ">>"). Conflict between rule 64 and token '>' resolved as shift ("&&" < '>'). Conflict between rule 64 and token '<' resolved as shift ("&&" < '<'). Conflict between rule 64 and token '&' resolved as shift ("&&" < '&'). Conflict between rule 64 and token '|' resolved as shift ("&&" < '|'). Conflict between rule 64 and token '+' resolved as shift ("&&" < '+'). Conflict between rule 64 and token '-' resolved as shift ("&&" < '-'). Conflict between rule 64 and token '*' resolved as shift ("&&" < '*'). Conflict between rule 64 and token '/' resolved as shift ("&&" < '/'). Conflict between rule 64 and token '%' resolved as shift ("&&" < '%'). state 94 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr ["||", "&&", ';', ')', ',', ']', ':'] 66 | expr "==" expr . ["||", "&&", ';', ')', ',', ']', ':'] 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 66 (expr) Conflict between rule 66 and token "||" resolved as reduce ("||" < "=="). Conflict between rule 66 and token "&&" resolved as reduce ("&&" < "=="). Conflict between rule 66 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 66 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 66 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 66 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 66 and token "<<" resolved as shift ("==" < "<<"). Conflict between rule 66 and token ">>" resolved as shift ("==" < ">>"). Conflict between rule 66 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 66 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 66 and token '&' resolved as shift ("==" < '&'). Conflict between rule 66 and token '|' resolved as shift ("==" < '|'). Conflict between rule 66 and token '+' resolved as shift ("==" < '+'). Conflict between rule 66 and token '-' resolved as shift ("==" < '-'). Conflict between rule 66 and token '*' resolved as shift ("==" < '*'). Conflict between rule 66 and token '/' resolved as shift ("==" < '/'). Conflict between rule 66 and token '%' resolved as shift ("==" < '%'). state 95 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr ["||", "&&", ';', ')', ',', ']', ':'] 67 | expr "!=" expr . ["||", "&&", ';', ')', ',', ']', ':'] 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 67 (expr) Conflict between rule 67 and token "||" resolved as reduce ("||" < "!="). Conflict between rule 67 and token "&&" resolved as reduce ("&&" < "!="). Conflict between rule 67 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 67 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 67 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 67 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 67 and token "<<" resolved as shift ("!=" < "<<"). Conflict between rule 67 and token ">>" resolved as shift ("!=" < ">>"). Conflict between rule 67 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 67 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 67 and token '&' resolved as shift ("!=" < '&'). Conflict between rule 67 and token '|' resolved as shift ("!=" < '|'). Conflict between rule 67 and token '+' resolved as shift ("!=" < '+'). Conflict between rule 67 and token '-' resolved as shift ("!=" < '-'). Conflict between rule 67 and token '*' resolved as shift ("!=" < '*'). Conflict between rule 67 and token '/' resolved as shift ("!=" < '/'). Conflict between rule 67 and token '%' resolved as shift ("!=" < '%'). state 96 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr ["||", "&&", ';', ')', ',', ']', ':'] 69 | expr ">=" expr . ["||", "&&", ';', ')', ',', ']', ':'] 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 69 (expr) Conflict between rule 69 and token "||" resolved as reduce ("||" < ">="). Conflict between rule 69 and token "&&" resolved as reduce ("&&" < ">="). Conflict between rule 69 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 69 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 69 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 69 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 69 and token "<<" resolved as shift (">=" < "<<"). Conflict between rule 69 and token ">>" resolved as shift (">=" < ">>"). Conflict between rule 69 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 69 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 69 and token '&' resolved as shift (">=" < '&'). Conflict between rule 69 and token '|' resolved as shift (">=" < '|'). Conflict between rule 69 and token '+' resolved as shift (">=" < '+'). Conflict between rule 69 and token '-' resolved as shift (">=" < '-'). Conflict between rule 69 and token '*' resolved as shift (">=" < '*'). Conflict between rule 69 and token '/' resolved as shift (">=" < '/'). Conflict between rule 69 and token '%' resolved as shift (">=" < '%'). state 97 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr ["||", "&&", ';', ')', ',', ']', ':'] 71 | expr "<=" expr . ["||", "&&", ';', ')', ',', ']', ':'] 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 71 (expr) Conflict between rule 71 and token "||" resolved as reduce ("||" < "<="). Conflict between rule 71 and token "&&" resolved as reduce ("&&" < "<="). Conflict between rule 71 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 71 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 71 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 71 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 71 and token "<<" resolved as shift ("<=" < "<<"). Conflict between rule 71 and token ">>" resolved as shift ("<=" < ">>"). Conflict between rule 71 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 71 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 71 and token '&' resolved as shift ("<=" < '&'). Conflict between rule 71 and token '|' resolved as shift ("<=" < '|'). Conflict between rule 71 and token '+' resolved as shift ("<=" < '+'). Conflict between rule 71 and token '-' resolved as shift ("<=" < '-'). Conflict between rule 71 and token '*' resolved as shift ("<=" < '*'). Conflict between rule 71 and token '/' resolved as shift ("<=" < '/'). Conflict between rule 71 and token '%' resolved as shift ("<=" < '%'). state 98 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 74 | expr "<<" expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 74 (expr) Conflict between rule 74 and token "||" resolved as reduce ("||" < "<<"). Conflict between rule 74 and token "&&" resolved as reduce ("&&" < "<<"). Conflict between rule 74 and token "==" resolved as reduce ("==" < "<<"). Conflict between rule 74 and token "!=" resolved as reduce ("!=" < "<<"). Conflict between rule 74 and token ">=" resolved as reduce (">=" < "<<"). Conflict between rule 74 and token "<=" resolved as reduce ("<=" < "<<"). Conflict between rule 74 and token "<<" resolved as reduce (%left "<<"). Conflict between rule 74 and token ">>" resolved as reduce (%left ">>"). Conflict between rule 74 and token '>' resolved as reduce ('>' < "<<"). Conflict between rule 74 and token '<' resolved as reduce ('<' < "<<"). Conflict between rule 74 and token '&' resolved as reduce ('&' < "<<"). Conflict between rule 74 and token '|' resolved as reduce ('|' < "<<"). Conflict between rule 74 and token '+' resolved as shift ("<<" < '+'). Conflict between rule 74 and token '-' resolved as shift ("<<" < '-'). Conflict between rule 74 and token '*' resolved as shift ("<<" < '*'). Conflict between rule 74 and token '/' resolved as shift ("<<" < '/'). Conflict between rule 74 and token '%' resolved as shift ("<<" < '%'). state 99 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 75 | expr ">>" expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 75 (expr) Conflict between rule 75 and token "||" resolved as reduce ("||" < ">>"). Conflict between rule 75 and token "&&" resolved as reduce ("&&" < ">>"). Conflict between rule 75 and token "==" resolved as reduce ("==" < ">>"). Conflict between rule 75 and token "!=" resolved as reduce ("!=" < ">>"). Conflict between rule 75 and token ">=" resolved as reduce (">=" < ">>"). Conflict between rule 75 and token "<=" resolved as reduce ("<=" < ">>"). Conflict between rule 75 and token "<<" resolved as reduce (%left "<<"). Conflict between rule 75 and token ">>" resolved as reduce (%left ">>"). Conflict between rule 75 and token '>' resolved as reduce ('>' < ">>"). Conflict between rule 75 and token '<' resolved as reduce ('<' < ">>"). Conflict between rule 75 and token '&' resolved as reduce ('&' < ">>"). Conflict between rule 75 and token '|' resolved as reduce ('|' < ">>"). Conflict between rule 75 and token '+' resolved as shift (">>" < '+'). Conflict between rule 75 and token '-' resolved as shift (">>" < '-'). Conflict between rule 75 and token '*' resolved as shift (">>" < '*'). Conflict between rule 75 and token '/' resolved as shift (">>" < '/'). Conflict between rule 75 and token '%' resolved as shift (">>" < '%'). state 100 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr ["||", "&&", ';', ')', ',', ']', ':'] 68 | expr '>' expr . ["||", "&&", ';', ')', ',', ']', ':'] 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 68 (expr) Conflict between rule 68 and token "||" resolved as reduce ("||" < '>'). Conflict between rule 68 and token "&&" resolved as reduce ("&&" < '>'). Conflict between rule 68 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 68 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 68 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 68 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 68 and token "<<" resolved as shift ('>' < "<<"). Conflict between rule 68 and token ">>" resolved as shift ('>' < ">>"). Conflict between rule 68 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 68 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 68 and token '&' resolved as shift ('>' < '&'). Conflict between rule 68 and token '|' resolved as shift ('>' < '|'). Conflict between rule 68 and token '+' resolved as shift ('>' < '+'). Conflict between rule 68 and token '-' resolved as shift ('>' < '-'). Conflict between rule 68 and token '*' resolved as shift ('>' < '*'). Conflict between rule 68 and token '/' resolved as shift ('>' < '/'). Conflict between rule 68 and token '%' resolved as shift ('>' < '%'). state 101 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr ["||", "&&", ';', ')', ',', ']', ':'] 70 | expr '<' expr . ["||", "&&", ';', ')', ',', ']', ':'] 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 "==" error (nonassociative) "!=" error (nonassociative) ">=" error (nonassociative) "<=" error (nonassociative) '>' error (nonassociative) '<' error (nonassociative) $default reduce using rule 70 (expr) Conflict between rule 70 and token "||" resolved as reduce ("||" < '<'). Conflict between rule 70 and token "&&" resolved as reduce ("&&" < '<'). Conflict between rule 70 and token "==" resolved as an error (%nonassoc "=="). Conflict between rule 70 and token "!=" resolved as an error (%nonassoc "!="). Conflict between rule 70 and token ">=" resolved as an error (%nonassoc ">="). Conflict between rule 70 and token "<=" resolved as an error (%nonassoc "<="). Conflict between rule 70 and token "<<" resolved as shift ('<' < "<<"). Conflict between rule 70 and token ">>" resolved as shift ('<' < ">>"). Conflict between rule 70 and token '>' resolved as an error (%nonassoc '>'). Conflict between rule 70 and token '<' resolved as an error (%nonassoc '<'). Conflict between rule 70 and token '&' resolved as shift ('<' < '&'). Conflict between rule 70 and token '|' resolved as shift ('<' < '|'). Conflict between rule 70 and token '+' resolved as shift ('<' < '+'). Conflict between rule 70 and token '-' resolved as shift ('<' < '-'). Conflict between rule 70 and token '*' resolved as shift ('<' < '*'). Conflict between rule 70 and token '/' resolved as shift ('<' < '/'). Conflict between rule 70 and token '%' resolved as shift ('<' < '%'). state 102 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr ["||", "&&", "==", "!=", ">=", "<=", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 72 | expr '&' expr . ["||", "&&", "==", "!=", ">=", "<=", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 72 (expr) Conflict between rule 72 and token "||" resolved as reduce ("||" < '&'). Conflict between rule 72 and token "&&" resolved as reduce ("&&" < '&'). Conflict between rule 72 and token "==" resolved as reduce ("==" < '&'). Conflict between rule 72 and token "!=" resolved as reduce ("!=" < '&'). Conflict between rule 72 and token ">=" resolved as reduce (">=" < '&'). Conflict between rule 72 and token "<=" resolved as reduce ("<=" < '&'). Conflict between rule 72 and token "<<" resolved as shift ('&' < "<<"). Conflict between rule 72 and token ">>" resolved as shift ('&' < ">>"). Conflict between rule 72 and token '>' resolved as reduce ('>' < '&'). Conflict between rule 72 and token '<' resolved as reduce ('<' < '&'). Conflict between rule 72 and token '&' resolved as reduce (%left '&'). Conflict between rule 72 and token '|' resolved as reduce (%left '|'). Conflict between rule 72 and token '+' resolved as shift ('&' < '+'). Conflict between rule 72 and token '-' resolved as shift ('&' < '-'). Conflict between rule 72 and token '*' resolved as shift ('&' < '*'). Conflict between rule 72 and token '/' resolved as shift ('&' < '/'). Conflict between rule 72 and token '%' resolved as shift ('&' < '%'). state 103 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr ["||", "&&", "==", "!=", ">=", "<=", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 73 | expr '|' expr . ["||", "&&", "==", "!=", ">=", "<=", '>', '<', '&', '|', ';', ')', ',', ']', ':'] 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "<<" shift, and go to state 64 ">>" shift, and go to state 65 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 73 (expr) Conflict between rule 73 and token "||" resolved as reduce ("||" < '|'). Conflict between rule 73 and token "&&" resolved as reduce ("&&" < '|'). Conflict between rule 73 and token "==" resolved as reduce ("==" < '|'). Conflict between rule 73 and token "!=" resolved as reduce ("!=" < '|'). Conflict between rule 73 and token ">=" resolved as reduce (">=" < '|'). Conflict between rule 73 and token "<=" resolved as reduce ("<=" < '|'). Conflict between rule 73 and token "<<" resolved as shift ('|' < "<<"). Conflict between rule 73 and token ">>" resolved as shift ('|' < ">>"). Conflict between rule 73 and token '>' resolved as reduce ('>' < '|'). Conflict between rule 73 and token '<' resolved as reduce ('<' < '|'). Conflict between rule 73 and token '&' resolved as reduce (%left '&'). Conflict between rule 73 and token '|' resolved as reduce (%left '|'). Conflict between rule 73 and token '+' resolved as shift ('|' < '+'). Conflict between rule 73 and token '-' resolved as shift ('|' < '-'). Conflict between rule 73 and token '*' resolved as shift ('|' < '*'). Conflict between rule 73 and token '/' resolved as shift ('|' < '/'). Conflict between rule 73 and token '%' resolved as shift ('|' < '%'). state 104 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', ';', ')', ',', ']', ':'] 77 | expr '+' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', ';', ')', ',', ']', ':'] 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 77 (expr) Conflict between rule 77 and token "||" resolved as reduce ("||" < '+'). Conflict between rule 77 and token "&&" resolved as reduce ("&&" < '+'). Conflict between rule 77 and token "==" resolved as reduce ("==" < '+'). Conflict between rule 77 and token "!=" resolved as reduce ("!=" < '+'). Conflict between rule 77 and token ">=" resolved as reduce (">=" < '+'). Conflict between rule 77 and token "<=" resolved as reduce ("<=" < '+'). Conflict between rule 77 and token "<<" resolved as reduce ("<<" < '+'). Conflict between rule 77 and token ">>" resolved as reduce (">>" < '+'). Conflict between rule 77 and token '>' resolved as reduce ('>' < '+'). Conflict between rule 77 and token '<' resolved as reduce ('<' < '+'). Conflict between rule 77 and token '&' resolved as reduce ('&' < '+'). Conflict between rule 77 and token '|' resolved as reduce ('|' < '+'). Conflict between rule 77 and token '+' resolved as reduce (%left '+'). Conflict between rule 77 and token '-' resolved as reduce (%left '-'). Conflict between rule 77 and token '*' resolved as shift ('+' < '*'). Conflict between rule 77 and token '/' resolved as shift ('+' < '/'). Conflict between rule 77 and token '%' resolved as shift ('+' < '%'). state 105 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', ';', ')', ',', ']', ':'] 76 | expr '-' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', ';', ')', ',', ']', ':'] 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 76 (expr) Conflict between rule 76 and token "||" resolved as reduce ("||" < '-'). Conflict between rule 76 and token "&&" resolved as reduce ("&&" < '-'). Conflict between rule 76 and token "==" resolved as reduce ("==" < '-'). Conflict between rule 76 and token "!=" resolved as reduce ("!=" < '-'). Conflict between rule 76 and token ">=" resolved as reduce (">=" < '-'). Conflict between rule 76 and token "<=" resolved as reduce ("<=" < '-'). Conflict between rule 76 and token "<<" resolved as reduce ("<<" < '-'). Conflict between rule 76 and token ">>" resolved as reduce (">>" < '-'). Conflict between rule 76 and token '>' resolved as reduce ('>' < '-'). Conflict between rule 76 and token '<' resolved as reduce ('<' < '-'). Conflict between rule 76 and token '&' resolved as reduce ('&' < '-'). Conflict between rule 76 and token '|' resolved as reduce ('|' < '-'). Conflict between rule 76 and token '+' resolved as reduce (%left '+'). Conflict between rule 76 and token '-' resolved as reduce (%left '-'). Conflict between rule 76 and token '*' resolved as shift ('-' < '*'). Conflict between rule 76 and token '/' resolved as shift ('-' < '/'). Conflict between rule 76 and token '%' resolved as shift ('-' < '%'). state 106 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 78 | expr '*' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 79 | expr . '/' expr 80 | expr . '%' expr $default reduce using rule 78 (expr) Conflict between rule 78 and token "||" resolved as reduce ("||" < '*'). Conflict between rule 78 and token "&&" resolved as reduce ("&&" < '*'). Conflict between rule 78 and token "==" resolved as reduce ("==" < '*'). Conflict between rule 78 and token "!=" resolved as reduce ("!=" < '*'). Conflict between rule 78 and token ">=" resolved as reduce (">=" < '*'). Conflict between rule 78 and token "<=" resolved as reduce ("<=" < '*'). Conflict between rule 78 and token "<<" resolved as reduce ("<<" < '*'). Conflict between rule 78 and token ">>" resolved as reduce (">>" < '*'). Conflict between rule 78 and token '>' resolved as reduce ('>' < '*'). Conflict between rule 78 and token '<' resolved as reduce ('<' < '*'). Conflict between rule 78 and token '&' resolved as reduce ('&' < '*'). Conflict between rule 78 and token '|' resolved as reduce ('|' < '*'). Conflict between rule 78 and token '+' resolved as reduce ('+' < '*'). Conflict between rule 78 and token '-' resolved as reduce ('-' < '*'). Conflict between rule 78 and token '*' resolved as reduce (%left '*'). Conflict between rule 78 and token '/' resolved as reduce (%left '/'). Conflict between rule 78 and token '%' resolved as reduce (%left '%'). state 107 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 79 | expr '/' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 80 | expr . '%' expr $default reduce using rule 79 (expr) Conflict between rule 79 and token "||" resolved as reduce ("||" < '/'). Conflict between rule 79 and token "&&" resolved as reduce ("&&" < '/'). Conflict between rule 79 and token "==" resolved as reduce ("==" < '/'). Conflict between rule 79 and token "!=" resolved as reduce ("!=" < '/'). Conflict between rule 79 and token ">=" resolved as reduce (">=" < '/'). Conflict between rule 79 and token "<=" resolved as reduce ("<=" < '/'). Conflict between rule 79 and token "<<" resolved as reduce ("<<" < '/'). Conflict between rule 79 and token ">>" resolved as reduce (">>" < '/'). Conflict between rule 79 and token '>' resolved as reduce ('>' < '/'). Conflict between rule 79 and token '<' resolved as reduce ('<' < '/'). Conflict between rule 79 and token '&' resolved as reduce ('&' < '/'). Conflict between rule 79 and token '|' resolved as reduce ('|' < '/'). Conflict between rule 79 and token '+' resolved as reduce ('+' < '/'). Conflict between rule 79 and token '-' resolved as reduce ('-' < '/'). Conflict between rule 79 and token '*' resolved as reduce (%left '*'). Conflict between rule 79 and token '/' resolved as reduce (%left '/'). Conflict between rule 79 and token '%' resolved as reduce (%left '%'). state 108 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] 80 | expr '%' expr . ["||", "&&", "==", "!=", ">=", "<=", "<<", ">>", '>', '<', '&', '|', '+', '-', '*', '/', '%', ';', ')', ',', ']', ':'] $default reduce using rule 80 (expr) Conflict between rule 80 and token "||" resolved as reduce ("||" < '%'). Conflict between rule 80 and token "&&" resolved as reduce ("&&" < '%'). Conflict between rule 80 and token "==" resolved as reduce ("==" < '%'). Conflict between rule 80 and token "!=" resolved as reduce ("!=" < '%'). Conflict between rule 80 and token ">=" resolved as reduce (">=" < '%'). Conflict between rule 80 and token "<=" resolved as reduce ("<=" < '%'). Conflict between rule 80 and token "<<" resolved as reduce ("<<" < '%'). Conflict between rule 80 and token ">>" resolved as reduce (">>" < '%'). Conflict between rule 80 and token '>' resolved as reduce ('>' < '%'). Conflict between rule 80 and token '<' resolved as reduce ('<' < '%'). Conflict between rule 80 and token '&' resolved as reduce ('&' < '%'). Conflict between rule 80 and token '|' resolved as reduce ('|' < '%'). Conflict between rule 80 and token '+' resolved as reduce ('+' < '%'). Conflict between rule 80 and token '-' resolved as reduce ('-' < '%'). Conflict between rule 80 and token '*' resolved as reduce (%left '*'). Conflict between rule 80 and token '/' resolved as reduce (%left '/'). Conflict between rule 80 and token '%' resolved as reduce (%left '%'). state 109 14 value_list: value_list . ',' value 36 decls: type value_list . ';' ';' shift, and go to state 133 ',' shift, and go to state 24 state 110 42 statement: "identifier" . '(' args ')' ';' 43 | "identifier" . '(' ')' ';' 88 value: "identifier" . ["+=", "-=", "*=", "/=", "%=", '='] 89 | "identifier" . '[' expr ']' '(' shift, and go to state 134 '[' shift, and go to state 22 $default reduce using rule 88 (value) state 111 52 statement: "if" . '(' expr ')' statement 53 | "if" . '(' expr ')' statement "else" statement '(' shift, and go to state 135 state 112 55 statement: "while" . '(' expr ')' statement '(' shift, and go to state 136 state 113 54 statement: "for" . '(' assign ';' expr ';' assign ')' statement '(' shift, and go to state 137 state 114 56 statement: "switch" . '(' expr ')' '{' state_list '}' '(' shift, and go to state 138 state 115 47 statement: "case" . expr ':' 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 139 value go to state 39 state 116 48 statement: "default" . ':' ':' shift, and go to state 140 state 117 49 statement: "break" . ';' ';' shift, and go to state 141 state 118 50 statement: "return" . ';' 51 | "return" . expr ';' 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 ';' shift, and go to state 142 '(' shift, and go to state 37 expr go to state 143 value go to state 39 state 119 45 statement: "goto" . "identifier" '(' args ')' ';' 46 | "goto" . "identifier" '(' ')' ';' "identifier" shift, and go to state 144 state 120 44 statement: "exit" . '(' ')' ';' '(' shift, and go to state 145 state 121 40 statement: ';' . $default reduce using rule 40 (statement) state 122 57 statement: block . $default reduce using rule 57 (statement) state 123 31 block: '{' decl_list state_list . '}' '}' shift, and go to state 146 state 124 31 block: . '{' decl_list state_list '}' 35 state_list: states . ['}'] 39 states: states . statement 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 $default reduce using rule 35 (state_list) block go to state 122 statement go to state 147 assign go to state 126 value go to state 127 state 125 38 states: statement . $default reduce using rule 38 (states) state 126 41 statement: assign . ';' ';' shift, and go to state 148 state 127 58 assign: value . '=' expr 59 | value . "+=" expr 60 | value . "-=" expr 61 | value . "*=" expr 62 | value . "/=" expr 63 | value . "%=" expr "+=" shift, and go to state 149 "-=" shift, and go to state 150 "*=" shift, and go to state 151 "/=" shift, and go to state 152 "%=" shift, and go to state 153 '=' shift, and go to state 154 state 128 13 value_list: . value 14 | . value_list ',' value 37 decls: decls type . value_list ';' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 40 value_list go to state 155 value go to state 18 state 129 21 arg: type "identifier" '[' ']' . $default reduce using rule 21 (arg) state 130 22 arg: type '&' "identifier" '[' . ']' ']' shift, and go to state 156 state 131 86 expr: "identifier" '(' args ')' . $default reduce using rule 86 (expr) state 132 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' 91 args: args ',' . expr "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 157 value go to state 39 state 133 36 decls: type value_list ';' . $default reduce using rule 36 (decls) state 134 42 statement: "identifier" '(' . args ')' ';' 43 | "identifier" '(' . ')' ';' 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' 90 args: . expr 91 | . args ',' expr "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 ')' shift, and go to state 158 expr go to state 89 value go to state 39 args go to state 159 state 135 52 statement: "if" '(' . expr ')' statement 53 | "if" '(' . expr ')' statement "else" statement 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 160 value go to state 39 state 136 55 statement: "while" '(' . expr ')' statement 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 161 value go to state 39 state 137 54 statement: "for" '(' . assign ';' expr ';' assign ')' statement 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 40 assign go to state 162 value go to state 127 state 138 56 statement: "switch" '(' . expr ')' '{' state_list '}' 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 163 value go to state 39 state 139 47 statement: "case" expr . ':' 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ':' shift, and go to state 164 state 140 48 statement: "default" ':' . $default reduce using rule 48 (statement) state 141 49 statement: "break" ';' . $default reduce using rule 49 (statement) state 142 50 statement: "return" ';' . $default reduce using rule 50 (statement) state 143 51 statement: "return" expr . ';' 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ';' shift, and go to state 165 state 144 45 statement: "goto" "identifier" . '(' args ')' ';' 46 | "goto" "identifier" . '(' ')' ';' '(' shift, and go to state 166 state 145 44 statement: "exit" '(' . ')' ';' ')' shift, and go to state 167 state 146 31 block: '{' decl_list state_list '}' . $default reduce using rule 31 (block) state 147 39 states: states statement . $default reduce using rule 39 (states) state 148 41 statement: assign ';' . $default reduce using rule 41 (statement) state 149 59 assign: value "+=" . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 168 value go to state 39 state 150 60 assign: value "-=" . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 169 value go to state 39 state 151 61 assign: value "*=" . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 170 value go to state 39 state 152 62 assign: value "/=" . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 171 value go to state 39 state 153 63 assign: value "%=" . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 172 value go to state 39 state 154 58 assign: value '=' . expr 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 173 value go to state 39 state 155 14 value_list: value_list . ',' value 37 decls: decls type value_list . ';' ';' shift, and go to state 174 ',' shift, and go to state 24 state 156 22 arg: type '&' "identifier" '[' ']' . $default reduce using rule 22 (arg) state 157 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr 91 args: args ',' expr . [')', ','] "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 91 (args) state 158 43 statement: "identifier" '(' ')' . ';' ';' shift, and go to state 175 state 159 42 statement: "identifier" '(' args . ')' ';' 91 args: args . ',' expr ')' shift, and go to state 176 ',' shift, and go to state 132 state 160 52 statement: "if" '(' expr . ')' statement 53 | "if" '(' expr . ')' statement "else" statement 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ')' shift, and go to state 177 state 161 55 statement: "while" '(' expr . ')' statement 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ')' shift, and go to state 178 state 162 54 statement: "for" '(' assign . ';' expr ';' assign ')' statement ';' shift, and go to state 179 state 163 56 statement: "switch" '(' expr . ')' '{' state_list '}' 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ')' shift, and go to state 180 state 164 47 statement: "case" expr ':' . $default reduce using rule 47 (statement) state 165 51 statement: "return" expr ';' . $default reduce using rule 51 (statement) state 166 45 statement: "goto" "identifier" '(' . args ')' ';' 46 | "goto" "identifier" '(' . ')' ';' 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' 90 args: . expr 91 | . args ',' expr "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 ')' shift, and go to state 181 expr go to state 89 value go to state 39 args go to state 182 state 167 44 statement: "exit" '(' ')' . ';' ';' shift, and go to state 183 state 168 59 assign: value "+=" expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 59 (assign) state 169 60 assign: value "-=" expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 60 (assign) state 170 61 assign: value "*=" expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 61 (assign) state 171 62 assign: value "/=" expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 62 (assign) state 172 63 assign: value "%=" expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 63 (assign) state 173 58 assign: value '=' expr . [';', ')'] 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 $default reduce using rule 58 (assign) state 174 37 decls: decls type value_list ';' . $default reduce using rule 37 (decls) state 175 43 statement: "identifier" '(' ')' ';' . $default reduce using rule 43 (statement) state 176 42 statement: "identifier" '(' args ')' . ';' ';' shift, and go to state 184 state 177 31 block: . '{' decl_list state_list '}' 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 52 | "if" '(' expr ')' . statement 53 | . "if" '(' expr ')' statement "else" statement 53 | "if" '(' expr ')' . statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 block go to state 122 statement go to state 185 assign go to state 126 value go to state 127 state 178 31 block: . '{' decl_list state_list '}' 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 55 | "while" '(' expr ')' . statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 block go to state 122 statement go to state 186 assign go to state 126 value go to state 127 state 179 54 statement: "for" '(' assign ';' . expr ';' assign ')' statement 64 expr: . expr "&&" expr 65 | . expr "||" expr 66 | . expr "==" expr 67 | . expr "!=" expr 68 | . expr '>' expr 69 | . expr ">=" expr 70 | . expr '<' expr 71 | . expr "<=" expr 72 | . expr '&' expr 73 | . expr '|' expr 74 | . expr "<<" expr 75 | . expr ">>" expr 76 | . expr '-' expr 77 | . expr '+' expr 78 | . expr '*' expr 79 | . expr '/' expr 80 | . expr '%' expr 81 | . '-' expr 82 | . '(' expr ')' 83 | . value 84 | . "ival" 85 | . "sval" 86 | . "identifier" '(' args ')' 87 | . "identifier" '(' ')' 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "ival" shift, and go to state 33 "identifier" shift, and go to state 34 "sval" shift, and go to state 35 '-' shift, and go to state 36 '(' shift, and go to state 37 expr go to state 187 value go to state 39 state 180 56 statement: "switch" '(' expr ')' . '{' state_list '}' '{' shift, and go to state 188 state 181 46 statement: "goto" "identifier" '(' ')' . ';' ';' shift, and go to state 189 state 182 45 statement: "goto" "identifier" '(' args . ')' ';' 91 args: args . ',' expr ')' shift, and go to state 190 ',' shift, and go to state 132 state 183 44 statement: "exit" '(' ')' ';' . $default reduce using rule 44 (statement) state 184 42 statement: "identifier" '(' args ')' ';' . $default reduce using rule 42 (statement) state 185 52 statement: "if" '(' expr ')' statement . ["identifier", "if", "else", "while", "for", "switch", "case", "default", "break", "return", "goto", "exit", ';', '{', '}'] 53 | "if" '(' expr ')' statement . "else" statement "else" shift, and go to state 191 "else" [reduce using rule 52 (statement)] $default reduce using rule 52 (statement) state 186 55 statement: "while" '(' expr ')' statement . $default reduce using rule 55 (statement) state 187 54 statement: "for" '(' assign ';' expr . ';' assign ')' statement 64 expr: expr . "&&" expr 65 | expr . "||" expr 66 | expr . "==" expr 67 | expr . "!=" expr 68 | expr . '>' expr 69 | expr . ">=" expr 70 | expr . '<' expr 71 | expr . "<=" expr 72 | expr . '&' expr 73 | expr . '|' expr 74 | expr . "<<" expr 75 | expr . ">>" expr 76 | expr . '-' expr 77 | expr . '+' expr 78 | expr . '*' expr 79 | expr . '/' expr 80 | expr . '%' expr "||" shift, and go to state 58 "&&" shift, and go to state 59 "==" shift, and go to state 60 "!=" shift, and go to state 61 ">=" shift, and go to state 62 "<=" shift, and go to state 63 "<<" shift, and go to state 64 ">>" shift, and go to state 65 '>' shift, and go to state 66 '<' shift, and go to state 67 '&' shift, and go to state 68 '|' shift, and go to state 69 '+' shift, and go to state 70 '-' shift, and go to state 71 '*' shift, and go to state 72 '/' shift, and go to state 73 '%' shift, and go to state 74 ';' shift, and go to state 192 state 188 31 block: . '{' decl_list state_list '}' 34 state_list: . ['}'] 35 | . states 38 states: . statement 39 | . states statement 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 56 | "switch" '(' expr ')' '{' . state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 $default reduce using rule 34 (state_list) block go to state 122 state_list go to state 193 states go to state 124 statement go to state 125 assign go to state 126 value go to state 127 state 189 46 statement: "goto" "identifier" '(' ')' ';' . $default reduce using rule 46 (statement) state 190 45 statement: "goto" "identifier" '(' args ')' . ';' ';' shift, and go to state 194 state 191 31 block: . '{' decl_list state_list '}' 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 53 | "if" '(' expr ')' statement "else" . statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 block go to state 122 statement go to state 195 assign go to state 126 value go to state 127 state 192 54 statement: "for" '(' assign ';' expr ';' . assign ')' statement 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 40 assign go to state 196 value go to state 127 state 193 56 statement: "switch" '(' expr ')' '{' state_list . '}' '}' shift, and go to state 197 state 194 45 statement: "goto" "identifier" '(' args ')' ';' . $default reduce using rule 45 (statement) state 195 53 statement: "if" '(' expr ')' statement "else" statement . $default reduce using rule 53 (statement) state 196 54 statement: "for" '(' assign ';' expr ';' assign . ')' statement ')' shift, and go to state 198 state 197 56 statement: "switch" '(' expr ')' '{' state_list '}' . $default reduce using rule 56 (statement) state 198 31 block: . '{' decl_list state_list '}' 40 statement: . ';' 41 | . assign ';' 42 | . "identifier" '(' args ')' ';' 43 | . "identifier" '(' ')' ';' 44 | . "exit" '(' ')' ';' 45 | . "goto" "identifier" '(' args ')' ';' 46 | . "goto" "identifier" '(' ')' ';' 47 | . "case" expr ':' 48 | . "default" ':' 49 | . "break" ';' 50 | . "return" ';' 51 | . "return" expr ';' 52 | . "if" '(' expr ')' statement 53 | . "if" '(' expr ')' statement "else" statement 54 | . "for" '(' assign ';' expr ';' assign ')' statement 54 | "for" '(' assign ';' expr ';' assign ')' . statement 55 | . "while" '(' expr ')' statement 56 | . "switch" '(' expr ')' '{' state_list '}' 57 | . block 58 assign: . value '=' expr 59 | . value "+=" expr 60 | . value "-=" expr 61 | . value "*=" expr 62 | . value "/=" expr 63 | . value "%=" expr 88 value: . "identifier" 89 | . "identifier" '[' expr ']' "identifier" shift, and go to state 110 "if" shift, and go to state 111 "while" shift, and go to state 112 "for" shift, and go to state 113 "switch" shift, and go to state 114 "case" shift, and go to state 115 "default" shift, and go to state 116 "break" shift, and go to state 117 "return" shift, and go to state 118 "goto" shift, and go to state 119 "exit" shift, and go to state 120 ';' shift, and go to state 121 '{' shift, and go to state 43 block go to state 122 statement go to state 199 assign go to state 126 value go to state 127 state 199 54 statement: "for" '(' assign ';' expr ';' assign ')' statement . $default reduce using rule 54 (statement)