Terminals which are not used ERROR State 85 conflicts: 1 shift/reduce Grammar 0 $accept: program $end 1 program: declarations TYPE_INT FUNC_MAIN '(' VOID ')' block 2 block: '{' declarations statements '}' 3 declarations: /* empty */ 4 | declarations decl 5 decl: decl_type decl_vars ';' 6 | error ';' 7 decl_type: TYPE_INT 8 | TYPE_CHAR 9 decl_vars: IDENT 10 | decl_vars ',' IDENT 11 statements: /* empty */ 12 | stmt statements 13 stmt: unt_stmt ';' 14 | block 15 | IF '(' comp ')' stmt 16 @1: /* empty */ 17 stmt: IF '(' comp ')' stmt ELSE @1 stmt 18 @2: /* empty */ 19 @3: /* empty */ 20 @4: /* empty */ 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 unt_stmt ')' @4 stmt 22 @5: /* empty */ 23 @6: /* empty */ 24 stmt: WHILE @5 '(' comp ')' @6 stmt 25 | RETURN expr ';' 26 | RETURN ';' 27 | CONTINUE ';' 28 | BREAK ';' 29 unt_stmt: /* empty */ 30 | IDENT '=' expr 31 | FUNC_PRINTF '(' param_list ')' 32 | expr 33 param_list: expr 34 | expr ',' param_list 35 comp: expr '>' expr 36 | expr '<' expr 37 | expr GTEQ expr 38 | expr LTEQ expr 39 | expr EQ expr 40 | expr NEQ expr 41 expr: expr '+' expr 42 | expr '-' expr 43 | expr '*' expr 44 | expr '/' expr 45 | '-' expr 46 | '(' expr ')' 47 | term 48 | term INCR 49 | term DECR 50 term: IDENT 51 | CONST Terminals, with rules where they appear $end (0) 0 '(' (40) 1 15 17 21 24 31 46 ')' (41) 1 15 17 21 24 31 46 '*' (42) 43 '+' (43) 41 ',' (44) 10 34 '-' (45) 42 45 '/' (47) 44 ';' (59) 5 6 13 21 25 26 27 28 '<' (60) 36 '=' (61) 30 '>' (62) 35 '{' (123) 2 '}' (125) 2 error (256) 6 ERROR (258) IF (259) 15 17 ELSE (260) 17 FOR (261) 21 WHILE (262) 24 RETURN (263) 25 26 CONTINUE (264) 27 BREAK (265) 28 FUNC_MAIN (266) 1 FUNC_PRINTF (267) 31 TYPE_INT (268) 1 7 TYPE_CHAR (269) 8 VOID (270) 1 INCR (271) 48 DECR (272) 49 GTEQ (273) 37 LTEQ (274) 38 EQ (275) 39 NEQ (276) 40 IDENT (277) 9 10 30 50 CONST (278) 51 Nonterminals, with rules where they appear $accept (37) on left: 0 program (38) on left: 1, on right: 0 block (39) on left: 2, on right: 1 14 declarations (40) on left: 3 4, on right: 1 2 4 decl (41) on left: 5 6, on right: 4 decl_type (42) on left: 7 8, on right: 5 decl_vars (43) on left: 9 10, on right: 5 10 statements (44) on left: 11 12, on right: 2 12 stmt (45) on left: 13 14 15 17 21 24 25 26 27 28, on right: 12 15 17 21 24 @1 (46) on left: 16, on right: 17 @2 (47) on left: 18, on right: 21 @3 (48) on left: 19, on right: 21 @4 (49) on left: 20, on right: 21 @5 (50) on left: 22, on right: 24 @6 (51) on left: 23, on right: 24 unt_stmt (52) on left: 29 30 31 32, on right: 13 21 param_list (53) on left: 33 34, on right: 31 34 comp (54) on left: 35 36 37 38 39 40, on right: 15 17 21 24 expr (55) on left: 41 42 43 44 45 46 47 48 49, on right: 25 30 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 term (56) on left: 50 51, on right: 47 48 49 state 0 0 $accept: . program $end $default reduce using rule 3 (declarations) program go to state 1 declarations go to state 2 state 1 0 $accept: program . $end $end shift, and go to state 3 state 2 1 program: declarations . TYPE_INT FUNC_MAIN '(' VOID ')' block 4 declarations: declarations . decl error shift, and go to state 4 TYPE_INT shift, and go to state 5 TYPE_CHAR shift, and go to state 6 decl go to state 7 decl_type go to state 8 state 3 0 $accept: program $end . $default accept state 4 6 decl: error . ';' ';' shift, and go to state 9 state 5 1 program: declarations TYPE_INT . FUNC_MAIN '(' VOID ')' block 7 decl_type: TYPE_INT . FUNC_MAIN shift, and go to state 10 $default reduce using rule 7 (decl_type) state 6 8 decl_type: TYPE_CHAR . $default reduce using rule 8 (decl_type) state 7 4 declarations: declarations decl . $default reduce using rule 4 (declarations) state 8 5 decl: decl_type . decl_vars ';' IDENT shift, and go to state 11 decl_vars go to state 12 state 9 6 decl: error ';' . $default reduce using rule 6 (decl) state 10 1 program: declarations TYPE_INT FUNC_MAIN . '(' VOID ')' block '(' shift, and go to state 13 state 11 9 decl_vars: IDENT . $default reduce using rule 9 (decl_vars) state 12 5 decl: decl_type decl_vars . ';' 10 decl_vars: decl_vars . ',' IDENT ';' shift, and go to state 14 ',' shift, and go to state 15 state 13 1 program: declarations TYPE_INT FUNC_MAIN '(' . VOID ')' block VOID shift, and go to state 16 state 14 5 decl: decl_type decl_vars ';' . $default reduce using rule 5 (decl) state 15 10 decl_vars: decl_vars ',' . IDENT IDENT shift, and go to state 17 state 16 1 program: declarations TYPE_INT FUNC_MAIN '(' VOID . ')' block ')' shift, and go to state 18 state 17 10 decl_vars: decl_vars ',' IDENT . $default reduce using rule 10 (decl_vars) state 18 1 program: declarations TYPE_INT FUNC_MAIN '(' VOID ')' . block '{' shift, and go to state 19 block go to state 20 state 19 2 block: '{' . declarations statements '}' $default reduce using rule 3 (declarations) declarations go to state 21 state 20 1 program: declarations TYPE_INT FUNC_MAIN '(' VOID ')' block . $default reduce using rule 1 (program) state 21 2 block: '{' declarations . statements '}' 4 declarations: declarations . decl error shift, and go to state 4 IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 TYPE_INT shift, and go to state 29 TYPE_CHAR shift, and go to state 6 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 '}' reduce using rule 11 (statements) ';' reduce using rule 29 (unt_stmt) block go to state 34 decl go to state 7 decl_type go to state 8 statements go to state 35 stmt go to state 36 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 22 15 stmt: IF . '(' comp ')' stmt 17 | IF . '(' comp ')' stmt ELSE @1 stmt '(' shift, and go to state 40 state 23 21 stmt: FOR . '(' unt_stmt ';' @2 comp ';' @3 unt_stmt ')' @4 stmt '(' shift, and go to state 41 state 24 24 stmt: WHILE . @5 '(' comp ')' @6 stmt $default reduce using rule 22 (@5) @5 go to state 42 state 25 25 stmt: RETURN . expr ';' 26 | RETURN . ';' IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 ';' shift, and go to state 44 expr go to state 45 term go to state 39 state 26 27 stmt: CONTINUE . ';' ';' shift, and go to state 46 state 27 28 stmt: BREAK . ';' ';' shift, and go to state 47 state 28 31 unt_stmt: FUNC_PRINTF . '(' param_list ')' '(' shift, and go to state 48 state 29 7 decl_type: TYPE_INT . $default reduce using rule 7 (decl_type) state 30 30 unt_stmt: IDENT . '=' expr 50 term: IDENT . '=' shift, and go to state 49 $default reduce using rule 50 (term) state 31 51 term: CONST . $default reduce using rule 51 (term) state 32 45 expr: '-' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 50 term go to state 39 state 33 46 expr: '(' . expr ')' IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 51 term go to state 39 state 34 14 stmt: block . $default reduce using rule 14 (stmt) state 35 2 block: '{' declarations statements . '}' '}' shift, and go to state 52 state 36 12 statements: stmt . statements IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 ';' reduce using rule 29 (unt_stmt) $default reduce using rule 11 (statements) block go to state 34 statements go to state 53 stmt go to state 36 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 37 13 stmt: unt_stmt . ';' ';' shift, and go to state 54 state 38 32 unt_stmt: expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 32 (unt_stmt) state 39 47 expr: term . 48 | term . INCR 49 | term . DECR INCR shift, and go to state 59 DECR shift, and go to state 60 $default reduce using rule 47 (expr) state 40 15 stmt: IF '(' . comp ')' stmt 17 | IF '(' . comp ')' stmt ELSE @1 stmt IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 comp go to state 61 expr go to state 62 term go to state 39 state 41 21 stmt: FOR '(' . unt_stmt ';' @2 comp ';' @3 unt_stmt ')' @4 stmt FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 $default reduce using rule 29 (unt_stmt) unt_stmt go to state 63 expr go to state 38 term go to state 39 state 42 24 stmt: WHILE @5 . '(' comp ')' @6 stmt '(' shift, and go to state 64 state 43 50 term: IDENT . $default reduce using rule 50 (term) state 44 26 stmt: RETURN ';' . $default reduce using rule 26 (stmt) state 45 25 stmt: RETURN expr . ';' 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' 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 65 state 46 27 stmt: CONTINUE ';' . $default reduce using rule 27 (stmt) state 47 28 stmt: BREAK ';' . $default reduce using rule 28 (stmt) state 48 31 unt_stmt: FUNC_PRINTF '(' . param_list ')' IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 param_list go to state 66 expr go to state 67 term go to state 39 state 49 30 unt_stmt: IDENT '=' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 68 term go to state 39 state 50 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr 45 | '-' expr . '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 45 (expr) state 51 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr 46 | '(' expr . ')' '+' 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 69 state 52 2 block: '{' declarations statements '}' . $default reduce using rule 2 (block) state 53 12 statements: stmt statements . $default reduce using rule 12 (statements) state 54 13 stmt: unt_stmt ';' . $default reduce using rule 13 (stmt) state 55 41 expr: expr '+' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 70 term go to state 39 state 56 42 expr: expr '-' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 71 term go to state 39 state 57 43 expr: expr '*' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 72 term go to state 39 state 58 44 expr: expr '/' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 73 term go to state 39 state 59 48 expr: term INCR . $default reduce using rule 48 (expr) state 60 49 expr: term DECR . $default reduce using rule 49 (expr) state 61 15 stmt: IF '(' comp . ')' stmt 17 | IF '(' comp . ')' stmt ELSE @1 stmt ')' shift, and go to state 74 state 62 35 comp: expr . '>' expr 36 | expr . '<' expr 37 | expr . GTEQ expr 38 | expr . LTEQ expr 39 | expr . EQ expr 40 | expr . NEQ expr 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr GTEQ shift, and go to state 75 LTEQ shift, and go to state 76 EQ shift, and go to state 77 NEQ shift, and go to state 78 '+' 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 79 '>' shift, and go to state 80 state 63 21 stmt: FOR '(' unt_stmt . ';' @2 comp ';' @3 unt_stmt ')' @4 stmt ';' shift, and go to state 81 state 64 24 stmt: WHILE @5 '(' . comp ')' @6 stmt IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 comp go to state 82 expr go to state 62 term go to state 39 state 65 25 stmt: RETURN expr ';' . $default reduce using rule 25 (stmt) state 66 31 unt_stmt: FUNC_PRINTF '(' param_list . ')' ')' shift, and go to state 83 state 67 33 param_list: expr . 34 | expr . ',' param_list 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' 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 84 $default reduce using rule 33 (param_list) state 68 30 unt_stmt: IDENT '=' expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 30 (unt_stmt) state 69 46 expr: '(' expr ')' . $default reduce using rule 46 (expr) state 70 41 expr: expr . '+' expr 41 | expr '+' expr . 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 41 (expr) state 71 41 expr: expr . '+' expr 42 | expr . '-' expr 42 | expr '-' expr . 43 | expr . '*' expr 44 | expr . '/' expr '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 42 (expr) state 72 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 43 | expr '*' expr . 44 | expr . '/' expr $default reduce using rule 43 (expr) state 73 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr 44 | expr '/' expr . $default reduce using rule 44 (expr) state 74 15 stmt: IF '(' comp ')' . stmt 17 | IF '(' comp ')' . stmt ELSE @1 stmt IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 $default reduce using rule 29 (unt_stmt) block go to state 34 stmt go to state 85 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 75 37 comp: expr GTEQ . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 86 term go to state 39 state 76 38 comp: expr LTEQ . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 87 term go to state 39 state 77 39 comp: expr EQ . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 88 term go to state 39 state 78 40 comp: expr NEQ . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 89 term go to state 39 state 79 36 comp: expr '<' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 90 term go to state 39 state 80 35 comp: expr '>' . expr IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 expr go to state 91 term go to state 39 state 81 21 stmt: FOR '(' unt_stmt ';' . @2 comp ';' @3 unt_stmt ')' @4 stmt $default reduce using rule 18 (@2) @2 go to state 92 state 82 24 stmt: WHILE @5 '(' comp . ')' @6 stmt ')' shift, and go to state 93 state 83 31 unt_stmt: FUNC_PRINTF '(' param_list ')' . $default reduce using rule 31 (unt_stmt) state 84 34 param_list: expr ',' . param_list IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 param_list go to state 94 expr go to state 67 term go to state 39 state 85 15 stmt: IF '(' comp ')' stmt . 17 | IF '(' comp ')' stmt . ELSE @1 stmt ELSE shift, and go to state 95 ELSE [reduce using rule 15 (stmt)] $default reduce using rule 15 (stmt) state 86 37 comp: expr GTEQ expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 37 (comp) state 87 38 comp: expr LTEQ expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 38 (comp) state 88 39 comp: expr EQ expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 39 (comp) state 89 40 comp: expr NEQ expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 40 (comp) state 90 36 comp: expr '<' expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 36 (comp) state 91 35 comp: expr '>' expr . 41 expr: expr . '+' expr 42 | expr . '-' expr 43 | expr . '*' expr 44 | expr . '/' expr '+' shift, and go to state 55 '-' shift, and go to state 56 '*' shift, and go to state 57 '/' shift, and go to state 58 $default reduce using rule 35 (comp) state 92 21 stmt: FOR '(' unt_stmt ';' @2 . comp ';' @3 unt_stmt ')' @4 stmt IDENT shift, and go to state 43 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 comp go to state 96 expr go to state 62 term go to state 39 state 93 24 stmt: WHILE @5 '(' comp ')' . @6 stmt $default reduce using rule 23 (@6) @6 go to state 97 state 94 34 param_list: expr ',' param_list . $default reduce using rule 34 (param_list) state 95 17 stmt: IF '(' comp ')' stmt ELSE . @1 stmt $default reduce using rule 16 (@1) @1 go to state 98 state 96 21 stmt: FOR '(' unt_stmt ';' @2 comp . ';' @3 unt_stmt ')' @4 stmt ';' shift, and go to state 99 state 97 24 stmt: WHILE @5 '(' comp ')' @6 . stmt IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 $default reduce using rule 29 (unt_stmt) block go to state 34 stmt go to state 100 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 98 17 stmt: IF '(' comp ')' stmt ELSE @1 . stmt IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 $default reduce using rule 29 (unt_stmt) block go to state 34 stmt go to state 101 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 99 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' . @3 unt_stmt ')' @4 stmt $default reduce using rule 19 (@3) @3 go to state 102 state 100 24 stmt: WHILE @5 '(' comp ')' @6 stmt . $default reduce using rule 24 (stmt) state 101 17 stmt: IF '(' comp ')' stmt ELSE @1 stmt . $default reduce using rule 17 (stmt) state 102 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 . unt_stmt ')' @4 stmt FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 $default reduce using rule 29 (unt_stmt) unt_stmt go to state 103 expr go to state 38 term go to state 39 state 103 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 unt_stmt . ')' @4 stmt ')' shift, and go to state 104 state 104 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 unt_stmt ')' . @4 stmt $default reduce using rule 20 (@4) @4 go to state 105 state 105 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 unt_stmt ')' @4 . stmt IF shift, and go to state 22 FOR shift, and go to state 23 WHILE shift, and go to state 24 RETURN shift, and go to state 25 CONTINUE shift, and go to state 26 BREAK shift, and go to state 27 FUNC_PRINTF shift, and go to state 28 IDENT shift, and go to state 30 CONST shift, and go to state 31 '-' shift, and go to state 32 '(' shift, and go to state 33 '{' shift, and go to state 19 $default reduce using rule 29 (unt_stmt) block go to state 34 stmt go to state 106 unt_stmt go to state 37 expr go to state 38 term go to state 39 state 106 21 stmt: FOR '(' unt_stmt ';' @2 comp ';' @3 unt_stmt ')' @4 stmt . $default reduce using rule 21 (stmt)