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