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