Terminals which are not used: FOR State 213 contains 2 shift/reduce conflicts. State 218 contains 1 shift/reduce conflict. Grammar rule 1 Start -> Gitem rule 2 Start -> Start Gitem rule 3 Gitem -> CLASS ident '{' Classbody '}' rule 4 Gitem -> VOID ident '(' Pplist rule 5 Gitem -> Type Optstar ident Girest rule 6 Type -> INT rule 7 Type -> CHAR rule 8 Type -> ident rule 9 Optstar -> /* empty */ rule 10 Optstar -> '*' Optstar rule 11 Girest -> Optarray Vardecl rule 12 Girest -> '(' Plist rule 13 Optarray -> /* empty */ rule 14 Optarray -> '[' num ']' rule 15 Vardecl -> ';' rule 16 Vardecl -> ',' Optstar ident Optarray Vardecl rule 17 Fplist -> ')' '{' Body '}' rule 18 Fplist -> Fplist1 '{' Body '}' rule 19 Fplist1 -> Type Optstar ident ')' rule 20 Fplist1 -> Type Optstar ident ',' Fplist1 rule 21 Plist -> ')' ';' rule 22 Plist -> Fplist rule 23 Plist -> Fplist1 ';' rule 24 Plist -> Type Optstar ')' ';' rule 25 Plist -> Type Optstar ',' Type Optstar Pl1 ')' ';' rule 26 Plist -> Type Optstar ident ',' Type Optstar Pl1 ident Pl3 ')' ';' rule 27 Plist -> Type Optstar ident ',' Type Optstar Pl2 Pl3 ')' ';' rule 28 Pl1 -> /* empty */ rule 29 Pl1 -> ',' Type Optstar Pl1 rule 30 Pl2 -> /* empty */ rule 31 Pl2 -> ident ',' Type Optstar Pl2 rule 32 Pl3 -> /* empty */ rule 33 Pl3 -> ',' Type Optstar Optident Pl3 rule 34 Optident -> /* empty */ rule 35 Optident -> ident rule 36 Pplist -> ')' ';' rule 37 Pplist -> Type Optstar Optident Pl3 ')' ';' rule 38 Classbody -> Citem rule 39 Classbody -> Classbody Citem rule 40 Citem -> Optscope VOID ident '(' Fplist rule 41 Citem -> Optscope Type Optstar ident Cirest rule 42 Optscope -> /* empty */ rule 43 Optscope -> PUBLIC ':' rule 44 Optscope -> PRIVATE ':' rule 45 Cirest -> Optarray Vardecl rule 46 Cirest -> '(' Fplist rule 47 Body -> Bitem rule 48 Body -> Body Bitem rule 49 Bitem -> VOID ident '(' Pplist rule 50 Bitem -> Type Optstar ident '(' Pplist rule 51 Bitem -> Type Optstar ident Optarray Vardecl rule 52 Bitem -> Statement rule 53 Statement -> ';' rule 54 Statement -> Lhsid '=' Expr ';' rule 55 Statement -> Lhsid '(' Cplist ';' rule 56 Statement -> IF '(' Expr ')' Statement rule 57 Statement -> IF '(' Expr ')' Statement ELSE Statement rule 58 Statement -> WHILE '(' Expr ')' Statement rule 59 Statement -> RETURN Expr ';' rule 60 Statement -> COUT Couts ';' rule 61 Statement -> CIN Cins ';' rule 62 Statement -> '{' Stlist '}' rule 63 Statement -> BREAK ';' rule 64 Stlist -> /* empty */ rule 65 Stlist -> Statement Stlist rule 66 Cplist -> ')' rule 67 Cplist -> Cplist1 rule 68 Cplist1 -> Expr ')' rule 69 Cplist1 -> Expr ',' Cplist1 rule 70 Lhsid -> Lhsid1 rule 71 Lhsid -> '*' Lhsid rule 72 Lhsid1 -> Lhsid1 INS Lhsbase rule 73 Lhsid1 -> Lhsid1 '.' Lhsbase rule 74 Lhsid1 -> Lhsbase rule 75 Lhsbase -> ident rule 76 Lhsbase -> ident '[' Expr ']' rule 77 Couts -> /* empty */ rule 78 Couts -> OUT Expr Couts rule 79 Cins -> /* empty */ rule 80 Cins -> IN Lhsid Cins rule 81 Expr -> Expr OR Expr1 rule 82 Expr -> Expr1 rule 83 Expr1 -> Expr1 AND Expr2 rule 84 Expr1 -> Expr2 rule 85 Expr2 -> Expr2 EE Expr3 rule 86 Expr2 -> Expr2 NE Expr3 rule 87 Expr2 -> Expr3 rule 88 Expr3 -> Expr3 '<' Expr4 rule 89 Expr3 -> Expr3 LE Expr4 rule 90 Expr3 -> Expr3 '>' Expr4 rule 91 Expr3 -> Expr3 GE Expr4 rule 92 Expr3 -> Expr4 rule 93 Expr4 -> Expr4 '+' Expr5 rule 94 Expr4 -> Expr4 '-' Expr5 rule 95 Expr4 -> Expr5 rule 96 Expr5 -> Expr5 '*' Expr6 rule 97 Expr5 -> Expr5 '/' Expr6 rule 98 Expr5 -> Expr5 '%' Expr6 rule 99 Expr5 -> Expr6 rule 100 Expr6 -> '!' Expr7 rule 101 Expr6 -> '+' Expr7 rule 102 Expr6 -> '-' Expr7 rule 103 Expr6 -> Expr7 rule 104 Expr7 -> '(' Expr ')' rule 105 Expr7 -> Lhsid '(' Cplist rule 106 Expr7 -> Lhsid rule 107 Expr7 -> '&' Lhsid rule 108 Expr7 -> num rule 109 Expr7 -> charconst rule 110 Expr7 -> string Terminals, with rules where they appear $ (-1) '!' (33) 100 '%' (37) 98 '&' (38) 107 '(' (40) 4 12 40 46 49 50 55 56 57 58 104 105 ')' (41) 17 19 21 24 25 26 27 36 37 56 57 58 66 68 104 '*' (42) 10 71 96 '+' (43) 93 101 ',' (44) 16 20 25 26 27 29 31 33 69 '-' (45) 94 102 '.' (46) 73 '/' (47) 97 ':' (58) 43 44 ';' (59) 15 21 23 24 25 26 27 36 37 53 54 55 59 60 61 63 '<' (60) 88 '=' (61) 54 '>' (62) 90 '[' (91) 14 76 ']' (93) 14 76 '{' (123) 3 17 18 62 '}' (125) 3 17 18 62 error (256) ident (258) 3 4 5 8 16 19 20 26 27 31 35 40 41 49 50 51 75 76 num (259) 14 108 charconst (260) 109 string (261) 110 INT (262) 6 CHAR (263) 7 VOID (264) 4 40 49 COUT (265) 60 CIN (266) 61 CLASS (267) 3 PUBLIC (268) 43 PRIVATE (269) 44 IF (270) 56 57 ELSE (271) 57 WHILE (272) 58 FOR (273) RETURN (274) 59 BREAK (275) 63 IN (276) 80 OUT (277) 78 LE (278) 89 NE (279) 86 GE (280) 91 EE (281) 85 AND (282) 83 OR (283) 81 INS (284) 72 UOP (285) Nonterminals, with rules where they appear Start (51) on left: 1 2, on right: 2 Gitem (52) on left: 3 4 5, on right: 1 2 Type (53) on left: 6 7 8, on right: 5 19 20 24 25 26 27 29 31 33 37 41 50 51 Optstar (54) on left: 9 10, on right: 5 10 16 19 20 24 25 26 27 29 31 33 37 41 50 51 Girest (55) on left: 11 12, on right: 5 Optarray (56) on left: 13 14, on right: 11 16 45 51 Vardecl (57) on left: 15 16, on right: 11 16 45 51 Fplist (58) on left: 17 18, on right: 22 40 46 Fplist1 (59) on left: 19 20, on right: 18 20 23 Plist (60) on left: 21 22 23 24 25 26 27, on right: 12 Pl1 (61) on left: 28 29, on right: 25 26 29 Pl2 (62) on left: 30 31, on right: 27 31 Pl3 (63) on left: 32 33, on right: 26 27 33 37 Optident (64) on left: 34 35, on right: 33 37 Pplist (65) on left: 36 37, on right: 4 49 50 Classbody (66) on left: 38 39, on right: 3 39 Citem (67) on left: 40 41, on right: 38 39 Optscope (68) on left: 42 43 44, on right: 40 41 Cirest (69) on left: 45 46, on right: 41 Body (70) on left: 47 48, on right: 17 18 48 Bitem (71) on left: 49 50 51 52, on right: 47 48 Statement (72) on left: 53 54 55 56 57 58 59 60 61 62 63, on right: 52 56 57 58 65 Stlist (73) on left: 64 65, on right: 62 65 Cplist (74) on left: 66 67, on right: 55 105 Cplist1 (75) on left: 68 69, on right: 67 69 Lhsid (76) on left: 70 71, on right: 54 55 71 80 105 106 107 Lhsid1 (77) on left: 72 73 74, on right: 70 72 73 Lhsbase (78) on left: 75 76, on right: 72 73 74 Couts (79) on left: 77 78, on right: 60 78 Cins (80) on left: 79 80, on right: 61 80 Expr (81) on left: 81 82, on right: 54 56 57 58 59 68 69 76 78 81 104 Expr1 (82) on left: 83 84, on right: 81 82 83 Expr2 (83) on left: 85 86 87, on right: 83 84 85 86 Expr3 (84) on left: 88 89 90 91 92, on right: 85 86 87 88 89 90 91 Expr4 (85) on left: 93 94 95, on right: 88 89 90 91 92 93 94 Expr5 (86) on left: 96 97 98 99, on right: 93 94 95 96 97 98 Expr6 (87) on left: 100 101 102 103, on right: 96 97 98 99 Expr7 (88) on left: 104 105 106 107 108 109 110, on right: 100 101 102 103 state 0 ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 4 CLASS shift, and go to state 5 Start go to state 6 Gitem go to state 7 Type go to state 8 state 1 Type -> ident . (rule 8) $default reduce using rule 8 (Type) state 2 Type -> INT . (rule 6) $default reduce using rule 6 (Type) state 3 Type -> CHAR . (rule 7) $default reduce using rule 7 (Type) state 4 Gitem -> VOID . ident '(' Pplist (rule 4) ident shift, and go to state 9 state 5 Gitem -> CLASS . ident '{' Classbody '}' (rule 3) ident shift, and go to state 10 state 6 Start -> Start . Gitem (rule 2) $ go to state 244 ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 4 CLASS shift, and go to state 5 Gitem go to state 11 Type go to state 8 state 7 Start -> Gitem . (rule 1) $default reduce using rule 1 (Start) state 8 Gitem -> Type . Optstar ident Girest (rule 5) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 13 state 9 Gitem -> VOID ident . '(' Pplist (rule 4) '(' shift, and go to state 14 state 10 Gitem -> CLASS ident . '{' Classbody '}' (rule 3) '{' shift, and go to state 15 state 11 Start -> Start Gitem . (rule 2) $default reduce using rule 2 (Start) state 12 Optstar -> '*' . Optstar (rule 10) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 16 state 13 Gitem -> Type Optstar . ident Girest (rule 5) ident shift, and go to state 17 state 14 Gitem -> VOID ident '(' . Pplist (rule 4) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 18 Type go to state 19 Pplist go to state 20 state 15 Gitem -> CLASS ident '{' . Classbody '}' (rule 3) PUBLIC shift, and go to state 21 PRIVATE shift, and go to state 22 $default reduce using rule 42 (Optscope) Classbody go to state 23 Citem go to state 24 Optscope go to state 25 state 16 Optstar -> '*' Optstar . (rule 10) $default reduce using rule 10 (Optstar) state 17 Gitem -> Type Optstar ident . Girest (rule 5) '(' shift, and go to state 26 '[' shift, and go to state 27 $default reduce using rule 13 (Optarray) Girest go to state 28 Optarray go to state 29 state 18 Pplist -> ')' . ';' (rule 36) ';' shift, and go to state 30 state 19 Pplist -> Type . Optstar Optident Pl3 ')' ';' (rule 37) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 31 state 20 Gitem -> VOID ident '(' Pplist . (rule 4) $default reduce using rule 4 (Gitem) state 21 Optscope -> PUBLIC . ':' (rule 43) ':' shift, and go to state 32 state 22 Optscope -> PRIVATE . ':' (rule 44) ':' shift, and go to state 33 state 23 Gitem -> CLASS ident '{' Classbody . '}' (rule 3) Classbody -> Classbody . Citem (rule 39) PUBLIC shift, and go to state 21 PRIVATE shift, and go to state 22 '}' shift, and go to state 34 $default reduce using rule 42 (Optscope) Citem go to state 35 Optscope go to state 25 state 24 Classbody -> Citem . (rule 38) $default reduce using rule 38 (Classbody) state 25 Citem -> Optscope . VOID ident '(' Fplist (rule 40) Citem -> Optscope . Type Optstar ident Cirest (rule 41) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 36 Type go to state 37 state 26 Girest -> '(' . Plist (rule 12) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 38 Type go to state 39 Fplist go to state 40 Fplist1 go to state 41 Plist go to state 42 state 27 Optarray -> '[' . num ']' (rule 14) num shift, and go to state 43 state 28 Gitem -> Type Optstar ident Girest . (rule 5) $default reduce using rule 5 (Gitem) state 29 Girest -> Optarray . Vardecl (rule 11) ';' shift, and go to state 44 ',' shift, and go to state 45 Vardecl go to state 46 state 30 Pplist -> ')' ';' . (rule 36) $default reduce using rule 36 (Pplist) state 31 Pplist -> Type Optstar . Optident Pl3 ')' ';' (rule 37) ident shift, and go to state 47 $default reduce using rule 34 (Optident) Optident go to state 48 state 32 Optscope -> PUBLIC ':' . (rule 43) $default reduce using rule 43 (Optscope) state 33 Optscope -> PRIVATE ':' . (rule 44) $default reduce using rule 44 (Optscope) state 34 Gitem -> CLASS ident '{' Classbody '}' . (rule 3) $default reduce using rule 3 (Gitem) state 35 Classbody -> Classbody Citem . (rule 39) $default reduce using rule 39 (Classbody) state 36 Citem -> Optscope VOID . ident '(' Fplist (rule 40) ident shift, and go to state 49 state 37 Citem -> Optscope Type . Optstar ident Cirest (rule 41) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 50 state 38 Fplist -> ')' . '{' Body '}' (rule 17) Plist -> ')' . ';' (rule 21) '{' shift, and go to state 51 ';' shift, and go to state 52 state 39 Fplist1 -> Type . Optstar ident ')' (rule 19) Fplist1 -> Type . Optstar ident ',' Fplist1 (rule 20) Plist -> Type . Optstar ')' ';' (rule 24) Plist -> Type . Optstar ',' Type Optstar Pl1 ')' ';' (rule 25) Plist -> Type . Optstar ident ',' Type Optstar Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type . Optstar ident ',' Type Optstar Pl2 Pl3 ')' ';' (rule 27) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 53 state 40 Plist -> Fplist . (rule 22) $default reduce using rule 22 (Plist) state 41 Fplist -> Fplist1 . '{' Body '}' (rule 18) Plist -> Fplist1 . ';' (rule 23) '{' shift, and go to state 54 ';' shift, and go to state 55 state 42 Girest -> '(' Plist . (rule 12) $default reduce using rule 12 (Girest) state 43 Optarray -> '[' num . ']' (rule 14) ']' shift, and go to state 56 state 44 Vardecl -> ';' . (rule 15) $default reduce using rule 15 (Vardecl) state 45 Vardecl -> ',' . Optstar ident Optarray Vardecl (rule 16) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 57 state 46 Girest -> Optarray Vardecl . (rule 11) $default reduce using rule 11 (Girest) state 47 Optident -> ident . (rule 35) $default reduce using rule 35 (Optident) state 48 Pplist -> Type Optstar Optident . Pl3 ')' ';' (rule 37) ',' shift, and go to state 58 $default reduce using rule 32 (Pl3) Pl3 go to state 59 state 49 Citem -> Optscope VOID ident . '(' Fplist (rule 40) '(' shift, and go to state 60 state 50 Citem -> Optscope Type Optstar . ident Cirest (rule 41) ident shift, and go to state 61 state 51 Fplist -> ')' '{' . Body '}' (rule 17) ident shift, and go to state 62 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 63 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 Type go to state 73 Body go to state 74 Bitem go to state 75 Statement go to state 76 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 52 Plist -> ')' ';' . (rule 21) $default reduce using rule 21 (Plist) state 53 Fplist1 -> Type Optstar . ident ')' (rule 19) Fplist1 -> Type Optstar . ident ',' Fplist1 (rule 20) Plist -> Type Optstar . ')' ';' (rule 24) Plist -> Type Optstar . ',' Type Optstar Pl1 ')' ';' (rule 25) Plist -> Type Optstar . ident ',' Type Optstar Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type Optstar . ident ',' Type Optstar Pl2 Pl3 ')' ';' (rule 27) ident shift, and go to state 80 ',' shift, and go to state 81 ')' shift, and go to state 82 state 54 Fplist -> Fplist1 '{' . Body '}' (rule 18) ident shift, and go to state 62 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 63 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 Type go to state 73 Body go to state 83 Bitem go to state 75 Statement go to state 76 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 55 Plist -> Fplist1 ';' . (rule 23) $default reduce using rule 23 (Plist) state 56 Optarray -> '[' num ']' . (rule 14) $default reduce using rule 14 (Optarray) state 57 Vardecl -> ',' Optstar . ident Optarray Vardecl (rule 16) ident shift, and go to state 84 state 58 Pl3 -> ',' . Type Optstar Optident Pl3 (rule 33) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 85 state 59 Pplist -> Type Optstar Optident Pl3 . ')' ';' (rule 37) ')' shift, and go to state 86 state 60 Citem -> Optscope VOID ident '(' . Fplist (rule 40) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 87 Type go to state 88 Fplist go to state 89 Fplist1 go to state 90 state 61 Citem -> Optscope Type Optstar ident . Cirest (rule 41) '(' shift, and go to state 91 '[' shift, and go to state 27 $default reduce using rule 13 (Optarray) Optarray go to state 92 Cirest go to state 93 state 62 Type -> ident . (rule 8) Lhsbase -> ident . (rule 75) Lhsbase -> ident . '[' Expr ']' (rule 76) '[' shift, and go to state 94 ident reduce using rule 8 (Type) '*' reduce using rule 8 (Type) $default reduce using rule 75 (Lhsbase) state 63 Bitem -> VOID . ident '(' Pplist (rule 49) ident shift, and go to state 95 state 64 Statement -> COUT . Couts ';' (rule 60) OUT shift, and go to state 96 $default reduce using rule 77 (Couts) Couts go to state 97 state 65 Statement -> CIN . Cins ';' (rule 61) IN shift, and go to state 98 $default reduce using rule 79 (Cins) Cins go to state 99 state 66 Statement -> IF . '(' Expr ')' Statement (rule 56) Statement -> IF . '(' Expr ')' Statement ELSE Statement (rule 57) '(' shift, and go to state 100 state 67 Statement -> WHILE . '(' Expr ')' Statement (rule 58) '(' shift, and go to state 101 state 68 Statement -> RETURN . Expr ';' (rule 59) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 112 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 69 Statement -> BREAK . ';' (rule 63) ';' shift, and go to state 120 state 70 Lhsid -> '*' . Lhsid (rule 71) ident shift, and go to state 102 '*' shift, and go to state 70 Lhsid go to state 121 Lhsid1 go to state 78 Lhsbase go to state 79 state 71 Statement -> '{' . Stlist '}' (rule 62) ident shift, and go to state 102 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 $default reduce using rule 64 (Stlist) Statement go to state 122 Stlist go to state 123 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 72 Statement -> ';' . (rule 53) $default reduce using rule 53 (Statement) state 73 Bitem -> Type . Optstar ident '(' Pplist (rule 50) Bitem -> Type . Optstar ident Optarray Vardecl (rule 51) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 124 state 74 Fplist -> ')' '{' Body . '}' (rule 17) Body -> Body . Bitem (rule 48) ident shift, and go to state 62 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 63 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 '}' shift, and go to state 125 ';' shift, and go to state 72 Type go to state 73 Bitem go to state 126 Statement go to state 76 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 75 Body -> Bitem . (rule 47) $default reduce using rule 47 (Body) state 76 Bitem -> Statement . (rule 52) $default reduce using rule 52 (Bitem) state 77 Statement -> Lhsid . '=' Expr ';' (rule 54) Statement -> Lhsid . '(' Cplist ';' (rule 55) '=' shift, and go to state 127 '(' shift, and go to state 128 state 78 Lhsid -> Lhsid1 . (rule 70) Lhsid1 -> Lhsid1 . INS Lhsbase (rule 72) Lhsid1 -> Lhsid1 . '.' Lhsbase (rule 73) INS shift, and go to state 129 '.' shift, and go to state 130 $default reduce using rule 70 (Lhsid) state 79 Lhsid1 -> Lhsbase . (rule 74) $default reduce using rule 74 (Lhsid1) state 80 Fplist1 -> Type Optstar ident . ')' (rule 19) Fplist1 -> Type Optstar ident . ',' Fplist1 (rule 20) Plist -> Type Optstar ident . ',' Type Optstar Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type Optstar ident . ',' Type Optstar Pl2 Pl3 ')' ';' (rule 27) ',' shift, and go to state 131 ')' shift, and go to state 132 state 81 Plist -> Type Optstar ',' . Type Optstar Pl1 ')' ';' (rule 25) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 133 state 82 Plist -> Type Optstar ')' . ';' (rule 24) ';' shift, and go to state 134 state 83 Fplist -> Fplist1 '{' Body . '}' (rule 18) Body -> Body . Bitem (rule 48) ident shift, and go to state 62 INT shift, and go to state 2 CHAR shift, and go to state 3 VOID shift, and go to state 63 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 '}' shift, and go to state 135 ';' shift, and go to state 72 Type go to state 73 Bitem go to state 126 Statement go to state 76 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 84 Vardecl -> ',' Optstar ident . Optarray Vardecl (rule 16) '[' shift, and go to state 27 $default reduce using rule 13 (Optarray) Optarray go to state 136 state 85 Pl3 -> ',' Type . Optstar Optident Pl3 (rule 33) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 137 state 86 Pplist -> Type Optstar Optident Pl3 ')' . ';' (rule 37) ';' shift, and go to state 138 state 87 Fplist -> ')' . '{' Body '}' (rule 17) '{' shift, and go to state 51 state 88 Fplist1 -> Type . Optstar ident ')' (rule 19) Fplist1 -> Type . Optstar ident ',' Fplist1 (rule 20) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 139 state 89 Citem -> Optscope VOID ident '(' Fplist . (rule 40) $default reduce using rule 40 (Citem) state 90 Fplist -> Fplist1 . '{' Body '}' (rule 18) '{' shift, and go to state 54 state 91 Cirest -> '(' . Fplist (rule 46) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 87 Type go to state 88 Fplist go to state 140 Fplist1 go to state 90 state 92 Cirest -> Optarray . Vardecl (rule 45) ';' shift, and go to state 44 ',' shift, and go to state 45 Vardecl go to state 141 state 93 Citem -> Optscope Type Optstar ident Cirest . (rule 41) $default reduce using rule 41 (Citem) state 94 Lhsbase -> ident '[' . Expr ']' (rule 76) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 142 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 95 Bitem -> VOID ident . '(' Pplist (rule 49) '(' shift, and go to state 143 state 96 Couts -> OUT . Expr Couts (rule 78) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 144 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 97 Statement -> COUT Couts . ';' (rule 60) ';' shift, and go to state 145 state 98 Cins -> IN . Lhsid Cins (rule 80) ident shift, and go to state 102 '*' shift, and go to state 70 Lhsid go to state 146 Lhsid1 go to state 78 Lhsbase go to state 79 state 99 Statement -> CIN Cins . ';' (rule 61) ';' shift, and go to state 147 state 100 Statement -> IF '(' . Expr ')' Statement (rule 56) Statement -> IF '(' . Expr ')' Statement ELSE Statement (rule 57) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 148 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 101 Statement -> WHILE '(' . Expr ')' Statement (rule 58) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 149 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 102 Lhsbase -> ident . (rule 75) Lhsbase -> ident . '[' Expr ']' (rule 76) '[' shift, and go to state 94 $default reduce using rule 75 (Lhsbase) state 103 Expr7 -> num . (rule 108) $default reduce using rule 108 (Expr7) state 104 Expr7 -> charconst . (rule 109) $default reduce using rule 109 (Expr7) state 105 Expr7 -> string . (rule 110) $default reduce using rule 110 (Expr7) state 106 Expr6 -> '+' . Expr7 (rule 101) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '*' shift, and go to state 70 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr7 go to state 150 state 107 Expr6 -> '-' . Expr7 (rule 102) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '*' shift, and go to state 70 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr7 go to state 151 state 108 Expr6 -> '!' . Expr7 (rule 100) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '*' shift, and go to state 70 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr7 go to state 152 state 109 Expr7 -> '(' . Expr ')' (rule 104) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 153 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 110 Expr7 -> '&' . Lhsid (rule 107) ident shift, and go to state 102 '*' shift, and go to state 70 Lhsid go to state 154 Lhsid1 go to state 78 Lhsbase go to state 79 state 111 Expr7 -> Lhsid . '(' Cplist (rule 105) Expr7 -> Lhsid . (rule 106) '(' shift, and go to state 155 $default reduce using rule 106 (Expr7) state 112 Statement -> RETURN Expr . ';' (rule 59) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ';' shift, and go to state 157 state 113 Expr -> Expr1 . (rule 82) Expr1 -> Expr1 . AND Expr2 (rule 83) AND shift, and go to state 158 $default reduce using rule 82 (Expr) state 114 Expr1 -> Expr2 . (rule 84) Expr2 -> Expr2 . EE Expr3 (rule 85) Expr2 -> Expr2 . NE Expr3 (rule 86) NE shift, and go to state 159 EE shift, and go to state 160 $default reduce using rule 84 (Expr1) state 115 Expr2 -> Expr3 . (rule 87) Expr3 -> Expr3 . '<' Expr4 (rule 88) Expr3 -> Expr3 . LE Expr4 (rule 89) Expr3 -> Expr3 . '>' Expr4 (rule 90) Expr3 -> Expr3 . GE Expr4 (rule 91) LE shift, and go to state 161 GE shift, and go to state 162 '<' shift, and go to state 163 '>' shift, and go to state 164 $default reduce using rule 87 (Expr2) state 116 Expr3 -> Expr4 . (rule 92) Expr4 -> Expr4 . '+' Expr5 (rule 93) Expr4 -> Expr4 . '-' Expr5 (rule 94) '+' shift, and go to state 165 '-' shift, and go to state 166 $default reduce using rule 92 (Expr3) state 117 Expr4 -> Expr5 . (rule 95) Expr5 -> Expr5 . '*' Expr6 (rule 96) Expr5 -> Expr5 . '/' Expr6 (rule 97) Expr5 -> Expr5 . '%' Expr6 (rule 98) '*' shift, and go to state 167 '/' shift, and go to state 168 '%' shift, and go to state 169 $default reduce using rule 95 (Expr4) state 118 Expr5 -> Expr6 . (rule 99) $default reduce using rule 99 (Expr5) state 119 Expr6 -> Expr7 . (rule 103) $default reduce using rule 103 (Expr6) state 120 Statement -> BREAK ';' . (rule 63) $default reduce using rule 63 (Statement) state 121 Lhsid -> '*' Lhsid . (rule 71) $default reduce using rule 71 (Lhsid) state 122 Stlist -> Statement . Stlist (rule 65) ident shift, and go to state 102 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 $default reduce using rule 64 (Stlist) Statement go to state 122 Stlist go to state 170 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 123 Statement -> '{' Stlist . '}' (rule 62) '}' shift, and go to state 171 state 124 Bitem -> Type Optstar . ident '(' Pplist (rule 50) Bitem -> Type Optstar . ident Optarray Vardecl (rule 51) ident shift, and go to state 172 state 125 Fplist -> ')' '{' Body '}' . (rule 17) $default reduce using rule 17 (Fplist) state 126 Body -> Body Bitem . (rule 48) $default reduce using rule 48 (Body) state 127 Statement -> Lhsid '=' . Expr ';' (rule 54) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 173 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 128 Statement -> Lhsid '(' . Cplist ';' (rule 55) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 ')' shift, and go to state 174 '&' shift, and go to state 110 Cplist go to state 175 Cplist1 go to state 176 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 177 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 129 Lhsid1 -> Lhsid1 INS . Lhsbase (rule 72) ident shift, and go to state 102 Lhsbase go to state 178 state 130 Lhsid1 -> Lhsid1 '.' . Lhsbase (rule 73) ident shift, and go to state 102 Lhsbase go to state 179 state 131 Fplist1 -> Type Optstar ident ',' . Fplist1 (rule 20) Plist -> Type Optstar ident ',' . Type Optstar Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type Optstar ident ',' . Type Optstar Pl2 Pl3 ')' ';' (rule 27) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 180 Fplist1 go to state 181 state 132 Fplist1 -> Type Optstar ident ')' . (rule 19) $default reduce using rule 19 (Fplist1) state 133 Plist -> Type Optstar ',' Type . Optstar Pl1 ')' ';' (rule 25) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 182 state 134 Plist -> Type Optstar ')' ';' . (rule 24) $default reduce using rule 24 (Plist) state 135 Fplist -> Fplist1 '{' Body '}' . (rule 18) $default reduce using rule 18 (Fplist) state 136 Vardecl -> ',' Optstar ident Optarray . Vardecl (rule 16) ';' shift, and go to state 44 ',' shift, and go to state 45 Vardecl go to state 183 state 137 Pl3 -> ',' Type Optstar . Optident Pl3 (rule 33) ident shift, and go to state 47 $default reduce using rule 34 (Optident) Optident go to state 184 state 138 Pplist -> Type Optstar Optident Pl3 ')' ';' . (rule 37) $default reduce using rule 37 (Pplist) state 139 Fplist1 -> Type Optstar . ident ')' (rule 19) Fplist1 -> Type Optstar . ident ',' Fplist1 (rule 20) ident shift, and go to state 185 state 140 Cirest -> '(' Fplist . (rule 46) $default reduce using rule 46 (Cirest) state 141 Cirest -> Optarray Vardecl . (rule 45) $default reduce using rule 45 (Cirest) state 142 Lhsbase -> ident '[' Expr . ']' (rule 76) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ']' shift, and go to state 186 state 143 Bitem -> VOID ident '(' . Pplist (rule 49) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 18 Type go to state 19 Pplist go to state 187 state 144 Couts -> OUT Expr . Couts (rule 78) Expr -> Expr . OR Expr1 (rule 81) OUT shift, and go to state 96 OR shift, and go to state 156 $default reduce using rule 77 (Couts) Couts go to state 188 state 145 Statement -> COUT Couts ';' . (rule 60) $default reduce using rule 60 (Statement) state 146 Cins -> IN Lhsid . Cins (rule 80) IN shift, and go to state 98 $default reduce using rule 79 (Cins) Cins go to state 189 state 147 Statement -> CIN Cins ';' . (rule 61) $default reduce using rule 61 (Statement) state 148 Statement -> IF '(' Expr . ')' Statement (rule 56) Statement -> IF '(' Expr . ')' Statement ELSE Statement (rule 57) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ')' shift, and go to state 190 state 149 Statement -> WHILE '(' Expr . ')' Statement (rule 58) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ')' shift, and go to state 191 state 150 Expr6 -> '+' Expr7 . (rule 101) $default reduce using rule 101 (Expr6) state 151 Expr6 -> '-' Expr7 . (rule 102) $default reduce using rule 102 (Expr6) state 152 Expr6 -> '!' Expr7 . (rule 100) $default reduce using rule 100 (Expr6) state 153 Expr -> Expr . OR Expr1 (rule 81) Expr7 -> '(' Expr . ')' (rule 104) OR shift, and go to state 156 ')' shift, and go to state 192 state 154 Expr7 -> '&' Lhsid . (rule 107) $default reduce using rule 107 (Expr7) state 155 Expr7 -> Lhsid '(' . Cplist (rule 105) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 ')' shift, and go to state 174 '&' shift, and go to state 110 Cplist go to state 193 Cplist1 go to state 176 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 177 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 156 Expr -> Expr OR . Expr1 (rule 81) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr1 go to state 194 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 157 Statement -> RETURN Expr ';' . (rule 59) $default reduce using rule 59 (Statement) state 158 Expr1 -> Expr1 AND . Expr2 (rule 83) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr2 go to state 195 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 159 Expr2 -> Expr2 NE . Expr3 (rule 86) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr3 go to state 196 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 160 Expr2 -> Expr2 EE . Expr3 (rule 85) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr3 go to state 197 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 161 Expr3 -> Expr3 LE . Expr4 (rule 89) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr4 go to state 198 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 162 Expr3 -> Expr3 GE . Expr4 (rule 91) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr4 go to state 199 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 163 Expr3 -> Expr3 '<' . Expr4 (rule 88) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr4 go to state 200 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 164 Expr3 -> Expr3 '>' . Expr4 (rule 90) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr4 go to state 201 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 165 Expr4 -> Expr4 '+' . Expr5 (rule 93) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr5 go to state 202 Expr6 go to state 118 Expr7 go to state 119 state 166 Expr4 -> Expr4 '-' . Expr5 (rule 94) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr5 go to state 203 Expr6 go to state 118 Expr7 go to state 119 state 167 Expr5 -> Expr5 '*' . Expr6 (rule 96) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr6 go to state 204 Expr7 go to state 119 state 168 Expr5 -> Expr5 '/' . Expr6 (rule 97) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr6 go to state 205 Expr7 go to state 119 state 169 Expr5 -> Expr5 '%' . Expr6 (rule 98) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr6 go to state 206 Expr7 go to state 119 state 170 Stlist -> Statement Stlist . (rule 65) $default reduce using rule 65 (Stlist) state 171 Statement -> '{' Stlist '}' . (rule 62) $default reduce using rule 62 (Statement) state 172 Bitem -> Type Optstar ident . '(' Pplist (rule 50) Bitem -> Type Optstar ident . Optarray Vardecl (rule 51) '(' shift, and go to state 207 '[' shift, and go to state 27 $default reduce using rule 13 (Optarray) Optarray go to state 208 state 173 Statement -> Lhsid '=' Expr . ';' (rule 54) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ';' shift, and go to state 209 state 174 Cplist -> ')' . (rule 66) $default reduce using rule 66 (Cplist) state 175 Statement -> Lhsid '(' Cplist . ';' (rule 55) ';' shift, and go to state 210 state 176 Cplist -> Cplist1 . (rule 67) $default reduce using rule 67 (Cplist) state 177 Cplist1 -> Expr . ')' (rule 68) Cplist1 -> Expr . ',' Cplist1 (rule 69) Expr -> Expr . OR Expr1 (rule 81) OR shift, and go to state 156 ',' shift, and go to state 211 ')' shift, and go to state 212 state 178 Lhsid1 -> Lhsid1 INS Lhsbase . (rule 72) $default reduce using rule 72 (Lhsid1) state 179 Lhsid1 -> Lhsid1 '.' Lhsbase . (rule 73) $default reduce using rule 73 (Lhsid1) state 180 Fplist1 -> Type . Optstar ident ')' (rule 19) Fplist1 -> Type . Optstar ident ',' Fplist1 (rule 20) Plist -> Type Optstar ident ',' Type . Optstar Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type Optstar ident ',' Type . Optstar Pl2 Pl3 ')' ';' (rule 27) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 213 state 181 Fplist1 -> Type Optstar ident ',' Fplist1 . (rule 20) $default reduce using rule 20 (Fplist1) state 182 Plist -> Type Optstar ',' Type Optstar . Pl1 ')' ';' (rule 25) ',' shift, and go to state 214 $default reduce using rule 28 (Pl1) Pl1 go to state 215 state 183 Vardecl -> ',' Optstar ident Optarray Vardecl . (rule 16) $default reduce using rule 16 (Vardecl) state 184 Pl3 -> ',' Type Optstar Optident . Pl3 (rule 33) ',' shift, and go to state 58 $default reduce using rule 32 (Pl3) Pl3 go to state 216 state 185 Fplist1 -> Type Optstar ident . ')' (rule 19) Fplist1 -> Type Optstar ident . ',' Fplist1 (rule 20) ',' shift, and go to state 217 ')' shift, and go to state 132 state 186 Lhsbase -> ident '[' Expr ']' . (rule 76) $default reduce using rule 76 (Lhsbase) state 187 Bitem -> VOID ident '(' Pplist . (rule 49) $default reduce using rule 49 (Bitem) state 188 Couts -> OUT Expr Couts . (rule 78) $default reduce using rule 78 (Couts) state 189 Cins -> IN Lhsid Cins . (rule 80) $default reduce using rule 80 (Cins) state 190 Statement -> IF '(' Expr ')' . Statement (rule 56) Statement -> IF '(' Expr ')' . Statement ELSE Statement (rule 57) ident shift, and go to state 102 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 Statement go to state 218 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 191 Statement -> WHILE '(' Expr ')' . Statement (rule 58) ident shift, and go to state 102 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 Statement go to state 219 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 192 Expr7 -> '(' Expr ')' . (rule 104) $default reduce using rule 104 (Expr7) state 193 Expr7 -> Lhsid '(' Cplist . (rule 105) $default reduce using rule 105 (Expr7) state 194 Expr -> Expr OR Expr1 . (rule 81) Expr1 -> Expr1 . AND Expr2 (rule 83) AND shift, and go to state 158 $default reduce using rule 81 (Expr) state 195 Expr1 -> Expr1 AND Expr2 . (rule 83) Expr2 -> Expr2 . EE Expr3 (rule 85) Expr2 -> Expr2 . NE Expr3 (rule 86) NE shift, and go to state 159 EE shift, and go to state 160 $default reduce using rule 83 (Expr1) state 196 Expr2 -> Expr2 NE Expr3 . (rule 86) Expr3 -> Expr3 . '<' Expr4 (rule 88) Expr3 -> Expr3 . LE Expr4 (rule 89) Expr3 -> Expr3 . '>' Expr4 (rule 90) Expr3 -> Expr3 . GE Expr4 (rule 91) LE shift, and go to state 161 GE shift, and go to state 162 '<' shift, and go to state 163 '>' shift, and go to state 164 $default reduce using rule 86 (Expr2) state 197 Expr2 -> Expr2 EE Expr3 . (rule 85) Expr3 -> Expr3 . '<' Expr4 (rule 88) Expr3 -> Expr3 . LE Expr4 (rule 89) Expr3 -> Expr3 . '>' Expr4 (rule 90) Expr3 -> Expr3 . GE Expr4 (rule 91) LE shift, and go to state 161 GE shift, and go to state 162 '<' shift, and go to state 163 '>' shift, and go to state 164 $default reduce using rule 85 (Expr2) state 198 Expr3 -> Expr3 LE Expr4 . (rule 89) Expr4 -> Expr4 . '+' Expr5 (rule 93) Expr4 -> Expr4 . '-' Expr5 (rule 94) '+' shift, and go to state 165 '-' shift, and go to state 166 $default reduce using rule 89 (Expr3) state 199 Expr3 -> Expr3 GE Expr4 . (rule 91) Expr4 -> Expr4 . '+' Expr5 (rule 93) Expr4 -> Expr4 . '-' Expr5 (rule 94) '+' shift, and go to state 165 '-' shift, and go to state 166 $default reduce using rule 91 (Expr3) state 200 Expr3 -> Expr3 '<' Expr4 . (rule 88) Expr4 -> Expr4 . '+' Expr5 (rule 93) Expr4 -> Expr4 . '-' Expr5 (rule 94) '+' shift, and go to state 165 '-' shift, and go to state 166 $default reduce using rule 88 (Expr3) state 201 Expr3 -> Expr3 '>' Expr4 . (rule 90) Expr4 -> Expr4 . '+' Expr5 (rule 93) Expr4 -> Expr4 . '-' Expr5 (rule 94) '+' shift, and go to state 165 '-' shift, and go to state 166 $default reduce using rule 90 (Expr3) state 202 Expr4 -> Expr4 '+' Expr5 . (rule 93) Expr5 -> Expr5 . '*' Expr6 (rule 96) Expr5 -> Expr5 . '/' Expr6 (rule 97) Expr5 -> Expr5 . '%' Expr6 (rule 98) '*' shift, and go to state 167 '/' shift, and go to state 168 '%' shift, and go to state 169 $default reduce using rule 93 (Expr4) state 203 Expr4 -> Expr4 '-' Expr5 . (rule 94) Expr5 -> Expr5 . '*' Expr6 (rule 96) Expr5 -> Expr5 . '/' Expr6 (rule 97) Expr5 -> Expr5 . '%' Expr6 (rule 98) '*' shift, and go to state 167 '/' shift, and go to state 168 '%' shift, and go to state 169 $default reduce using rule 94 (Expr4) state 204 Expr5 -> Expr5 '*' Expr6 . (rule 96) $default reduce using rule 96 (Expr5) state 205 Expr5 -> Expr5 '/' Expr6 . (rule 97) $default reduce using rule 97 (Expr5) state 206 Expr5 -> Expr5 '%' Expr6 . (rule 98) $default reduce using rule 98 (Expr5) state 207 Bitem -> Type Optstar ident '(' . Pplist (rule 50) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 ')' shift, and go to state 18 Type go to state 19 Pplist go to state 220 state 208 Bitem -> Type Optstar ident Optarray . Vardecl (rule 51) ';' shift, and go to state 44 ',' shift, and go to state 45 Vardecl go to state 221 state 209 Statement -> Lhsid '=' Expr ';' . (rule 54) $default reduce using rule 54 (Statement) state 210 Statement -> Lhsid '(' Cplist ';' . (rule 55) $default reduce using rule 55 (Statement) state 211 Cplist1 -> Expr ',' . Cplist1 (rule 69) ident shift, and go to state 102 num shift, and go to state 103 charconst shift, and go to state 104 string shift, and go to state 105 '+' shift, and go to state 106 '-' shift, and go to state 107 '*' shift, and go to state 70 '!' shift, and go to state 108 '(' shift, and go to state 109 '&' shift, and go to state 110 Cplist1 go to state 222 Lhsid go to state 111 Lhsid1 go to state 78 Lhsbase go to state 79 Expr go to state 177 Expr1 go to state 113 Expr2 go to state 114 Expr3 go to state 115 Expr4 go to state 116 Expr5 go to state 117 Expr6 go to state 118 Expr7 go to state 119 state 212 Cplist1 -> Expr ')' . (rule 68) $default reduce using rule 68 (Cplist1) state 213 Fplist1 -> Type Optstar . ident ')' (rule 19) Fplist1 -> Type Optstar . ident ',' Fplist1 (rule 20) Plist -> Type Optstar ident ',' Type Optstar . Pl1 ident Pl3 ')' ';' (rule 26) Plist -> Type Optstar ident ',' Type Optstar . Pl2 Pl3 ')' ';' (rule 27) ident shift, and go to state 223 ',' shift, and go to state 214 ident [reduce using rule 28 (Pl1)] ',' [reduce using rule 30 (Pl2)] $default reduce using rule 30 (Pl2) Pl1 go to state 224 Pl2 go to state 225 state 214 Pl1 -> ',' . Type Optstar Pl1 (rule 29) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 226 state 215 Plist -> Type Optstar ',' Type Optstar Pl1 . ')' ';' (rule 25) ')' shift, and go to state 227 state 216 Pl3 -> ',' Type Optstar Optident Pl3 . (rule 33) $default reduce using rule 33 (Pl3) state 217 Fplist1 -> Type Optstar ident ',' . Fplist1 (rule 20) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 88 Fplist1 go to state 181 state 218 Statement -> IF '(' Expr ')' Statement . (rule 56) Statement -> IF '(' Expr ')' Statement . ELSE Statement (rule 57) ELSE shift, and go to state 228 ELSE [reduce using rule 56 (Statement)] $default reduce using rule 56 (Statement) state 219 Statement -> WHILE '(' Expr ')' Statement . (rule 58) $default reduce using rule 58 (Statement) state 220 Bitem -> Type Optstar ident '(' Pplist . (rule 50) $default reduce using rule 50 (Bitem) state 221 Bitem -> Type Optstar ident Optarray Vardecl . (rule 51) $default reduce using rule 51 (Bitem) state 222 Cplist1 -> Expr ',' Cplist1 . (rule 69) $default reduce using rule 69 (Cplist1) state 223 Fplist1 -> Type Optstar ident . ')' (rule 19) Fplist1 -> Type Optstar ident . ',' Fplist1 (rule 20) Pl2 -> ident . ',' Type Optstar Pl2 (rule 31) ',' shift, and go to state 229 ')' shift, and go to state 132 state 224 Plist -> Type Optstar ident ',' Type Optstar Pl1 . ident Pl3 ')' ';' (rule 26) ident shift, and go to state 230 state 225 Plist -> Type Optstar ident ',' Type Optstar Pl2 . Pl3 ')' ';' (rule 27) ',' shift, and go to state 58 $default reduce using rule 32 (Pl3) Pl3 go to state 231 state 226 Pl1 -> ',' Type . Optstar Pl1 (rule 29) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 232 state 227 Plist -> Type Optstar ',' Type Optstar Pl1 ')' . ';' (rule 25) ';' shift, and go to state 233 state 228 Statement -> IF '(' Expr ')' Statement ELSE . Statement (rule 57) ident shift, and go to state 102 COUT shift, and go to state 64 CIN shift, and go to state 65 IF shift, and go to state 66 WHILE shift, and go to state 67 RETURN shift, and go to state 68 BREAK shift, and go to state 69 '*' shift, and go to state 70 '{' shift, and go to state 71 ';' shift, and go to state 72 Statement go to state 234 Lhsid go to state 77 Lhsid1 go to state 78 Lhsbase go to state 79 state 229 Fplist1 -> Type Optstar ident ',' . Fplist1 (rule 20) Pl2 -> ident ',' . Type Optstar Pl2 (rule 31) ident shift, and go to state 1 INT shift, and go to state 2 CHAR shift, and go to state 3 Type go to state 235 Fplist1 go to state 181 state 230 Plist -> Type Optstar ident ',' Type Optstar Pl1 ident . Pl3 ')' ';' (rule 26) ',' shift, and go to state 58 $default reduce using rule 32 (Pl3) Pl3 go to state 236 state 231 Plist -> Type Optstar ident ',' Type Optstar Pl2 Pl3 . ')' ';' (rule 27) ')' shift, and go to state 237 state 232 Pl1 -> ',' Type Optstar . Pl1 (rule 29) ',' shift, and go to state 214 $default reduce using rule 28 (Pl1) Pl1 go to state 238 state 233 Plist -> Type Optstar ',' Type Optstar Pl1 ')' ';' . (rule 25) $default reduce using rule 25 (Plist) state 234 Statement -> IF '(' Expr ')' Statement ELSE Statement . (rule 57) $default reduce using rule 57 (Statement) state 235 Fplist1 -> Type . Optstar ident ')' (rule 19) Fplist1 -> Type . Optstar ident ',' Fplist1 (rule 20) Pl2 -> ident ',' Type . Optstar Pl2 (rule 31) '*' shift, and go to state 12 $default reduce using rule 9 (Optstar) Optstar go to state 239 state 236 Plist -> Type Optstar ident ',' Type Optstar Pl1 ident Pl3 . ')' ';' (rule 26) ')' shift, and go to state 240 state 237 Plist -> Type Optstar ident ',' Type Optstar Pl2 Pl3 ')' . ';' (rule 27) ';' shift, and go to state 241 state 238 Pl1 -> ',' Type Optstar Pl1 . (rule 29) $default reduce using rule 29 (Pl1) state 239 Fplist1 -> Type Optstar . ident ')' (rule 19) Fplist1 -> Type Optstar . ident ',' Fplist1 (rule 20) Pl2 -> ident ',' Type Optstar . Pl2 (rule 31) ident shift, and go to state 223 $default reduce using rule 30 (Pl2) Pl2 go to state 242 state 240 Plist -> Type Optstar ident ',' Type Optstar Pl1 ident Pl3 ')' . ';' (rule 26) ';' shift, and go to state 243 state 241 Plist -> Type Optstar ident ',' Type Optstar Pl2 Pl3 ')' ';' . (rule 27) $default reduce using rule 27 (Plist) state 242 Pl2 -> ident ',' Type Optstar Pl2 . (rule 31) $default reduce using rule 31 (Pl2) state 243 Plist -> Type Optstar ident ',' Type Optstar Pl1 ident Pl3 ')' ';' . (rule 26) $default reduce using rule 26 (Plist) state 244 $ go to state 245 state 245 $default accept