0 $accept : %entry% $end 1 main : decl_list EOF 2 type_params : 3 | LT name_list GT 4 type_args : 5 | LT typ_list GT 6 decl : LET NAME ASSIGN expr SEMICOLON 7 | EXTERN typ passby NAME SEMICOLON 8 | STRUCT NAME type_params where_clause SEMICOLON 9 | UNION NAME type_params where_clause SEMICOLON 10 | CLASS NAME type_params where_clause SEMICOLON 11 | TYPE NAME ASSIGN typ SEMICOLON 12 | STRUCT NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON 13 | UNION NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON 14 | EXTERN STRING LBRACE decl_list RBRACE 15 | CLASS NAME type_params where_clause LBRACE class_mem_list RBRACE SEMICOLON 16 | CONCEPT NAME LT name_list GT LBRACE concept_mem_list RBRACE SEMICOLON 17 | model_label MODEL type_params where_clause NAME LT typ_list GT model_open SEMICOLON 18 | model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON 19 | model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON 20 | fun_def 21 | sig_decl 22 | FUN fun_name PLUSASSIGN expr SEMICOLON 23 | MODULE NAME type_params where_clause LBRACE decl_list RBRACE 24 | PRIVATE COLON 25 | PUBLIC COLON 26 | IMPORT import_expr FROM module_path rename SEMICOLON 27 | INCLUDE STRING SEMICOLON 28 | USE STRING SEMICOLON 29 rename : 30 | AS NAME 31 module_ref : NAME 32 | NAME LT typ_list GT 33 module_path : module_ref 34 | module_ref DOT module_path 35 import_expr : FUN fun_name 36 | signature 37 | CONCEPT NAME 38 | TYPE NAME 39 | MODEL NAME LT typ_list GT 40 | MODEL NAME 41 signature : FUN fun_name type_params where_clause LPAREN param_list RPAREN ARROW typ 42 model_open : 43 | OPEN 44 model_label : 45 | NAME COLON 46 fun_name : NAME 47 | OPERATOR ASSIGN 48 | OPERATOR INC 49 | OPERATOR DEC 50 | OPERATOR PLUS 51 | OPERATOR SUB 52 | OPERATOR STAR 53 | OPERATOR DIV 54 | OPERATOR PERCENT 55 | OPERATOR EQ 56 | OPERATOR NEQ 57 | OPERATOR LT 58 | OPERATOR GT 59 | OPERATOR OUTPUT 60 | OPERATOR INPUT 61 | OPERATOR LEQ 62 | OPERATOR GEQ 63 | OPERATOR OR 64 | OPERATOR AND 65 | OPERATOR NOT 66 | OPERATOR AMP 67 | OPERATOR DOT 68 | OPERATOR LBRACK RBRACK 69 ret_typ : 70 | ARROW typ passby 71 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt 72 | FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt 73 sig_decl : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON 74 | EXTERN STRING FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON 75 | PRIMITIVE operator type_params LPAREN param_list RPAREN ret_typ SEMICOLON 76 operator : PLUS 77 | OUTPUT 78 | INPUT 79 | SUB 80 | NEG 81 | STAR 82 | DIV 83 | PERCENT 84 | DOT STAR 85 | INC 86 | DEC 87 | AMP 88 | EQ 89 | NEQ 90 | LT 91 | LEQ 92 | GT 93 | GEQ 94 | LBRACK RBRACK 95 | AND 96 | OR 97 | NOT 98 | ASSIGN 99 | alloc 100 | alloc LBRACK RBRACK 101 | PLACEMENT_NEW 102 | DELETE 103 | DESTROY 104 | CAST 105 | SIZEOF 106 alloc : NEW 107 | AT 108 | NEW GC 109 where_clause : 110 | WHERE LBRACE req_list RBRACE 111 req : NAME LT typ_list GT 112 | typ EQ typ 113 req_list : 114 | req 115 | req COMMA req_list 116 class_mem : typ NAME SEMICOLON 117 | NAME LPAREN param_list RPAREN member_init_list compound_stmt 118 | type_params where_clause NAME LPAREN param_list RPAREN member_init_list compound_stmt 119 | TILDE NAME LPAREN RPAREN compound_stmt 120 | fun_def 121 class_mem_list : 122 | class_mem class_mem_list 123 concept_mem_list : 124 | concept_mem concept_mem_list 125 concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON 126 | FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt 127 | TYPE NAME SEMICOLON 128 | typ EQ typ SEMICOLON 129 | REFINES NAME LT typ_list GT SEMICOLON 130 | REQUIRE NAME LT typ_list GT SEMICOLON 131 model_mem_list : 132 | model_mem model_mem_list 133 model_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt 134 | FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt 135 | TYPE NAME ASSIGN typ SEMICOLON 136 decl_list : decl 137 | decl decl_list 138 name_list : 139 | NAME 140 | NAME COMMA name_list 141 param_list : 142 | ELIPSES 143 | ELIPSES AT 144 | param 145 | param COMMA param_list 146 refer : 147 | AMP 148 mut : 149 | CONST 150 | BANG 151 passby : AT 152 | mut refer 153 param : typ passby NAME 154 | typ passby 155 struct_mem : typ NAME SEMICOLON 156 mem_list : 157 | struct_mem mem_list 158 stmt : expr SEMICOLON 159 | UNPACK LT name_list GT expr compound_stmt 160 | LET NAME ASSIGN expr SEMICOLON 161 | RETURN expr SEMICOLON 162 | RETURN SEMICOLON 163 | IMPORT import_expr FROM module_path rename SEMICOLON 164 | if_stmt 165 | while_stmt 166 | do_while_stmt 167 | for_stmt 168 | compound_stmt 169 | switch_stmt 170 | TYPE NAME ASSIGN typ SEMICOLON 171 | SEMICOLON 172 if_stmt : IF LPAREN expr RPAREN stmt ELSE stmt 173 | IF LPAREN expr RPAREN stmt 174 while_stmt : WHILE LPAREN expr RPAREN stmt 175 do_while_stmt : DO stmt WHILE LPAREN expr RPAREN SEMICOLON 176 for_stmt : FOR LPAREN stmt expr SEMICOLON expr RPAREN stmt 177 compound_stmt : LBRACE stmt_list RBRACE 178 stmt_list : 179 | stmt stmt_list 180 switch_stmt : SWITCH LPAREN expr RPAREN LBRACE case_list RBRACE 181 case : CASE NAME COLON stmt_list 182 | DEFAULT COLON stmt_list 183 case_list : 184 | case case_list 185 tyname : NAME 186 | STRUCT NAME 187 | UNION NAME 188 | NAME LT typ_list GT 189 typ : tyname 190 | LPAREN typ RPAREN 191 | INTTY 192 | SHORTTY 193 | LONGTY 194 | LONGTY LONGTY 195 | LONGTY DOUBLETY 196 | VOIDTY 197 | FLOATTY 198 | DOUBLETY 199 | BOOLTY 200 | STRINGTY 201 | CHARTY 202 | WCHARTY 203 | UNSIGNED CHARTY 204 | SIGNED CHARTY 205 | UNSIGNED INTTY 206 | SIGNED INTTY 207 | UNSIGNED SHORTTY 208 | SIGNED SHORTTY 209 | UNSIGNED LONGTY 210 | SIGNED LONGTY 211 | UNSIGNED LONGTY LONGTY 212 | SIGNED LONGTY LONGTY 213 | typ STAR 214 | typ CONST STAR 215 | FUN type_params where_clause LPAREN param_list RPAREN ret_typ 216 | tyname DOT NAME 217 | EXISTS LT name_list GT where_clause LBRACE typ RBRACE 218 expr : term 219 | expr COMMA expr 220 term : fun_name 221 | NULLPTR 222 | INT 223 | FLOAT 224 | DOUBLE 225 | STRING 226 | CHAR 227 | TRUE 228 | FALSE 229 | THIS 230 | LPAREN expr RPAREN 231 | expr QMARK expr COLON expr 232 | FUN type_params LPAREN param_list RPAREN init_list compound_stmt 233 | FUN type_params LPAREN param_list RPAREN init_list COLON expr 234 | expr LPAREN expr_list RPAREN 235 | expr LT BAR typ_list BAR GT 236 | MODEL NAME LT typ_list GT DOT fun_name 237 | CAST LT typ GT LPAREN expr RPAREN 238 | SIZEOF LPAREN expr RPAREN 239 | SIZEOF LT typ GT 240 | expr ASSIGN expr 241 | expr ARROW NAME 242 | expr DOT NAME 243 | AMP expr 244 | PRIMITIVE operator 245 | STAR expr 246 | expr LBRACK expr RBRACK 247 | SUB expr 248 | INC expr 249 | DEC expr 250 | expr PLUS expr 251 | expr SUB expr 252 | expr STAR expr 253 | expr DIV expr 254 | expr EQ expr 255 | expr NEQ expr 256 | expr LT expr 257 | expr GT expr 258 | expr LEQ expr 259 | expr GEQ expr 260 | expr OR expr 261 | expr AND expr 262 | expr PERCENT expr 263 | NOT expr 264 | alloc typ LPAREN expr_list RPAREN 265 | NEW LPAREN expr RPAREN typ LPAREN expr_list RPAREN 266 | alloc typ LBRACK expr RBRACK 267 | alloc tyname LBRACE init_list RBRACE 268 | DELETE expr 269 | DESTROY expr 270 | PRIMITIVE NEW alloc typ LPAREN expr_list RPAREN 271 | PRIMITIVE NEW alloc typ LBRACK expr RBRACK 272 | expr OUTPUT expr 273 | expr INPUT expr 274 expr_list : 275 | term 276 | term COMMA expr_list 277 typ_list : 278 | typ 279 | typ COMMA typ_list 280 init_list : 281 | init 282 | init COMMA init_list 283 init : NAME 284 | NAME ASSIGN expr 285 member_init_list : 286 | COLON mem_init_list 287 mem_init_list : mem_init 288 | mem_init COMMA mem_init_list 289 mem_init : NAME LPAREN expr_list RPAREN 290 %entry% : '\001' main state 0 $accept : . %entry% $end (0) '\001' shift 1 . error %entry% goto 2 state 1 %entry% : '\001' . main (290) model_label : . (44) NAME shift 3 EXTERN shift 4 FUN shift 5 PRIMITIVE shift 6 LET shift 7 MODULE shift 8 PRIVATE shift 9 PUBLIC shift 10 IMPORT shift 11 INCLUDE shift 12 USE shift 13 CONCEPT shift 14 TYPE shift 15 STRUCT shift 16 UNION shift 17 CLASS shift 18 MODEL reduce 44 main goto 19 decl_list goto 20 decl goto 21 model_label goto 22 fun_def goto 23 sig_decl goto 24 state 2 $accept : %entry% . $end (0) $end accept state 3 model_label : NAME . COLON (45) COLON shift 25 . error state 4 decl : EXTERN . typ passby NAME SEMICOLON (7) decl : EXTERN . STRING LBRACE decl_list RBRACE (14) sig_decl : EXTERN . STRING FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (74) NAME shift 26 STRING shift 27 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 45 tyname goto 46 state 5 decl : FUN . fun_name PLUSASSIGN expr SEMICOLON (22) fun_def : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) fun_def : FUN . fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) sig_decl : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (73) NAME shift 47 OPERATOR shift 48 . error fun_name goto 49 state 6 sig_decl : PRIMITIVE . operator type_params LPAREN param_list RPAREN ret_typ SEMICOLON (75) ASSIGN shift 50 LBRACK shift 51 DOT shift 52 STAR shift 53 LT shift 54 GT shift 55 OUTPUT shift 56 INPUT shift 57 PLUS shift 58 SUB shift 59 NEG shift 60 INC shift 61 DEC shift 62 DIV shift 63 LEQ shift 64 GEQ shift 65 EQ shift 66 NEQ shift 67 OR shift 68 AND shift 69 NOT shift 70 CAST shift 71 AT shift 72 PERCENT shift 73 AMP shift 74 NEW shift 75 PLACEMENT_NEW shift 76 DELETE shift 77 DESTROY shift 78 SIZEOF shift 79 . error operator goto 80 alloc goto 81 state 7 decl : LET . NAME ASSIGN expr SEMICOLON (6) NAME shift 82 . error state 8 decl : MODULE . NAME type_params where_clause LBRACE decl_list RBRACE (23) NAME shift 83 . error state 9 decl : PRIVATE . COLON (24) COLON shift 84 . error state 10 decl : PUBLIC . COLON (25) COLON shift 85 . error state 11 decl : IMPORT . import_expr FROM module_path rename SEMICOLON (26) FUN shift 86 CONCEPT shift 87 MODEL shift 88 TYPE shift 89 . error import_expr goto 90 signature goto 91 state 12 decl : INCLUDE . STRING SEMICOLON (27) STRING shift 92 . error state 13 decl : USE . STRING SEMICOLON (28) STRING shift 93 . error state 14 decl : CONCEPT . NAME LT name_list GT LBRACE concept_mem_list RBRACE SEMICOLON (16) NAME shift 94 . error state 15 decl : TYPE . NAME ASSIGN typ SEMICOLON (11) NAME shift 95 . error state 16 decl : STRUCT . NAME type_params where_clause SEMICOLON (8) decl : STRUCT . NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON (12) NAME shift 96 . error state 17 decl : UNION . NAME type_params where_clause SEMICOLON (9) decl : UNION . NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON (13) NAME shift 97 . error state 18 decl : CLASS . NAME type_params where_clause SEMICOLON (10) decl : CLASS . NAME type_params where_clause LBRACE class_mem_list RBRACE SEMICOLON (15) NAME shift 98 . error state 19 %entry% : '\001' main . (290) . reduce 290 state 20 main : decl_list . EOF (1) EOF shift 99 . error state 21 decl_list : decl . (136) decl_list : decl . decl_list (137) model_label : . (44) NAME shift 3 EXTERN shift 4 FUN shift 5 PRIMITIVE shift 6 LET shift 7 MODULE shift 8 PRIVATE shift 9 PUBLIC shift 10 IMPORT shift 11 INCLUDE shift 12 USE shift 13 CONCEPT shift 14 TYPE shift 15 STRUCT shift 16 UNION shift 17 CLASS shift 18 RBRACE reduce 136 EOF reduce 136 MODEL reduce 44 decl_list goto 100 decl goto 21 model_label goto 22 fun_def goto 23 sig_decl goto 24 state 22 decl : model_label . MODEL type_params where_clause NAME LT typ_list GT model_open SEMICOLON (17) decl : model_label . MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label . MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) MODEL shift 101 . error state 23 decl : fun_def . (20) . reduce 20 state 24 decl : sig_decl . (21) . reduce 21 state 25 model_label : NAME COLON . (45) . reduce 45 state 26 tyname : NAME . (185) tyname : NAME . LT typ_list GT (188) LT shift 102 NAME reduce 185 CONST reduce 185 LPAREN reduce 185 RPAREN reduce 185 BAR reduce 185 LBRACE reduce 185 RBRACE reduce 185 LBRACK reduce 185 DOT reduce 185 BANG reduce 185 SEMICOLON reduce 185 COMMA reduce 185 STAR reduce 185 GT reduce 185 EQ reduce 185 AT reduce 185 AMP reduce 185 FROM reduce 185 state 27 decl : EXTERN STRING . LBRACE decl_list RBRACE (14) sig_decl : EXTERN STRING . FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (74) LBRACE shift 103 FUN shift 104 . error state 28 typ : INTTY . (191) . reduce 191 state 29 typ : SHORTTY . (192) . reduce 192 state 30 typ : LONGTY . (193) typ : LONGTY . LONGTY (194) typ : LONGTY . DOUBLETY (195) LONGTY shift 105 DOUBLETY shift 106 NAME reduce 193 CONST reduce 193 LPAREN reduce 193 RPAREN reduce 193 BAR reduce 193 LBRACE reduce 193 RBRACE reduce 193 LBRACK reduce 193 BANG reduce 193 SEMICOLON reduce 193 COMMA reduce 193 STAR reduce 193 GT reduce 193 EQ reduce 193 AT reduce 193 AMP reduce 193 FROM reduce 193 state 31 typ : FLOATTY . (197) . reduce 197 state 32 typ : DOUBLETY . (198) . reduce 198 state 33 typ : CHARTY . (201) . reduce 201 state 34 typ : WCHARTY . (202) . reduce 202 state 35 typ : BOOLTY . (199) . reduce 199 state 36 typ : VOIDTY . (196) . reduce 196 state 37 typ : STRINGTY . (200) . reduce 200 state 38 typ : UNSIGNED . CHARTY (203) typ : UNSIGNED . INTTY (205) typ : UNSIGNED . SHORTTY (207) typ : UNSIGNED . LONGTY (209) typ : UNSIGNED . LONGTY LONGTY (211) INTTY shift 107 SHORTTY shift 108 LONGTY shift 109 CHARTY shift 110 . error state 39 typ : SIGNED . CHARTY (204) typ : SIGNED . INTTY (206) typ : SIGNED . SHORTTY (208) typ : SIGNED . LONGTY (210) typ : SIGNED . LONGTY LONGTY (212) INTTY shift 111 SHORTTY shift 112 LONGTY shift 113 CHARTY shift 114 . error state 40 typ : EXISTS . LT name_list GT where_clause LBRACE typ RBRACE (217) LT shift 115 . error state 41 typ : LPAREN . typ RPAREN (190) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 116 tyname goto 46 state 42 typ : FUN . type_params where_clause LPAREN param_list RPAREN ret_typ (215) type_params : . (2) LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 118 state 43 tyname : STRUCT . NAME (186) NAME shift 119 . error state 44 tyname : UNION . NAME (187) NAME shift 120 . error state 45 decl : EXTERN typ . passby NAME SEMICOLON (7) typ : typ . STAR (213) typ : typ . CONST STAR (214) mut : . (148) CONST shift 121 BANG shift 122 STAR shift 123 AT shift 124 NAME reduce 148 AMP reduce 148 passby goto 125 mut goto 126 state 46 typ : tyname . (189) typ : tyname . DOT NAME (216) DOT shift 127 NAME reduce 189 CONST reduce 189 LPAREN reduce 189 RPAREN reduce 189 BAR reduce 189 LBRACE reduce 189 RBRACE reduce 189 LBRACK reduce 189 BANG reduce 189 SEMICOLON reduce 189 COMMA reduce 189 STAR reduce 189 GT reduce 189 EQ reduce 189 AT reduce 189 AMP reduce 189 FROM reduce 189 state 47 fun_name : NAME . (46) . reduce 46 state 48 fun_name : OPERATOR . ASSIGN (47) fun_name : OPERATOR . INC (48) fun_name : OPERATOR . DEC (49) fun_name : OPERATOR . PLUS (50) fun_name : OPERATOR . SUB (51) fun_name : OPERATOR . STAR (52) fun_name : OPERATOR . DIV (53) fun_name : OPERATOR . PERCENT (54) fun_name : OPERATOR . EQ (55) fun_name : OPERATOR . NEQ (56) fun_name : OPERATOR . LT (57) fun_name : OPERATOR . GT (58) fun_name : OPERATOR . OUTPUT (59) fun_name : OPERATOR . INPUT (60) fun_name : OPERATOR . LEQ (61) fun_name : OPERATOR . GEQ (62) fun_name : OPERATOR . OR (63) fun_name : OPERATOR . AND (64) fun_name : OPERATOR . NOT (65) fun_name : OPERATOR . AMP (66) fun_name : OPERATOR . DOT (67) fun_name : OPERATOR . LBRACK RBRACK (68) ASSIGN shift 128 LBRACK shift 129 DOT shift 130 STAR shift 131 LT shift 132 GT shift 133 OUTPUT shift 134 INPUT shift 135 PLUS shift 136 SUB shift 137 INC shift 138 DEC shift 139 DIV shift 140 LEQ shift 141 GEQ shift 142 EQ shift 143 NEQ shift 144 OR shift 145 AND shift 146 NOT shift 147 PERCENT shift 148 AMP shift 149 . error state 49 decl : FUN fun_name . PLUSASSIGN expr SEMICOLON (22) fun_def : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) fun_def : FUN fun_name . STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) sig_decl : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (73) type_params : . (2) STAR shift 150 LT shift 117 PLUSASSIGN shift 151 LPAREN reduce 2 WHERE reduce 2 type_params goto 152 state 50 operator : ASSIGN . (98) . reduce 98 state 51 operator : LBRACK . RBRACK (94) RBRACK shift 153 . error state 52 operator : DOT . STAR (84) STAR shift 154 . error state 53 operator : STAR . (81) . reduce 81 state 54 operator : LT . (90) . reduce 90 state 55 operator : GT . (92) . reduce 92 state 56 operator : OUTPUT . (77) . reduce 77 state 57 operator : INPUT . (78) . reduce 78 state 58 operator : PLUS . (76) . reduce 76 state 59 operator : SUB . (79) . reduce 79 state 60 operator : NEG . (80) . reduce 80 state 61 operator : INC . (85) . reduce 85 state 62 operator : DEC . (86) . reduce 86 state 63 operator : DIV . (82) . reduce 82 state 64 operator : LEQ . (91) . reduce 91 state 65 operator : GEQ . (93) . reduce 93 state 66 operator : EQ . (88) . reduce 88 state 67 operator : NEQ . (89) . reduce 89 state 68 operator : OR . (96) . reduce 96 state 69 operator : AND . (95) . reduce 95 state 70 operator : NOT . (97) . reduce 97 state 71 operator : CAST . (104) . reduce 104 state 72 alloc : AT . (107) . reduce 107 state 73 operator : PERCENT . (83) . reduce 83 state 74 operator : AMP . (87) . reduce 87 state 75 alloc : NEW . (106) alloc : NEW . GC (108) GC shift 155 NAME reduce 106 INTTY reduce 106 SHORTTY reduce 106 LONGTY reduce 106 FLOATTY reduce 106 DOUBLETY reduce 106 CHARTY reduce 106 WCHARTY reduce 106 BOOLTY reduce 106 VOIDTY reduce 106 STRINGTY reduce 106 UNSIGNED reduce 106 SIGNED reduce 106 EXISTS reduce 106 LPAREN reduce 106 LBRACK reduce 106 FUN reduce 106 LT reduce 106 STRUCT reduce 106 UNION reduce 106 state 76 operator : PLACEMENT_NEW . (101) . reduce 101 state 77 operator : DELETE . (102) . reduce 102 state 78 operator : DESTROY . (103) . reduce 103 state 79 operator : SIZEOF . (105) . reduce 105 state 80 sig_decl : PRIMITIVE operator . type_params LPAREN param_list RPAREN ret_typ SEMICOLON (75) type_params : . (2) LT shift 117 LPAREN reduce 2 type_params goto 156 81: shift/reduce conflict (shift 157, reduce 99) on LBRACK state 81 operator : alloc . (99) operator : alloc . LBRACK RBRACK (100) LBRACK shift 157 ASSIGN reduce 99 LPAREN reduce 99 RPAREN reduce 99 LBRACE reduce 99 RBRACE reduce 99 RBRACK reduce 99 DOT reduce 99 COLON reduce 99 SEMICOLON reduce 99 COMMA reduce 99 STAR reduce 99 ARROW reduce 99 LT reduce 99 GT reduce 99 OUTPUT reduce 99 INPUT reduce 99 PLUS reduce 99 SUB reduce 99 DIV reduce 99 LEQ reduce 99 GEQ reduce 99 EQ reduce 99 NEQ reduce 99 OR reduce 99 AND reduce 99 PERCENT reduce 99 QMARK reduce 99 state 82 decl : LET NAME . ASSIGN expr SEMICOLON (6) ASSIGN shift 158 . error state 83 decl : MODULE NAME . type_params where_clause LBRACE decl_list RBRACE (23) type_params : . (2) LT shift 117 LBRACE reduce 2 WHERE reduce 2 type_params goto 159 state 84 decl : PRIVATE COLON . (24) . reduce 24 state 85 decl : PUBLIC COLON . (25) . reduce 25 state 86 import_expr : FUN . fun_name (35) signature : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ARROW typ (41) NAME shift 47 OPERATOR shift 48 . error fun_name goto 160 state 87 import_expr : CONCEPT . NAME (37) NAME shift 161 . error state 88 import_expr : MODEL . NAME LT typ_list GT (39) import_expr : MODEL . NAME (40) NAME shift 162 . error state 89 import_expr : TYPE . NAME (38) NAME shift 163 . error state 90 decl : IMPORT import_expr . FROM module_path rename SEMICOLON (26) FROM shift 164 . error state 91 import_expr : signature . (36) . reduce 36 state 92 decl : INCLUDE STRING . SEMICOLON (27) SEMICOLON shift 165 . error state 93 decl : USE STRING . SEMICOLON (28) SEMICOLON shift 166 . error state 94 decl : CONCEPT NAME . LT name_list GT LBRACE concept_mem_list RBRACE SEMICOLON (16) LT shift 167 . error state 95 decl : TYPE NAME . ASSIGN typ SEMICOLON (11) ASSIGN shift 168 . error state 96 decl : STRUCT NAME . type_params where_clause SEMICOLON (8) decl : STRUCT NAME . type_params where_clause LBRACE mem_list RBRACE SEMICOLON (12) type_params : . (2) LT shift 117 LBRACE reduce 2 SEMICOLON reduce 2 WHERE reduce 2 type_params goto 169 state 97 decl : UNION NAME . type_params where_clause SEMICOLON (9) decl : UNION NAME . type_params where_clause LBRACE mem_list RBRACE SEMICOLON (13) type_params : . (2) LT shift 117 LBRACE reduce 2 SEMICOLON reduce 2 WHERE reduce 2 type_params goto 170 state 98 decl : CLASS NAME . type_params where_clause SEMICOLON (10) decl : CLASS NAME . type_params where_clause LBRACE class_mem_list RBRACE SEMICOLON (15) type_params : . (2) LT shift 117 LBRACE reduce 2 SEMICOLON reduce 2 WHERE reduce 2 type_params goto 171 state 99 main : decl_list EOF . (1) . reduce 1 state 100 decl_list : decl decl_list . (137) . reduce 137 state 101 decl : model_label MODEL . type_params where_clause NAME LT typ_list GT model_open SEMICOLON (17) decl : model_label MODEL . type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL . type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) type_params : . (2) LT shift 117 NAME reduce 2 WHERE reduce 2 type_params goto 172 state 102 tyname : NAME LT . typ_list GT (188) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 173 typ goto 174 tyname goto 46 state 103 decl : EXTERN STRING LBRACE . decl_list RBRACE (14) model_label : . (44) NAME shift 3 EXTERN shift 4 FUN shift 5 PRIMITIVE shift 6 LET shift 7 MODULE shift 8 PRIVATE shift 9 PUBLIC shift 10 IMPORT shift 11 INCLUDE shift 12 USE shift 13 CONCEPT shift 14 TYPE shift 15 STRUCT shift 16 UNION shift 17 CLASS shift 18 MODEL reduce 44 decl_list goto 175 decl goto 21 model_label goto 22 fun_def goto 23 sig_decl goto 24 state 104 sig_decl : EXTERN STRING FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (74) NAME shift 47 OPERATOR shift 48 . error fun_name goto 176 state 105 typ : LONGTY LONGTY . (194) . reduce 194 state 106 typ : LONGTY DOUBLETY . (195) . reduce 195 state 107 typ : UNSIGNED INTTY . (205) . reduce 205 state 108 typ : UNSIGNED SHORTTY . (207) . reduce 207 state 109 typ : UNSIGNED LONGTY . (209) typ : UNSIGNED LONGTY . LONGTY (211) LONGTY shift 177 NAME reduce 209 CONST reduce 209 LPAREN reduce 209 RPAREN reduce 209 BAR reduce 209 LBRACE reduce 209 RBRACE reduce 209 LBRACK reduce 209 BANG reduce 209 SEMICOLON reduce 209 COMMA reduce 209 STAR reduce 209 GT reduce 209 EQ reduce 209 AT reduce 209 AMP reduce 209 FROM reduce 209 state 110 typ : UNSIGNED CHARTY . (203) . reduce 203 state 111 typ : SIGNED INTTY . (206) . reduce 206 state 112 typ : SIGNED SHORTTY . (208) . reduce 208 state 113 typ : SIGNED LONGTY . (210) typ : SIGNED LONGTY . LONGTY (212) LONGTY shift 178 NAME reduce 210 CONST reduce 210 LPAREN reduce 210 RPAREN reduce 210 BAR reduce 210 LBRACE reduce 210 RBRACE reduce 210 LBRACK reduce 210 BANG reduce 210 SEMICOLON reduce 210 COMMA reduce 210 STAR reduce 210 GT reduce 210 EQ reduce 210 AT reduce 210 AMP reduce 210 FROM reduce 210 state 114 typ : SIGNED CHARTY . (204) . reduce 204 state 115 typ : EXISTS LT . name_list GT where_clause LBRACE typ RBRACE (217) name_list : . (138) NAME shift 179 GT reduce 138 name_list goto 180 state 116 typ : LPAREN typ . RPAREN (190) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 RPAREN shift 182 STAR shift 123 . error state 117 type_params : LT . name_list GT (3) name_list : . (138) NAME shift 179 GT reduce 138 name_list goto 183 state 118 typ : FUN type_params . where_clause LPAREN param_list RPAREN ret_typ (215) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 185 state 119 tyname : STRUCT NAME . (186) . reduce 186 state 120 tyname : UNION NAME . (187) . reduce 187 121: shift/reduce conflict (shift 186, reduce 149) on STAR state 121 mut : CONST . (149) typ : typ CONST . STAR (214) STAR shift 186 NAME reduce 149 CONST reduce 149 LPAREN reduce 149 RPAREN reduce 149 BAR reduce 149 LBRACE reduce 149 RBRACE reduce 149 LBRACK reduce 149 BANG reduce 149 SEMICOLON reduce 149 COMMA reduce 149 GT reduce 149 EQ reduce 149 AT reduce 149 AMP reduce 149 FROM reduce 149 state 122 mut : BANG . (150) . reduce 150 state 123 typ : typ STAR . (213) . reduce 213 state 124 passby : AT . (151) . reduce 151 state 125 decl : EXTERN typ passby . NAME SEMICOLON (7) NAME shift 187 . error 126: shift/reduce conflict (shift 188, reduce 146) on AMP state 126 passby : mut . refer (152) refer : . (146) AMP shift 188 NAME reduce 146 CONST reduce 146 LPAREN reduce 146 RPAREN reduce 146 BAR reduce 146 LBRACE reduce 146 RBRACE reduce 146 LBRACK reduce 146 BANG reduce 146 SEMICOLON reduce 146 COMMA reduce 146 STAR reduce 146 GT reduce 146 EQ reduce 146 AT reduce 146 FROM reduce 146 refer goto 189 state 127 typ : tyname DOT . NAME (216) NAME shift 190 . error state 128 fun_name : OPERATOR ASSIGN . (47) . reduce 47 state 129 fun_name : OPERATOR LBRACK . RBRACK (68) RBRACK shift 191 . error state 130 fun_name : OPERATOR DOT . (67) . reduce 67 state 131 fun_name : OPERATOR STAR . (52) . reduce 52 state 132 fun_name : OPERATOR LT . (57) . reduce 57 state 133 fun_name : OPERATOR GT . (58) . reduce 58 state 134 fun_name : OPERATOR OUTPUT . (59) . reduce 59 state 135 fun_name : OPERATOR INPUT . (60) . reduce 60 state 136 fun_name : OPERATOR PLUS . (50) . reduce 50 state 137 fun_name : OPERATOR SUB . (51) . reduce 51 state 138 fun_name : OPERATOR INC . (48) . reduce 48 state 139 fun_name : OPERATOR DEC . (49) . reduce 49 state 140 fun_name : OPERATOR DIV . (53) . reduce 53 state 141 fun_name : OPERATOR LEQ . (61) . reduce 61 state 142 fun_name : OPERATOR GEQ . (62) . reduce 62 state 143 fun_name : OPERATOR EQ . (55) . reduce 55 state 144 fun_name : OPERATOR NEQ . (56) . reduce 56 state 145 fun_name : OPERATOR OR . (63) . reduce 63 state 146 fun_name : OPERATOR AND . (64) . reduce 64 state 147 fun_name : OPERATOR NOT . (65) . reduce 65 state 148 fun_name : OPERATOR PERCENT . (54) . reduce 54 state 149 fun_name : OPERATOR AMP . (66) . reduce 66 state 150 fun_def : FUN fun_name STAR . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) type_params : . (2) LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 192 state 151 decl : FUN fun_name PLUSASSIGN . expr SEMICOLON (22) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 217 fun_name goto 218 alloc goto 219 term goto 220 state 152 fun_def : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) sig_decl : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (73) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 221 state 153 operator : LBRACK RBRACK . (94) . reduce 94 state 154 operator : DOT STAR . (84) . reduce 84 state 155 alloc : NEW GC . (108) . reduce 108 state 156 sig_decl : PRIMITIVE operator type_params . LPAREN param_list RPAREN ret_typ SEMICOLON (75) LPAREN shift 222 . error state 157 operator : alloc LBRACK . RBRACK (100) RBRACK shift 223 . error state 158 decl : LET NAME ASSIGN . expr SEMICOLON (6) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 224 fun_name goto 218 alloc goto 219 term goto 220 state 159 decl : MODULE NAME type_params . where_clause LBRACE decl_list RBRACE (23) where_clause : . (109) WHERE shift 184 LBRACE reduce 109 where_clause goto 225 state 160 import_expr : FUN fun_name . (35) signature : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ARROW typ (41) type_params : . (2) LT shift 117 LPAREN reduce 2 FROM reduce 35 WHERE reduce 2 type_params goto 226 state 161 import_expr : CONCEPT NAME . (37) . reduce 37 state 162 import_expr : MODEL NAME . LT typ_list GT (39) import_expr : MODEL NAME . (40) LT shift 227 FROM reduce 40 state 163 import_expr : TYPE NAME . (38) . reduce 38 state 164 decl : IMPORT import_expr FROM . module_path rename SEMICOLON (26) NAME shift 228 . error module_path goto 229 module_ref goto 230 state 165 decl : INCLUDE STRING SEMICOLON . (27) . reduce 27 state 166 decl : USE STRING SEMICOLON . (28) . reduce 28 state 167 decl : CONCEPT NAME LT . name_list GT LBRACE concept_mem_list RBRACE SEMICOLON (16) name_list : . (138) NAME shift 179 GT reduce 138 name_list goto 231 state 168 decl : TYPE NAME ASSIGN . typ SEMICOLON (11) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 232 tyname goto 46 state 169 decl : STRUCT NAME type_params . where_clause SEMICOLON (8) decl : STRUCT NAME type_params . where_clause LBRACE mem_list RBRACE SEMICOLON (12) where_clause : . (109) WHERE shift 184 LBRACE reduce 109 SEMICOLON reduce 109 where_clause goto 233 state 170 decl : UNION NAME type_params . where_clause SEMICOLON (9) decl : UNION NAME type_params . where_clause LBRACE mem_list RBRACE SEMICOLON (13) where_clause : . (109) WHERE shift 184 LBRACE reduce 109 SEMICOLON reduce 109 where_clause goto 234 state 171 decl : CLASS NAME type_params . where_clause SEMICOLON (10) decl : CLASS NAME type_params . where_clause LBRACE class_mem_list RBRACE SEMICOLON (15) where_clause : . (109) WHERE shift 184 LBRACE reduce 109 SEMICOLON reduce 109 where_clause goto 235 state 172 decl : model_label MODEL type_params . where_clause NAME LT typ_list GT model_open SEMICOLON (17) decl : model_label MODEL type_params . where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params . where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) where_clause : . (109) WHERE shift 184 NAME reduce 109 where_clause goto 236 state 173 tyname : NAME LT typ_list . GT (188) GT shift 237 . error state 174 typ : typ . STAR (213) typ : typ . CONST STAR (214) typ_list : typ . (278) typ_list : typ . COMMA typ_list (279) CONST shift 181 COMMA shift 238 STAR shift 123 BAR reduce 278 GT reduce 278 state 175 decl : EXTERN STRING LBRACE decl_list . RBRACE (14) RBRACE shift 239 . error state 176 sig_decl : EXTERN STRING FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (74) type_params : . (2) LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 240 state 177 typ : UNSIGNED LONGTY LONGTY . (211) . reduce 211 state 178 typ : SIGNED LONGTY LONGTY . (212) . reduce 212 state 179 name_list : NAME . (139) name_list : NAME . COMMA name_list (140) COMMA shift 241 GT reduce 139 state 180 typ : EXISTS LT name_list . GT where_clause LBRACE typ RBRACE (217) GT shift 242 . error state 181 typ : typ CONST . STAR (214) STAR shift 186 . error state 182 typ : LPAREN typ RPAREN . (190) . reduce 190 state 183 type_params : LT name_list . GT (3) GT shift 243 . error state 184 where_clause : WHERE . LBRACE req_list RBRACE (110) LBRACE shift 244 . error state 185 typ : FUN type_params where_clause . LPAREN param_list RPAREN ret_typ (215) LPAREN shift 245 . error state 186 typ : typ CONST STAR . (214) . reduce 214 state 187 decl : EXTERN typ passby NAME . SEMICOLON (7) SEMICOLON shift 246 . error state 188 refer : AMP . (147) . reduce 147 state 189 passby : mut refer . (152) . reduce 152 state 190 typ : tyname DOT NAME . (216) . reduce 216 state 191 fun_name : OPERATOR LBRACK RBRACK . (68) . reduce 68 state 192 fun_def : FUN fun_name STAR type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 247 state 193 term : INT . (222) . reduce 222 state 194 term : FLOAT . (223) . reduce 223 state 195 term : DOUBLE . (224) . reduce 224 state 196 term : STRING . (225) . reduce 225 state 197 term : CHAR . (226) . reduce 226 state 198 term : NULLPTR . (221) . reduce 221 state 199 term : LPAREN . expr RPAREN (230) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 248 fun_name goto 218 alloc goto 219 term goto 220 state 200 term : TRUE . (227) . reduce 227 state 201 term : FALSE . (228) . reduce 228 state 202 term : THIS . (229) . reduce 229 state 203 term : FUN . type_params LPAREN param_list RPAREN init_list compound_stmt (232) term : FUN . type_params LPAREN param_list RPAREN init_list COLON expr (233) type_params : . (2) LT shift 117 LPAREN reduce 2 type_params goto 249 state 204 term : PRIMITIVE . operator (244) term : PRIMITIVE . NEW alloc typ LPAREN expr_list RPAREN (270) term : PRIMITIVE . NEW alloc typ LBRACK expr RBRACK (271) ASSIGN shift 50 LBRACK shift 51 DOT shift 52 STAR shift 53 LT shift 54 GT shift 55 OUTPUT shift 56 INPUT shift 57 PLUS shift 58 SUB shift 59 NEG shift 60 INC shift 61 DEC shift 62 DIV shift 63 LEQ shift 64 GEQ shift 65 EQ shift 66 NEQ shift 67 OR shift 68 AND shift 69 NOT shift 70 CAST shift 71 AT shift 72 PERCENT shift 73 AMP shift 74 NEW shift 250 PLACEMENT_NEW shift 76 DELETE shift 77 DESTROY shift 78 SIZEOF shift 79 . error operator goto 251 alloc goto 81 state 205 term : STAR . expr (245) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 252 fun_name goto 218 alloc goto 219 term goto 220 state 206 term : SUB . expr (247) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 253 fun_name goto 218 alloc goto 219 term goto 220 state 207 term : INC . expr (248) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 254 fun_name goto 218 alloc goto 219 term goto 220 state 208 term : DEC . expr (249) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 255 fun_name goto 218 alloc goto 219 term goto 220 state 209 term : NOT . expr (263) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 256 fun_name goto 218 alloc goto 219 term goto 220 state 210 term : CAST . LT typ GT LPAREN expr RPAREN (237) LT shift 257 . error state 211 term : AMP . expr (243) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 258 fun_name goto 218 alloc goto 219 term goto 220 state 212 alloc : NEW . (106) alloc : NEW . GC (108) term : NEW . LPAREN expr RPAREN typ LPAREN expr_list RPAREN (265) LPAREN shift 259 GC shift 155 NAME reduce 106 INTTY reduce 106 SHORTTY reduce 106 LONGTY reduce 106 FLOATTY reduce 106 DOUBLETY reduce 106 CHARTY reduce 106 WCHARTY reduce 106 BOOLTY reduce 106 VOIDTY reduce 106 STRINGTY reduce 106 UNSIGNED reduce 106 SIGNED reduce 106 EXISTS reduce 106 FUN reduce 106 STRUCT reduce 106 UNION reduce 106 state 213 term : DELETE . expr (268) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 260 fun_name goto 218 alloc goto 219 term goto 220 state 214 term : DESTROY . expr (269) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 261 fun_name goto 218 alloc goto 219 term goto 220 state 215 term : SIZEOF . LPAREN expr RPAREN (238) term : SIZEOF . LT typ GT (239) LPAREN shift 262 LT shift 263 . error state 216 term : MODEL . NAME LT typ_list GT DOT fun_name (236) NAME shift 264 . error state 217 decl : FUN fun_name PLUSASSIGN expr . SEMICOLON (22) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 269 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 218 term : fun_name . (220) . reduce 220 state 219 term : alloc . typ LPAREN expr_list RPAREN (264) term : alloc . typ LBRACK expr RBRACK (266) term : alloc . tyname LBRACE init_list RBRACE (267) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 288 tyname goto 289 state 220 expr : term . (218) . reduce 218 state 221 fun_def : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (71) sig_decl : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ SEMICOLON (73) LPAREN shift 290 . error state 222 sig_decl : PRIMITIVE operator type_params LPAREN . param_list RPAREN ret_typ SEMICOLON (75) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 293 param goto 294 tyname goto 46 state 223 operator : alloc LBRACK RBRACK . (100) . reduce 100 state 224 decl : LET NAME ASSIGN expr . SEMICOLON (6) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 295 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 225 decl : MODULE NAME type_params where_clause . LBRACE decl_list RBRACE (23) LBRACE shift 296 . error state 226 signature : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ARROW typ (41) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 297 state 227 import_expr : MODEL NAME LT . typ_list GT (39) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 298 typ goto 174 tyname goto 46 state 228 module_ref : NAME . (31) module_ref : NAME . LT typ_list GT (32) LT shift 299 DOT reduce 31 SEMICOLON reduce 31 AS reduce 31 state 229 decl : IMPORT import_expr FROM module_path . rename SEMICOLON (26) rename : . (29) AS shift 300 SEMICOLON reduce 29 rename goto 301 state 230 module_path : module_ref . (33) module_path : module_ref . DOT module_path (34) DOT shift 302 SEMICOLON reduce 33 AS reduce 33 state 231 decl : CONCEPT NAME LT name_list . GT LBRACE concept_mem_list RBRACE SEMICOLON (16) GT shift 303 . error state 232 decl : TYPE NAME ASSIGN typ . SEMICOLON (11) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 SEMICOLON shift 304 STAR shift 123 . error state 233 decl : STRUCT NAME type_params where_clause . SEMICOLON (8) decl : STRUCT NAME type_params where_clause . LBRACE mem_list RBRACE SEMICOLON (12) LBRACE shift 305 SEMICOLON shift 306 . error state 234 decl : UNION NAME type_params where_clause . SEMICOLON (9) decl : UNION NAME type_params where_clause . LBRACE mem_list RBRACE SEMICOLON (13) LBRACE shift 307 SEMICOLON shift 308 . error state 235 decl : CLASS NAME type_params where_clause . SEMICOLON (10) decl : CLASS NAME type_params where_clause . LBRACE class_mem_list RBRACE SEMICOLON (15) LBRACE shift 309 SEMICOLON shift 310 . error state 236 decl : model_label MODEL type_params where_clause . NAME LT typ_list GT model_open SEMICOLON (17) decl : model_label MODEL type_params where_clause . NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause . NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) NAME shift 311 . error state 237 tyname : NAME LT typ_list GT . (188) . reduce 188 state 238 typ_list : typ COMMA . typ_list (279) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 BAR reduce 277 GT reduce 277 typ_list goto 312 typ goto 174 tyname goto 46 state 239 decl : EXTERN STRING LBRACE decl_list RBRACE . (14) . reduce 14 state 240 sig_decl : EXTERN STRING FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (74) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 313 state 241 name_list : NAME COMMA . name_list (140) name_list : . (138) NAME shift 179 GT reduce 138 name_list goto 314 state 242 typ : EXISTS LT name_list GT . where_clause LBRACE typ RBRACE (217) where_clause : . (109) WHERE shift 184 LBRACE reduce 109 where_clause goto 315 state 243 type_params : LT name_list GT . (3) . reduce 3 state 244 where_clause : WHERE LBRACE . req_list RBRACE (110) req_list : . (113) NAME shift 316 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RBRACE reduce 113 typ goto 317 req_list goto 318 req goto 319 tyname goto 46 state 245 typ : FUN type_params where_clause LPAREN . param_list RPAREN ret_typ (215) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 320 param goto 294 tyname goto 46 state 246 decl : EXTERN typ passby NAME SEMICOLON . (7) . reduce 7 state 247 fun_def : FUN fun_name STAR type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (72) LPAREN shift 321 . error state 248 expr : expr . COMMA expr (219) term : LPAREN expr . RPAREN (230) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 322 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 249 term : FUN type_params . LPAREN param_list RPAREN init_list compound_stmt (232) term : FUN type_params . LPAREN param_list RPAREN init_list COLON expr (233) LPAREN shift 323 . error state 250 alloc : NEW . (106) alloc : NEW . GC (108) term : PRIMITIVE NEW . alloc typ LPAREN expr_list RPAREN (270) term : PRIMITIVE NEW . alloc typ LBRACK expr RBRACK (271) AT shift 72 NEW shift 75 GC shift 155 ASSIGN reduce 106 LPAREN reduce 106 RPAREN reduce 106 LBRACE reduce 106 RBRACE reduce 106 LBRACK reduce 106 RBRACK reduce 106 DOT reduce 106 COLON reduce 106 SEMICOLON reduce 106 COMMA reduce 106 STAR reduce 106 ARROW reduce 106 LT reduce 106 GT reduce 106 OUTPUT reduce 106 INPUT reduce 106 PLUS reduce 106 SUB reduce 106 DIV reduce 106 LEQ reduce 106 GEQ reduce 106 EQ reduce 106 NEQ reduce 106 OR reduce 106 AND reduce 106 PERCENT reduce 106 QMARK reduce 106 alloc goto 324 state 251 term : PRIMITIVE operator . (244) . reduce 244 252: shift/reduce conflict (shift 275, reduce 245) on OUTPUT 252: shift/reduce conflict (shift 276, reduce 245) on INPUT state 252 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : STAR expr . (245) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 245 RPAREN reduce 245 LBRACE reduce 245 RBRACE reduce 245 RBRACK reduce 245 COLON reduce 245 SEMICOLON reduce 245 COMMA reduce 245 STAR reduce 245 LT reduce 245 GT reduce 245 PLUS reduce 245 SUB reduce 245 DIV reduce 245 LEQ reduce 245 GEQ reduce 245 EQ reduce 245 NEQ reduce 245 OR reduce 245 AND reduce 245 PERCENT reduce 245 QMARK reduce 245 253: shift/reduce conflict (shift 275, reduce 247) on OUTPUT 253: shift/reduce conflict (shift 276, reduce 247) on INPUT state 253 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : SUB expr . (247) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 247 RPAREN reduce 247 LBRACE reduce 247 RBRACE reduce 247 RBRACK reduce 247 COLON reduce 247 SEMICOLON reduce 247 COMMA reduce 247 STAR reduce 247 LT reduce 247 GT reduce 247 PLUS reduce 247 SUB reduce 247 DIV reduce 247 LEQ reduce 247 GEQ reduce 247 EQ reduce 247 NEQ reduce 247 OR reduce 247 AND reduce 247 PERCENT reduce 247 QMARK reduce 247 254: shift/reduce conflict (shift 275, reduce 248) on OUTPUT 254: shift/reduce conflict (shift 276, reduce 248) on INPUT state 254 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : INC expr . (248) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 248 RPAREN reduce 248 LBRACE reduce 248 RBRACE reduce 248 RBRACK reduce 248 COLON reduce 248 SEMICOLON reduce 248 COMMA reduce 248 STAR reduce 248 LT reduce 248 GT reduce 248 PLUS reduce 248 SUB reduce 248 DIV reduce 248 LEQ reduce 248 GEQ reduce 248 EQ reduce 248 NEQ reduce 248 OR reduce 248 AND reduce 248 PERCENT reduce 248 QMARK reduce 248 255: shift/reduce conflict (shift 275, reduce 249) on OUTPUT 255: shift/reduce conflict (shift 276, reduce 249) on INPUT state 255 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : DEC expr . (249) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 249 RPAREN reduce 249 LBRACE reduce 249 RBRACE reduce 249 RBRACK reduce 249 COLON reduce 249 SEMICOLON reduce 249 COMMA reduce 249 STAR reduce 249 LT reduce 249 GT reduce 249 PLUS reduce 249 SUB reduce 249 DIV reduce 249 LEQ reduce 249 GEQ reduce 249 EQ reduce 249 NEQ reduce 249 OR reduce 249 AND reduce 249 PERCENT reduce 249 QMARK reduce 249 256: shift/reduce conflict (shift 275, reduce 263) on OUTPUT 256: shift/reduce conflict (shift 276, reduce 263) on INPUT state 256 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : NOT expr . (263) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 263 RPAREN reduce 263 LBRACE reduce 263 RBRACE reduce 263 RBRACK reduce 263 COLON reduce 263 SEMICOLON reduce 263 COMMA reduce 263 OR reduce 263 AND reduce 263 QMARK reduce 263 state 257 term : CAST LT . typ GT LPAREN expr RPAREN (237) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 325 tyname goto 46 258: shift/reduce conflict (shift 275, reduce 243) on OUTPUT 258: shift/reduce conflict (shift 276, reduce 243) on INPUT state 258 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : AMP expr . (243) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 243 RPAREN reduce 243 LBRACE reduce 243 RBRACE reduce 243 RBRACK reduce 243 COLON reduce 243 SEMICOLON reduce 243 COMMA reduce 243 STAR reduce 243 LT reduce 243 GT reduce 243 PLUS reduce 243 SUB reduce 243 DIV reduce 243 LEQ reduce 243 GEQ reduce 243 EQ reduce 243 NEQ reduce 243 OR reduce 243 AND reduce 243 PERCENT reduce 243 QMARK reduce 243 state 259 term : NEW LPAREN . expr RPAREN typ LPAREN expr_list RPAREN (265) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 326 fun_name goto 218 alloc goto 219 term goto 220 260: shift/reduce conflict (shift 275, reduce 268) on OUTPUT 260: shift/reduce conflict (shift 276, reduce 268) on INPUT state 260 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : DELETE expr . (268) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 268 RPAREN reduce 268 LBRACE reduce 268 RBRACE reduce 268 RBRACK reduce 268 COLON reduce 268 SEMICOLON reduce 268 COMMA reduce 268 STAR reduce 268 LT reduce 268 GT reduce 268 PLUS reduce 268 SUB reduce 268 DIV reduce 268 LEQ reduce 268 GEQ reduce 268 EQ reduce 268 NEQ reduce 268 OR reduce 268 AND reduce 268 PERCENT reduce 268 QMARK reduce 268 261: shift/reduce conflict (shift 265, reduce 269) on ASSIGN 261: shift/reduce conflict (shift 266, reduce 269) on LPAREN 261: shift/reduce conflict (shift 267, reduce 269) on LBRACK 261: shift/reduce conflict (shift 268, reduce 269) on DOT 261: shift/reduce conflict (shift 270, reduce 269) on COMMA 261: shift/reduce conflict (shift 271, reduce 269) on STAR 261: shift/reduce conflict (shift 272, reduce 269) on ARROW 261: shift/reduce conflict (shift 273, reduce 269) on LT 261: shift/reduce conflict (shift 274, reduce 269) on GT 261: shift/reduce conflict (shift 275, reduce 269) on OUTPUT 261: shift/reduce conflict (shift 276, reduce 269) on INPUT 261: shift/reduce conflict (shift 277, reduce 269) on PLUS 261: shift/reduce conflict (shift 278, reduce 269) on SUB 261: shift/reduce conflict (shift 279, reduce 269) on DIV 261: shift/reduce conflict (shift 280, reduce 269) on LEQ 261: shift/reduce conflict (shift 281, reduce 269) on GEQ 261: shift/reduce conflict (shift 282, reduce 269) on EQ 261: shift/reduce conflict (shift 283, reduce 269) on NEQ 261: shift/reduce conflict (shift 284, reduce 269) on OR 261: shift/reduce conflict (shift 285, reduce 269) on AND 261: shift/reduce conflict (shift 286, reduce 269) on PERCENT 261: shift/reduce conflict (shift 287, reduce 269) on QMARK state 261 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : DESTROY expr . (269) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 269 LBRACE reduce 269 RBRACE reduce 269 RBRACK reduce 269 COLON reduce 269 SEMICOLON reduce 269 state 262 term : SIZEOF LPAREN . expr RPAREN (238) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 327 fun_name goto 218 alloc goto 219 term goto 220 state 263 term : SIZEOF LT . typ GT (239) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 328 tyname goto 46 state 264 term : MODEL NAME . LT typ_list GT DOT fun_name (236) LT shift 329 . error state 265 term : expr ASSIGN . expr (240) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 330 fun_name goto 218 alloc goto 219 term goto 220 state 266 term : expr LPAREN . expr_list RPAREN (234) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 333 state 267 term : expr LBRACK . expr RBRACK (246) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 334 fun_name goto 218 alloc goto 219 term goto 220 state 268 term : expr DOT . NAME (242) NAME shift 335 . error state 269 decl : FUN fun_name PLUSASSIGN expr SEMICOLON . (22) . reduce 22 state 270 expr : expr COMMA . expr (219) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 336 fun_name goto 218 alloc goto 219 term goto 220 state 271 term : expr STAR . expr (252) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 337 fun_name goto 218 alloc goto 219 term goto 220 state 272 term : expr ARROW . NAME (241) NAME shift 338 . error state 273 term : expr LT . BAR typ_list BAR GT (235) term : expr LT . expr (256) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 BAR shift 339 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 340 fun_name goto 218 alloc goto 219 term goto 220 state 274 term : expr GT . expr (257) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 341 fun_name goto 218 alloc goto 219 term goto 220 state 275 term : expr OUTPUT . expr (272) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 342 fun_name goto 218 alloc goto 219 term goto 220 state 276 term : expr INPUT . expr (273) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 343 fun_name goto 218 alloc goto 219 term goto 220 state 277 term : expr PLUS . expr (250) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 344 fun_name goto 218 alloc goto 219 term goto 220 state 278 term : expr SUB . expr (251) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 345 fun_name goto 218 alloc goto 219 term goto 220 state 279 term : expr DIV . expr (253) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 346 fun_name goto 218 alloc goto 219 term goto 220 state 280 term : expr LEQ . expr (258) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 347 fun_name goto 218 alloc goto 219 term goto 220 state 281 term : expr GEQ . expr (259) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 348 fun_name goto 218 alloc goto 219 term goto 220 state 282 term : expr EQ . expr (254) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 349 fun_name goto 218 alloc goto 219 term goto 220 state 283 term : expr NEQ . expr (255) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 350 fun_name goto 218 alloc goto 219 term goto 220 state 284 term : expr OR . expr (260) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 351 fun_name goto 218 alloc goto 219 term goto 220 state 285 term : expr AND . expr (261) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 352 fun_name goto 218 alloc goto 219 term goto 220 state 286 term : expr PERCENT . expr (262) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 353 fun_name goto 218 alloc goto 219 term goto 220 state 287 term : expr QMARK . expr COLON expr (231) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 354 fun_name goto 218 alloc goto 219 term goto 220 state 288 typ : typ . STAR (213) typ : typ . CONST STAR (214) term : alloc typ . LPAREN expr_list RPAREN (264) term : alloc typ . LBRACK expr RBRACK (266) CONST shift 181 LPAREN shift 355 LBRACK shift 356 STAR shift 123 . error state 289 typ : tyname . (189) typ : tyname . DOT NAME (216) term : alloc tyname . LBRACE init_list RBRACE (267) LBRACE shift 357 DOT shift 127 CONST reduce 189 LPAREN reduce 189 LBRACK reduce 189 STAR reduce 189 state 290 fun_def : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (71) sig_decl : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ SEMICOLON (73) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 358 param goto 294 tyname goto 46 state 291 param_list : ELIPSES . (142) param_list : ELIPSES . AT (143) AT shift 359 RPAREN reduce 142 state 292 param : typ . passby NAME (153) param : typ . passby (154) typ : typ . STAR (213) typ : typ . CONST STAR (214) mut : . (148) CONST shift 121 BANG shift 122 STAR shift 123 AT shift 124 NAME reduce 148 RPAREN reduce 148 COMMA reduce 148 AMP reduce 148 passby goto 360 mut goto 126 state 293 sig_decl : PRIMITIVE operator type_params LPAREN param_list . RPAREN ret_typ SEMICOLON (75) RPAREN shift 361 . error state 294 param_list : param . (144) param_list : param . COMMA param_list (145) COMMA shift 362 RPAREN reduce 144 state 295 decl : LET NAME ASSIGN expr SEMICOLON . (6) . reduce 6 state 296 decl : MODULE NAME type_params where_clause LBRACE . decl_list RBRACE (23) model_label : . (44) NAME shift 3 EXTERN shift 4 FUN shift 5 PRIMITIVE shift 6 LET shift 7 MODULE shift 8 PRIVATE shift 9 PUBLIC shift 10 IMPORT shift 11 INCLUDE shift 12 USE shift 13 CONCEPT shift 14 TYPE shift 15 STRUCT shift 16 UNION shift 17 CLASS shift 18 MODEL reduce 44 decl_list goto 363 decl goto 21 model_label goto 22 fun_def goto 23 sig_decl goto 24 state 297 signature : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ARROW typ (41) LPAREN shift 364 . error state 298 import_expr : MODEL NAME LT typ_list . GT (39) GT shift 365 . error state 299 module_ref : NAME LT . typ_list GT (32) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 366 typ goto 174 tyname goto 46 state 300 rename : AS . NAME (30) NAME shift 367 . error state 301 decl : IMPORT import_expr FROM module_path rename . SEMICOLON (26) SEMICOLON shift 368 . error state 302 module_path : module_ref DOT . module_path (34) NAME shift 228 . error module_path goto 369 module_ref goto 230 state 303 decl : CONCEPT NAME LT name_list GT . LBRACE concept_mem_list RBRACE SEMICOLON (16) LBRACE shift 370 . error state 304 decl : TYPE NAME ASSIGN typ SEMICOLON . (11) . reduce 11 state 305 decl : STRUCT NAME type_params where_clause LBRACE . mem_list RBRACE SEMICOLON (12) mem_list : . (156) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RBRACE reduce 156 typ goto 371 mem_list goto 372 struct_mem goto 373 tyname goto 46 state 306 decl : STRUCT NAME type_params where_clause SEMICOLON . (8) . reduce 8 state 307 decl : UNION NAME type_params where_clause LBRACE . mem_list RBRACE SEMICOLON (13) mem_list : . (156) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RBRACE reduce 156 typ goto 371 mem_list goto 374 struct_mem goto 373 tyname goto 46 state 308 decl : UNION NAME type_params where_clause SEMICOLON . (9) . reduce 9 309: shift/reduce conflict (shift 375, reduce 2) on NAME state 309 decl : CLASS NAME type_params where_clause LBRACE . class_mem_list RBRACE SEMICOLON (15) type_params : . (2) class_mem_list : . (121) NAME shift 375 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 TILDE shift 376 FUN shift 377 LT shift 117 STRUCT shift 43 UNION shift 44 RBRACE reduce 121 WHERE reduce 2 type_params goto 378 typ goto 379 class_mem_list goto 380 fun_def goto 381 class_mem goto 382 tyname goto 46 state 310 decl : CLASS NAME type_params where_clause SEMICOLON . (10) . reduce 10 state 311 decl : model_label MODEL type_params where_clause NAME . LT typ_list GT model_open SEMICOLON (17) decl : model_label MODEL type_params where_clause NAME . LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause NAME . LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) LT shift 383 . error state 312 typ_list : typ COMMA typ_list . (279) . reduce 279 state 313 sig_decl : EXTERN STRING FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ SEMICOLON (74) LPAREN shift 384 . error state 314 name_list : NAME COMMA name_list . (140) . reduce 140 state 315 typ : EXISTS LT name_list GT where_clause . LBRACE typ RBRACE (217) LBRACE shift 385 . error state 316 req : NAME . LT typ_list GT (111) tyname : NAME . (185) tyname : NAME . LT typ_list GT (188) LT shift 386 CONST reduce 185 DOT reduce 185 STAR reduce 185 EQ reduce 185 state 317 req : typ . EQ typ (112) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 STAR shift 123 EQ shift 387 . error state 318 where_clause : WHERE LBRACE req_list . RBRACE (110) RBRACE shift 388 . error state 319 req_list : req . (114) req_list : req . COMMA req_list (115) COMMA shift 389 RBRACE reduce 114 state 320 typ : FUN type_params where_clause LPAREN param_list . RPAREN ret_typ (215) RPAREN shift 390 . error state 321 fun_def : FUN fun_name STAR type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (72) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 391 param goto 294 tyname goto 46 state 322 term : LPAREN expr RPAREN . (230) . reduce 230 state 323 term : FUN type_params LPAREN . param_list RPAREN init_list compound_stmt (232) term : FUN type_params LPAREN . param_list RPAREN init_list COLON expr (233) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 392 param goto 294 tyname goto 46 state 324 term : PRIMITIVE NEW alloc . typ LPAREN expr_list RPAREN (270) term : PRIMITIVE NEW alloc . typ LBRACK expr RBRACK (271) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 393 tyname goto 46 state 325 typ : typ . STAR (213) typ : typ . CONST STAR (214) term : CAST LT typ . GT LPAREN expr RPAREN (237) CONST shift 181 STAR shift 123 GT shift 394 . error state 326 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : NEW LPAREN expr . RPAREN typ LPAREN expr_list RPAREN (265) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 395 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 327 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : SIZEOF LPAREN expr . RPAREN (238) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 396 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 328 typ : typ . STAR (213) typ : typ . CONST STAR (214) term : SIZEOF LT typ . GT (239) CONST shift 181 STAR shift 123 GT shift 397 . error state 329 term : MODEL NAME LT . typ_list GT DOT fun_name (236) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 398 typ goto 174 tyname goto 46 330: shift/reduce conflict (shift 275, reduce 240) on OUTPUT 330: shift/reduce conflict (shift 276, reduce 240) on INPUT state 330 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr ASSIGN expr . (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 240 LBRACE reduce 240 RBRACE reduce 240 RBRACK reduce 240 COLON reduce 240 SEMICOLON reduce 240 COMMA reduce 240 state 331 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error 332: shift/reduce conflict (shift 399, reduce 218) on COMMA state 332 expr : term . (218) expr_list : term . (275) expr_list : term . COMMA expr_list (276) COMMA shift 399 ASSIGN reduce 218 LPAREN reduce 218 RPAREN reduce 275 LBRACK reduce 218 DOT reduce 218 STAR reduce 218 ARROW reduce 218 LT reduce 218 GT reduce 218 OUTPUT reduce 218 INPUT reduce 218 PLUS reduce 218 SUB reduce 218 DIV reduce 218 LEQ reduce 218 GEQ reduce 218 EQ reduce 218 NEQ reduce 218 OR reduce 218 AND reduce 218 PERCENT reduce 218 QMARK reduce 218 state 333 term : expr LPAREN expr_list . RPAREN (234) RPAREN shift 400 . error state 334 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr LBRACK expr . RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 RBRACK shift 401 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 335 term : expr DOT NAME . (242) . reduce 242 336: shift/reduce conflict (shift 275, reduce 219) on OUTPUT 336: shift/reduce conflict (shift 276, reduce 219) on INPUT state 336 expr : expr . COMMA expr (219) expr : expr COMMA expr . (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 219 LBRACE reduce 219 RBRACE reduce 219 RBRACK reduce 219 COLON reduce 219 SEMICOLON reduce 219 COMMA reduce 219 337: shift/reduce conflict (shift 275, reduce 252) on OUTPUT 337: shift/reduce conflict (shift 276, reduce 252) on INPUT state 337 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr STAR expr . (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 252 RPAREN reduce 252 LBRACE reduce 252 RBRACE reduce 252 RBRACK reduce 252 COLON reduce 252 SEMICOLON reduce 252 COMMA reduce 252 STAR reduce 252 LT reduce 252 GT reduce 252 PLUS reduce 252 SUB reduce 252 DIV reduce 252 LEQ reduce 252 GEQ reduce 252 EQ reduce 252 NEQ reduce 252 OR reduce 252 AND reduce 252 PERCENT reduce 252 QMARK reduce 252 state 338 term : expr ARROW NAME . (241) . reduce 241 state 339 term : expr LT BAR . typ_list BAR GT (235) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 BAR reduce 277 typ_list goto 402 typ goto 174 tyname goto 46 340: shift/reduce conflict (shift 275, reduce 256) on OUTPUT 340: shift/reduce conflict (shift 276, reduce 256) on INPUT state 340 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr LT expr . (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 256 RPAREN reduce 256 LBRACE reduce 256 RBRACE reduce 256 RBRACK reduce 256 COLON reduce 256 SEMICOLON reduce 256 COMMA reduce 256 OR reduce 256 AND reduce 256 QMARK reduce 256 341: shift/reduce conflict (shift 275, reduce 257) on OUTPUT 341: shift/reduce conflict (shift 276, reduce 257) on INPUT state 341 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr GT expr . (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 257 RPAREN reduce 257 LBRACE reduce 257 RBRACE reduce 257 RBRACK reduce 257 COLON reduce 257 SEMICOLON reduce 257 COMMA reduce 257 OR reduce 257 AND reduce 257 QMARK reduce 257 342: shift/reduce conflict (shift 265, reduce 272) on ASSIGN 342: shift/reduce conflict (shift 266, reduce 272) on LPAREN 342: shift/reduce conflict (shift 267, reduce 272) on LBRACK 342: shift/reduce conflict (shift 268, reduce 272) on DOT 342: shift/reduce conflict (shift 270, reduce 272) on COMMA 342: shift/reduce conflict (shift 271, reduce 272) on STAR 342: shift/reduce conflict (shift 272, reduce 272) on ARROW 342: shift/reduce conflict (shift 273, reduce 272) on LT 342: shift/reduce conflict (shift 274, reduce 272) on GT 342: shift/reduce conflict (shift 275, reduce 272) on OUTPUT 342: shift/reduce conflict (shift 276, reduce 272) on INPUT 342: shift/reduce conflict (shift 277, reduce 272) on PLUS 342: shift/reduce conflict (shift 278, reduce 272) on SUB 342: shift/reduce conflict (shift 279, reduce 272) on DIV 342: shift/reduce conflict (shift 280, reduce 272) on LEQ 342: shift/reduce conflict (shift 281, reduce 272) on GEQ 342: shift/reduce conflict (shift 282, reduce 272) on EQ 342: shift/reduce conflict (shift 283, reduce 272) on NEQ 342: shift/reduce conflict (shift 284, reduce 272) on OR 342: shift/reduce conflict (shift 285, reduce 272) on AND 342: shift/reduce conflict (shift 286, reduce 272) on PERCENT 342: shift/reduce conflict (shift 287, reduce 272) on QMARK state 342 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr OUTPUT expr . (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 272 LBRACE reduce 272 RBRACE reduce 272 RBRACK reduce 272 COLON reduce 272 SEMICOLON reduce 272 343: shift/reduce conflict (shift 265, reduce 273) on ASSIGN 343: shift/reduce conflict (shift 266, reduce 273) on LPAREN 343: shift/reduce conflict (shift 267, reduce 273) on LBRACK 343: shift/reduce conflict (shift 268, reduce 273) on DOT 343: shift/reduce conflict (shift 270, reduce 273) on COMMA 343: shift/reduce conflict (shift 271, reduce 273) on STAR 343: shift/reduce conflict (shift 272, reduce 273) on ARROW 343: shift/reduce conflict (shift 273, reduce 273) on LT 343: shift/reduce conflict (shift 274, reduce 273) on GT 343: shift/reduce conflict (shift 275, reduce 273) on OUTPUT 343: shift/reduce conflict (shift 276, reduce 273) on INPUT 343: shift/reduce conflict (shift 277, reduce 273) on PLUS 343: shift/reduce conflict (shift 278, reduce 273) on SUB 343: shift/reduce conflict (shift 279, reduce 273) on DIV 343: shift/reduce conflict (shift 280, reduce 273) on LEQ 343: shift/reduce conflict (shift 281, reduce 273) on GEQ 343: shift/reduce conflict (shift 282, reduce 273) on EQ 343: shift/reduce conflict (shift 283, reduce 273) on NEQ 343: shift/reduce conflict (shift 284, reduce 273) on OR 343: shift/reduce conflict (shift 285, reduce 273) on AND 343: shift/reduce conflict (shift 286, reduce 273) on PERCENT 343: shift/reduce conflict (shift 287, reduce 273) on QMARK state 343 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) term : expr INPUT expr . (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 273 LBRACE reduce 273 RBRACE reduce 273 RBRACK reduce 273 COLON reduce 273 SEMICOLON reduce 273 344: shift/reduce conflict (shift 275, reduce 250) on OUTPUT 344: shift/reduce conflict (shift 276, reduce 250) on INPUT state 344 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr PLUS expr . (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 DIV shift 279 PERCENT shift 286 ASSIGN reduce 250 RPAREN reduce 250 LBRACE reduce 250 RBRACE reduce 250 RBRACK reduce 250 COLON reduce 250 SEMICOLON reduce 250 COMMA reduce 250 LT reduce 250 GT reduce 250 PLUS reduce 250 SUB reduce 250 LEQ reduce 250 GEQ reduce 250 EQ reduce 250 NEQ reduce 250 OR reduce 250 AND reduce 250 QMARK reduce 250 345: shift/reduce conflict (shift 275, reduce 251) on OUTPUT 345: shift/reduce conflict (shift 276, reduce 251) on INPUT state 345 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr SUB expr . (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 DIV shift 279 PERCENT shift 286 ASSIGN reduce 251 RPAREN reduce 251 LBRACE reduce 251 RBRACE reduce 251 RBRACK reduce 251 COLON reduce 251 SEMICOLON reduce 251 COMMA reduce 251 LT reduce 251 GT reduce 251 PLUS reduce 251 SUB reduce 251 LEQ reduce 251 GEQ reduce 251 EQ reduce 251 NEQ reduce 251 OR reduce 251 AND reduce 251 QMARK reduce 251 346: shift/reduce conflict (shift 275, reduce 253) on OUTPUT 346: shift/reduce conflict (shift 276, reduce 253) on INPUT state 346 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr DIV expr . (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 ASSIGN reduce 253 RPAREN reduce 253 LBRACE reduce 253 RBRACE reduce 253 RBRACK reduce 253 COLON reduce 253 SEMICOLON reduce 253 COMMA reduce 253 LT reduce 253 GT reduce 253 PLUS reduce 253 SUB reduce 253 DIV reduce 253 LEQ reduce 253 GEQ reduce 253 EQ reduce 253 NEQ reduce 253 OR reduce 253 AND reduce 253 PERCENT reduce 253 QMARK reduce 253 347: shift/reduce conflict (shift 275, reduce 258) on OUTPUT 347: shift/reduce conflict (shift 276, reduce 258) on INPUT state 347 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr LEQ expr . (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 258 RPAREN reduce 258 LBRACE reduce 258 RBRACE reduce 258 RBRACK reduce 258 COLON reduce 258 SEMICOLON reduce 258 COMMA reduce 258 OR reduce 258 AND reduce 258 QMARK reduce 258 348: shift/reduce conflict (shift 275, reduce 259) on OUTPUT 348: shift/reduce conflict (shift 276, reduce 259) on INPUT state 348 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr GEQ expr . (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 259 RPAREN reduce 259 LBRACE reduce 259 RBRACE reduce 259 RBRACK reduce 259 COLON reduce 259 SEMICOLON reduce 259 COMMA reduce 259 OR reduce 259 AND reduce 259 QMARK reduce 259 349: shift/reduce conflict (shift 275, reduce 254) on OUTPUT 349: shift/reduce conflict (shift 276, reduce 254) on INPUT state 349 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr EQ expr . (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 PERCENT shift 286 ASSIGN reduce 254 RPAREN reduce 254 LBRACE reduce 254 RBRACE reduce 254 RBRACK reduce 254 COLON reduce 254 SEMICOLON reduce 254 COMMA reduce 254 LT reduce 254 GT reduce 254 LEQ reduce 254 GEQ reduce 254 OR reduce 254 AND reduce 254 QMARK reduce 254 350: shift/reduce conflict (shift 275, reduce 255) on OUTPUT 350: shift/reduce conflict (shift 276, reduce 255) on INPUT state 350 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr NEQ expr . (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 PERCENT shift 286 ASSIGN reduce 255 RPAREN reduce 255 LBRACE reduce 255 RBRACE reduce 255 RBRACK reduce 255 COLON reduce 255 SEMICOLON reduce 255 COMMA reduce 255 LT reduce 255 GT reduce 255 LEQ reduce 255 GEQ reduce 255 OR reduce 255 AND reduce 255 QMARK reduce 255 351: shift/reduce conflict (shift 275, reduce 260) on OUTPUT 351: shift/reduce conflict (shift 276, reduce 260) on INPUT state 351 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr OR expr . (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 260 RPAREN reduce 260 LBRACE reduce 260 RBRACE reduce 260 RBRACK reduce 260 COLON reduce 260 SEMICOLON reduce 260 COMMA reduce 260 OR reduce 260 AND reduce 260 QMARK reduce 260 352: shift/reduce conflict (shift 275, reduce 261) on OUTPUT 352: shift/reduce conflict (shift 276, reduce 261) on INPUT state 352 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr AND expr . (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 PERCENT shift 286 ASSIGN reduce 261 RPAREN reduce 261 LBRACE reduce 261 RBRACE reduce 261 RBRACK reduce 261 COLON reduce 261 SEMICOLON reduce 261 COMMA reduce 261 OR reduce 261 AND reduce 261 QMARK reduce 261 353: shift/reduce conflict (shift 275, reduce 262) on OUTPUT 353: shift/reduce conflict (shift 276, reduce 262) on INPUT state 353 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr PERCENT expr . (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 OUTPUT shift 275 INPUT shift 276 DIV shift 279 ASSIGN reduce 262 RPAREN reduce 262 LBRACE reduce 262 RBRACE reduce 262 RBRACK reduce 262 COLON reduce 262 SEMICOLON reduce 262 COMMA reduce 262 LT reduce 262 GT reduce 262 PLUS reduce 262 SUB reduce 262 LEQ reduce 262 GEQ reduce 262 EQ reduce 262 NEQ reduce 262 OR reduce 262 AND reduce 262 PERCENT reduce 262 QMARK reduce 262 state 354 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr QMARK expr . COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 COLON shift 403 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 355 term : alloc typ LPAREN . expr_list RPAREN (264) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 404 state 356 term : alloc typ LBRACK . expr RBRACK (266) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 405 fun_name goto 218 alloc goto 219 term goto 220 state 357 term : alloc tyname LBRACE . init_list RBRACE (267) init_list : . (280) NAME shift 406 RBRACE reduce 280 init_list goto 407 init goto 408 state 358 fun_def : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (71) sig_decl : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ SEMICOLON (73) RPAREN shift 409 . error state 359 param_list : ELIPSES AT . (143) . reduce 143 state 360 param : typ passby . NAME (153) param : typ passby . (154) NAME shift 410 RPAREN reduce 154 COMMA reduce 154 state 361 sig_decl : PRIMITIVE operator type_params LPAREN param_list RPAREN . ret_typ SEMICOLON (75) ret_typ : . (69) ARROW shift 411 SEMICOLON reduce 69 ret_typ goto 412 state 362 param_list : param COMMA . param_list (145) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 413 param goto 294 tyname goto 46 state 363 decl : MODULE NAME type_params where_clause LBRACE decl_list . RBRACE (23) RBRACE shift 414 . error state 364 signature : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ARROW typ (41) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 415 param goto 294 tyname goto 46 state 365 import_expr : MODEL NAME LT typ_list GT . (39) . reduce 39 state 366 module_ref : NAME LT typ_list . GT (32) GT shift 416 . error state 367 rename : AS NAME . (30) . reduce 30 state 368 decl : IMPORT import_expr FROM module_path rename SEMICOLON . (26) . reduce 26 state 369 module_path : module_ref DOT module_path . (34) . reduce 34 state 370 decl : CONCEPT NAME LT name_list GT LBRACE . concept_mem_list RBRACE SEMICOLON (16) concept_mem_list : . (123) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 417 REFINES shift 418 REQUIRE shift 419 TYPE shift 420 STRUCT shift 43 UNION shift 44 RBRACE reduce 123 typ goto 421 concept_mem_list goto 422 concept_mem goto 423 tyname goto 46 state 371 struct_mem : typ . NAME SEMICOLON (155) typ : typ . STAR (213) typ : typ . CONST STAR (214) NAME shift 424 CONST shift 181 STAR shift 123 . error state 372 decl : STRUCT NAME type_params where_clause LBRACE mem_list . RBRACE SEMICOLON (12) RBRACE shift 425 . error state 373 mem_list : struct_mem . mem_list (157) mem_list : . (156) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RBRACE reduce 156 typ goto 371 mem_list goto 426 struct_mem goto 373 tyname goto 46 state 374 decl : UNION NAME type_params where_clause LBRACE mem_list . RBRACE SEMICOLON (13) RBRACE shift 427 . error state 375 class_mem : NAME . LPAREN param_list RPAREN member_init_list compound_stmt (117) tyname : NAME . (185) tyname : NAME . LT typ_list GT (188) LPAREN shift 428 LT shift 102 NAME reduce 185 CONST reduce 185 DOT reduce 185 STAR reduce 185 state 376 class_mem : TILDE . NAME LPAREN RPAREN compound_stmt (119) NAME shift 429 . error state 377 fun_def : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) fun_def : FUN . fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) typ : FUN . type_params where_clause LPAREN param_list RPAREN ret_typ (215) type_params : . (2) NAME shift 47 OPERATOR shift 48 LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 118 fun_name goto 430 state 378 class_mem : type_params . where_clause NAME LPAREN param_list RPAREN member_init_list compound_stmt (118) where_clause : . (109) WHERE shift 184 NAME reduce 109 where_clause goto 431 state 379 class_mem : typ . NAME SEMICOLON (116) typ : typ . STAR (213) typ : typ . CONST STAR (214) NAME shift 432 CONST shift 181 STAR shift 123 . error state 380 decl : CLASS NAME type_params where_clause LBRACE class_mem_list . RBRACE SEMICOLON (15) RBRACE shift 433 . error state 381 class_mem : fun_def . (120) . reduce 120 382: shift/reduce conflict (shift 375, reduce 2) on NAME state 382 class_mem_list : class_mem . class_mem_list (122) type_params : . (2) class_mem_list : . (121) NAME shift 375 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 TILDE shift 376 FUN shift 377 LT shift 117 STRUCT shift 43 UNION shift 44 RBRACE reduce 121 WHERE reduce 2 type_params goto 378 typ goto 379 class_mem_list goto 434 fun_def goto 381 class_mem goto 382 tyname goto 46 state 383 decl : model_label MODEL type_params where_clause NAME LT . typ_list GT model_open SEMICOLON (17) decl : model_label MODEL type_params where_clause NAME LT . typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause NAME LT . typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 435 typ goto 174 tyname goto 46 state 384 sig_decl : EXTERN STRING FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ SEMICOLON (74) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 436 param goto 294 tyname goto 46 state 385 typ : EXISTS LT name_list GT where_clause LBRACE . typ RBRACE (217) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 437 tyname goto 46 state 386 req : NAME LT . typ_list GT (111) tyname : NAME LT . typ_list GT (188) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 438 typ goto 174 tyname goto 46 state 387 req : typ EQ . typ (112) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 439 tyname goto 46 state 388 where_clause : WHERE LBRACE req_list RBRACE . (110) . reduce 110 state 389 req_list : req COMMA . req_list (115) req_list : . (113) NAME shift 316 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RBRACE reduce 113 typ goto 317 req_list goto 440 req goto 319 tyname goto 46 state 390 typ : FUN type_params where_clause LPAREN param_list RPAREN . ret_typ (215) ret_typ : . (69) ARROW shift 411 NAME reduce 69 CONST reduce 69 LPAREN reduce 69 RPAREN reduce 69 BAR reduce 69 LBRACE reduce 69 RBRACE reduce 69 LBRACK reduce 69 BANG reduce 69 SEMICOLON reduce 69 COMMA reduce 69 STAR reduce 69 GT reduce 69 EQ reduce 69 AT reduce 69 AMP reduce 69 FROM reduce 69 ret_typ goto 441 state 391 fun_def : FUN fun_name STAR type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (72) RPAREN shift 442 . error state 392 term : FUN type_params LPAREN param_list . RPAREN init_list compound_stmt (232) term : FUN type_params LPAREN param_list . RPAREN init_list COLON expr (233) RPAREN shift 443 . error state 393 typ : typ . STAR (213) typ : typ . CONST STAR (214) term : PRIMITIVE NEW alloc typ . LPAREN expr_list RPAREN (270) term : PRIMITIVE NEW alloc typ . LBRACK expr RBRACK (271) CONST shift 181 LPAREN shift 444 LBRACK shift 445 STAR shift 123 . error state 394 term : CAST LT typ GT . LPAREN expr RPAREN (237) LPAREN shift 446 . error state 395 term : NEW LPAREN expr RPAREN . typ LPAREN expr_list RPAREN (265) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 447 tyname goto 46 state 396 term : SIZEOF LPAREN expr RPAREN . (238) . reduce 238 state 397 term : SIZEOF LT typ GT . (239) . reduce 239 state 398 term : MODEL NAME LT typ_list . GT DOT fun_name (236) GT shift 448 . error state 399 expr_list : term COMMA . expr_list (276) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 449 state 400 term : expr LPAREN expr_list RPAREN . (234) . reduce 234 state 401 term : expr LBRACK expr RBRACK . (246) . reduce 246 state 402 term : expr LT BAR typ_list . BAR GT (235) BAR shift 450 . error state 403 term : expr QMARK expr COLON . expr (231) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 451 fun_name goto 218 alloc goto 219 term goto 220 state 404 term : alloc typ LPAREN expr_list . RPAREN (264) RPAREN shift 452 . error state 405 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : alloc typ LBRACK expr . RBRACK (266) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 RBRACK shift 453 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 406 init : NAME . (283) init : NAME . ASSIGN expr (284) ASSIGN shift 454 LBRACE reduce 283 RBRACE reduce 283 COLON reduce 283 COMMA reduce 283 state 407 term : alloc tyname LBRACE init_list . RBRACE (267) RBRACE shift 455 . error state 408 init_list : init . (281) init_list : init . COMMA init_list (282) COMMA shift 456 LBRACE reduce 281 RBRACE reduce 281 COLON reduce 281 state 409 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (71) sig_decl : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ SEMICOLON (73) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 SEMICOLON reduce 69 ret_typ goto 457 state 410 param : typ passby NAME . (153) . reduce 153 state 411 ret_typ : ARROW . typ passby (70) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 458 tyname goto 46 state 412 sig_decl : PRIMITIVE operator type_params LPAREN param_list RPAREN ret_typ . SEMICOLON (75) SEMICOLON shift 459 . error state 413 param_list : param COMMA param_list . (145) . reduce 145 state 414 decl : MODULE NAME type_params where_clause LBRACE decl_list RBRACE . (23) . reduce 23 state 415 signature : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ARROW typ (41) RPAREN shift 460 . error state 416 module_ref : NAME LT typ_list GT . (32) . reduce 32 state 417 concept_mem : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (125) concept_mem : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (126) typ : FUN . type_params where_clause LPAREN param_list RPAREN ret_typ (215) type_params : . (2) NAME shift 47 OPERATOR shift 48 LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 118 fun_name goto 461 state 418 concept_mem : REFINES . NAME LT typ_list GT SEMICOLON (129) NAME shift 462 . error state 419 concept_mem : REQUIRE . NAME LT typ_list GT SEMICOLON (130) NAME shift 463 . error state 420 concept_mem : TYPE . NAME SEMICOLON (127) NAME shift 464 . error state 421 concept_mem : typ . EQ typ SEMICOLON (128) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 STAR shift 123 EQ shift 465 . error state 422 decl : CONCEPT NAME LT name_list GT LBRACE concept_mem_list . RBRACE SEMICOLON (16) RBRACE shift 466 . error state 423 concept_mem_list : concept_mem . concept_mem_list (124) concept_mem_list : . (123) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 417 REFINES shift 418 REQUIRE shift 419 TYPE shift 420 STRUCT shift 43 UNION shift 44 RBRACE reduce 123 typ goto 421 concept_mem_list goto 467 concept_mem goto 423 tyname goto 46 state 424 struct_mem : typ NAME . SEMICOLON (155) SEMICOLON shift 468 . error state 425 decl : STRUCT NAME type_params where_clause LBRACE mem_list RBRACE . SEMICOLON (12) SEMICOLON shift 469 . error state 426 mem_list : struct_mem mem_list . (157) . reduce 157 state 427 decl : UNION NAME type_params where_clause LBRACE mem_list RBRACE . SEMICOLON (13) SEMICOLON shift 470 . error state 428 class_mem : NAME LPAREN . param_list RPAREN member_init_list compound_stmt (117) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 471 param goto 294 tyname goto 46 state 429 class_mem : TILDE NAME . LPAREN RPAREN compound_stmt (119) LPAREN shift 472 . error state 430 fun_def : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) fun_def : FUN fun_name . STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (72) type_params : . (2) STAR shift 150 LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 473 state 431 class_mem : type_params where_clause . NAME LPAREN param_list RPAREN member_init_list compound_stmt (118) NAME shift 474 . error state 432 class_mem : typ NAME . SEMICOLON (116) SEMICOLON shift 475 . error state 433 decl : CLASS NAME type_params where_clause LBRACE class_mem_list RBRACE . SEMICOLON (15) SEMICOLON shift 476 . error state 434 class_mem_list : class_mem class_mem_list . (122) . reduce 122 state 435 decl : model_label MODEL type_params where_clause NAME LT typ_list . GT model_open SEMICOLON (17) decl : model_label MODEL type_params where_clause NAME LT typ_list . GT model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause NAME LT typ_list . GT model_open LBRACE model_mem_list RBRACE SEMICOLON (19) GT shift 477 . error state 436 sig_decl : EXTERN STRING FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ SEMICOLON (74) RPAREN shift 478 . error state 437 typ : typ . STAR (213) typ : typ . CONST STAR (214) typ : EXISTS LT name_list GT where_clause LBRACE typ . RBRACE (217) CONST shift 181 RBRACE shift 479 STAR shift 123 . error state 438 req : NAME LT typ_list . GT (111) tyname : NAME LT typ_list . GT (188) GT shift 480 . error state 439 req : typ EQ typ . (112) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 STAR shift 123 RBRACE reduce 112 COMMA reduce 112 state 440 req_list : req COMMA req_list . (115) . reduce 115 state 441 typ : FUN type_params where_clause LPAREN param_list RPAREN ret_typ . (215) . reduce 215 state 442 fun_def : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (72) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 ret_typ goto 481 state 443 term : FUN type_params LPAREN param_list RPAREN . init_list compound_stmt (232) term : FUN type_params LPAREN param_list RPAREN . init_list COLON expr (233) init_list : . (280) NAME shift 406 LBRACE reduce 280 COLON reduce 280 init_list goto 482 init goto 408 state 444 term : PRIMITIVE NEW alloc typ LPAREN . expr_list RPAREN (270) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 483 state 445 term : PRIMITIVE NEW alloc typ LBRACK . expr RBRACK (271) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 484 fun_name goto 218 alloc goto 219 term goto 220 state 446 term : CAST LT typ GT LPAREN . expr RPAREN (237) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 485 fun_name goto 218 alloc goto 219 term goto 220 state 447 typ : typ . STAR (213) typ : typ . CONST STAR (214) term : NEW LPAREN expr RPAREN typ . LPAREN expr_list RPAREN (265) CONST shift 181 LPAREN shift 486 STAR shift 123 . error state 448 term : MODEL NAME LT typ_list GT . DOT fun_name (236) DOT shift 487 . error state 449 expr_list : term COMMA expr_list . (276) . reduce 276 state 450 term : expr LT BAR typ_list BAR . GT (235) GT shift 488 . error 451: shift/reduce conflict (shift 275, reduce 231) on OUTPUT 451: shift/reduce conflict (shift 276, reduce 231) on INPUT state 451 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr QMARK expr COLON expr . (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 231 LBRACE reduce 231 RBRACE reduce 231 RBRACK reduce 231 COLON reduce 231 SEMICOLON reduce 231 COMMA reduce 231 state 452 term : alloc typ LPAREN expr_list RPAREN . (264) . reduce 264 state 453 term : alloc typ LBRACK expr RBRACK . (266) . reduce 266 state 454 init : NAME ASSIGN . expr (284) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 489 fun_name goto 218 alloc goto 219 term goto 220 state 455 term : alloc tyname LBRACE init_list RBRACE . (267) . reduce 267 state 456 init_list : init COMMA . init_list (282) init_list : . (280) NAME shift 406 LBRACE reduce 280 RBRACE reduce 280 COLON reduce 280 init_list goto 490 init goto 408 state 457 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (71) sig_decl : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . SEMICOLON (73) LBRACE shift 491 SEMICOLON shift 492 . error compound_stmt goto 493 458: shift/reduce conflict (shift 121, reduce 148) on CONST 458: shift/reduce conflict (shift 122, reduce 148) on BANG 458: shift/reduce conflict (shift 123, reduce 148) on STAR 458: shift/reduce conflict (shift 124, reduce 148) on AT state 458 ret_typ : ARROW typ . passby (70) typ : typ . STAR (213) typ : typ . CONST STAR (214) mut : . (148) CONST shift 121 BANG shift 122 STAR shift 123 AT shift 124 NAME reduce 148 LPAREN reduce 148 RPAREN reduce 148 BAR reduce 148 LBRACE reduce 148 RBRACE reduce 148 LBRACK reduce 148 SEMICOLON reduce 148 COMMA reduce 148 GT reduce 148 EQ reduce 148 AMP reduce 148 FROM reduce 148 passby goto 494 mut goto 126 state 459 sig_decl : PRIMITIVE operator type_params LPAREN param_list RPAREN ret_typ SEMICOLON . (75) . reduce 75 state 460 signature : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ARROW typ (41) ARROW shift 495 . error state 461 concept_mem : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (125) concept_mem : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (126) type_params : . (2) LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 496 state 462 concept_mem : REFINES NAME . LT typ_list GT SEMICOLON (129) LT shift 497 . error state 463 concept_mem : REQUIRE NAME . LT typ_list GT SEMICOLON (130) LT shift 498 . error state 464 concept_mem : TYPE NAME . SEMICOLON (127) SEMICOLON shift 499 . error state 465 concept_mem : typ EQ . typ SEMICOLON (128) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 500 tyname goto 46 state 466 decl : CONCEPT NAME LT name_list GT LBRACE concept_mem_list RBRACE . SEMICOLON (16) SEMICOLON shift 501 . error state 467 concept_mem_list : concept_mem concept_mem_list . (124) . reduce 124 state 468 struct_mem : typ NAME SEMICOLON . (155) . reduce 155 state 469 decl : STRUCT NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON . (12) . reduce 12 state 470 decl : UNION NAME type_params where_clause LBRACE mem_list RBRACE SEMICOLON . (13) . reduce 13 state 471 class_mem : NAME LPAREN param_list . RPAREN member_init_list compound_stmt (117) RPAREN shift 502 . error state 472 class_mem : TILDE NAME LPAREN . RPAREN compound_stmt (119) RPAREN shift 503 . error state 473 fun_def : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (71) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 504 state 474 class_mem : type_params where_clause NAME . LPAREN param_list RPAREN member_init_list compound_stmt (118) LPAREN shift 505 . error state 475 class_mem : typ NAME SEMICOLON . (116) . reduce 116 state 476 decl : CLASS NAME type_params where_clause LBRACE class_mem_list RBRACE SEMICOLON . (15) . reduce 15 state 477 decl : model_label MODEL type_params where_clause NAME LT typ_list GT . model_open SEMICOLON (17) decl : model_label MODEL type_params where_clause NAME LT typ_list GT . model_open LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause NAME LT typ_list GT . model_open LBRACE model_mem_list RBRACE SEMICOLON (19) model_open : . (42) OPEN shift 506 LBRACE reduce 42 LBRACK reduce 42 SEMICOLON reduce 42 model_open goto 507 state 478 sig_decl : EXTERN STRING FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ SEMICOLON (74) ret_typ : . (69) ARROW shift 411 SEMICOLON reduce 69 ret_typ goto 508 state 479 typ : EXISTS LT name_list GT where_clause LBRACE typ RBRACE . (217) . reduce 217 state 480 req : NAME LT typ_list GT . (111) tyname : NAME LT typ_list GT . (188) CONST reduce 188 RBRACE reduce 111 DOT reduce 188 COMMA reduce 111 STAR reduce 188 EQ reduce 188 state 481 fun_def : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (72) LBRACE shift 491 . error compound_stmt goto 509 state 482 term : FUN type_params LPAREN param_list RPAREN init_list . compound_stmt (232) term : FUN type_params LPAREN param_list RPAREN init_list . COLON expr (233) LBRACE shift 491 COLON shift 510 . error compound_stmt goto 511 state 483 term : PRIMITIVE NEW alloc typ LPAREN expr_list . RPAREN (270) RPAREN shift 512 . error state 484 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : PRIMITIVE NEW alloc typ LBRACK expr . RBRACK (271) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 RBRACK shift 513 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 485 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : CAST LT typ GT LPAREN expr . RPAREN (237) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 514 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 486 term : NEW LPAREN expr RPAREN typ LPAREN . expr_list RPAREN (265) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 515 state 487 term : MODEL NAME LT typ_list GT DOT . fun_name (236) NAME shift 47 OPERATOR shift 48 . error fun_name goto 516 state 488 term : expr LT BAR typ_list BAR GT . (235) . reduce 235 state 489 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) init : NAME ASSIGN expr . (284) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 LBRACE reduce 284 RBRACE reduce 284 COLON reduce 284 COMMA reduce 284 state 490 init_list : init COMMA init_list . (282) . reduce 282 state 491 compound_stmt : LBRACE . stmt_list RBRACE (177) stmt_list : . (178) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 RBRACE reduce 178 expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 530 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 stmt_list goto 536 term goto 220 state 492 sig_decl : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON . (73) . reduce 73 state 493 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt . (71) . reduce 71 state 494 ret_typ : ARROW typ passby . (70) . reduce 70 state 495 signature : FUN fun_name type_params where_clause LPAREN param_list RPAREN ARROW . typ (41) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 537 tyname goto 46 state 496 concept_mem : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ SEMICOLON (125) concept_mem : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (126) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 538 state 497 concept_mem : REFINES NAME LT . typ_list GT SEMICOLON (129) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 539 typ goto 174 tyname goto 46 state 498 concept_mem : REQUIRE NAME LT . typ_list GT SEMICOLON (130) typ_list : . (277) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 GT reduce 277 typ_list goto 540 typ goto 174 tyname goto 46 state 499 concept_mem : TYPE NAME SEMICOLON . (127) . reduce 127 state 500 concept_mem : typ EQ typ . SEMICOLON (128) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 SEMICOLON shift 541 STAR shift 123 . error state 501 decl : CONCEPT NAME LT name_list GT LBRACE concept_mem_list RBRACE SEMICOLON . (16) . reduce 16 state 502 class_mem : NAME LPAREN param_list RPAREN . member_init_list compound_stmt (117) member_init_list : . (285) COLON shift 542 LBRACE reduce 285 member_init_list goto 543 state 503 class_mem : TILDE NAME LPAREN RPAREN . compound_stmt (119) LBRACE shift 491 . error compound_stmt goto 544 state 504 fun_def : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (71) LPAREN shift 545 . error state 505 class_mem : type_params where_clause NAME LPAREN . param_list RPAREN member_init_list compound_stmt (118) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 546 param goto 294 tyname goto 46 state 506 model_open : OPEN . (43) . reduce 43 state 507 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open . SEMICOLON (17) decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open . LBRACK model_mem_list RBRACK SEMICOLON (18) decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open . LBRACE model_mem_list RBRACE SEMICOLON (19) LBRACE shift 547 LBRACK shift 548 SEMICOLON shift 549 . error state 508 sig_decl : EXTERN STRING FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . SEMICOLON (74) SEMICOLON shift 550 . error state 509 fun_def : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt . (72) . reduce 72 state 510 term : FUN type_params LPAREN param_list RPAREN init_list COLON . expr (233) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 551 fun_name goto 218 alloc goto 219 term goto 220 state 511 term : FUN type_params LPAREN param_list RPAREN init_list compound_stmt . (232) . reduce 232 state 512 term : PRIMITIVE NEW alloc typ LPAREN expr_list RPAREN . (270) . reduce 270 state 513 term : PRIMITIVE NEW alloc typ LBRACK expr RBRACK . (271) . reduce 271 state 514 term : CAST LT typ GT LPAREN expr RPAREN . (237) . reduce 237 state 515 term : NEW LPAREN expr RPAREN typ LPAREN expr_list . RPAREN (265) RPAREN shift 552 . error state 516 term : MODEL NAME LT typ_list GT DOT fun_name . (236) . reduce 236 state 517 stmt : UNPACK . LT name_list GT expr compound_stmt (159) LT shift 553 . error state 518 stmt : SEMICOLON . (171) . reduce 171 state 519 if_stmt : IF . LPAREN expr RPAREN stmt ELSE stmt (172) if_stmt : IF . LPAREN expr RPAREN stmt (173) LPAREN shift 554 . error state 520 while_stmt : WHILE . LPAREN expr RPAREN stmt (174) LPAREN shift 555 . error state 521 do_while_stmt : DO . stmt WHILE LPAREN expr RPAREN SEMICOLON (175) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 556 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 522 for_stmt : FOR . LPAREN stmt expr SEMICOLON expr RPAREN stmt (176) LPAREN shift 557 . error state 523 stmt : RETURN . expr SEMICOLON (161) stmt : RETURN . SEMICOLON (162) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 558 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 559 fun_name goto 218 alloc goto 219 term goto 220 state 524 stmt : LET . NAME ASSIGN expr SEMICOLON (160) NAME shift 560 . error state 525 stmt : IMPORT . import_expr FROM module_path rename SEMICOLON (163) FUN shift 86 CONCEPT shift 87 MODEL shift 88 TYPE shift 89 . error import_expr goto 561 signature goto 91 state 526 stmt : TYPE . NAME ASSIGN typ SEMICOLON (170) NAME shift 562 . error state 527 switch_stmt : SWITCH . LPAREN expr RPAREN LBRACE case_list RBRACE (180) LPAREN shift 563 . error state 528 stmt : expr . SEMICOLON (158) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 564 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 529 stmt : compound_stmt . (168) . reduce 168 state 530 stmt_list : stmt . stmt_list (179) stmt_list : . (178) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 RBRACE reduce 178 CASE reduce 178 DEFAULT reduce 178 expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 530 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 stmt_list goto 565 term goto 220 state 531 stmt : if_stmt . (164) . reduce 164 state 532 stmt : while_stmt . (165) . reduce 165 state 533 stmt : do_while_stmt . (166) . reduce 166 state 534 stmt : for_stmt . (167) . reduce 167 state 535 stmt : switch_stmt . (169) . reduce 169 state 536 compound_stmt : LBRACE stmt_list . RBRACE (177) RBRACE shift 566 . error state 537 signature : FUN fun_name type_params where_clause LPAREN param_list RPAREN ARROW typ . (41) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 STAR shift 123 FROM reduce 41 state 538 concept_mem : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ SEMICOLON (125) concept_mem : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (126) LPAREN shift 567 . error state 539 concept_mem : REFINES NAME LT typ_list . GT SEMICOLON (129) GT shift 568 . error state 540 concept_mem : REQUIRE NAME LT typ_list . GT SEMICOLON (130) GT shift 569 . error state 541 concept_mem : typ EQ typ SEMICOLON . (128) . reduce 128 state 542 member_init_list : COLON . mem_init_list (286) NAME shift 570 . error mem_init_list goto 571 mem_init goto 572 state 543 class_mem : NAME LPAREN param_list RPAREN member_init_list . compound_stmt (117) LBRACE shift 491 . error compound_stmt goto 573 state 544 class_mem : TILDE NAME LPAREN RPAREN compound_stmt . (119) . reduce 119 state 545 fun_def : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (71) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 574 param goto 294 tyname goto 46 state 546 class_mem : type_params where_clause NAME LPAREN param_list . RPAREN member_init_list compound_stmt (118) RPAREN shift 575 . error state 547 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE . model_mem_list RBRACE SEMICOLON (19) model_mem_list : . (131) FUN shift 576 TYPE shift 577 RBRACE reduce 131 model_mem_list goto 578 model_mem goto 579 state 548 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK . model_mem_list RBRACK SEMICOLON (18) model_mem_list : . (131) FUN shift 576 TYPE shift 577 RBRACK reduce 131 model_mem_list goto 580 model_mem goto 579 state 549 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open SEMICOLON . (17) . reduce 17 state 550 sig_decl : EXTERN STRING FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON . (74) . reduce 74 551: shift/reduce conflict (shift 275, reduce 233) on OUTPUT 551: shift/reduce conflict (shift 276, reduce 233) on INPUT state 551 expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : FUN type_params LPAREN param_list RPAREN init_list COLON expr . (233) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 RPAREN reduce 233 LBRACE reduce 233 RBRACE reduce 233 RBRACK reduce 233 COLON reduce 233 SEMICOLON reduce 233 COMMA reduce 233 state 552 term : NEW LPAREN expr RPAREN typ LPAREN expr_list RPAREN . (265) . reduce 265 state 553 stmt : UNPACK LT . name_list GT expr compound_stmt (159) name_list : . (138) NAME shift 179 GT reduce 138 name_list goto 581 state 554 if_stmt : IF LPAREN . expr RPAREN stmt ELSE stmt (172) if_stmt : IF LPAREN . expr RPAREN stmt (173) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 582 fun_name goto 218 alloc goto 219 term goto 220 state 555 while_stmt : WHILE LPAREN . expr RPAREN stmt (174) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 583 fun_name goto 218 alloc goto 219 term goto 220 state 556 do_while_stmt : DO stmt . WHILE LPAREN expr RPAREN SEMICOLON (175) WHILE shift 584 . error state 557 for_stmt : FOR LPAREN . stmt expr SEMICOLON expr RPAREN stmt (176) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 585 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 558 stmt : RETURN SEMICOLON . (162) . reduce 162 state 559 stmt : RETURN expr . SEMICOLON (161) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 586 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 560 stmt : LET NAME . ASSIGN expr SEMICOLON (160) ASSIGN shift 587 . error state 561 stmt : IMPORT import_expr . FROM module_path rename SEMICOLON (163) FROM shift 588 . error state 562 stmt : TYPE NAME . ASSIGN typ SEMICOLON (170) ASSIGN shift 589 . error state 563 switch_stmt : SWITCH LPAREN . expr RPAREN LBRACE case_list RBRACE (180) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 590 fun_name goto 218 alloc goto 219 term goto 220 state 564 stmt : expr SEMICOLON . (158) . reduce 158 state 565 stmt_list : stmt stmt_list . (179) . reduce 179 state 566 compound_stmt : LBRACE stmt_list RBRACE . (177) . reduce 177 state 567 concept_mem : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ SEMICOLON (125) concept_mem : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (126) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 591 param goto 294 tyname goto 46 state 568 concept_mem : REFINES NAME LT typ_list GT . SEMICOLON (129) SEMICOLON shift 592 . error state 569 concept_mem : REQUIRE NAME LT typ_list GT . SEMICOLON (130) SEMICOLON shift 593 . error state 570 mem_init : NAME . LPAREN expr_list RPAREN (289) LPAREN shift 594 . error state 571 member_init_list : COLON mem_init_list . (286) . reduce 286 state 572 mem_init_list : mem_init . (287) mem_init_list : mem_init . COMMA mem_init_list (288) COMMA shift 595 LBRACE reduce 287 state 573 class_mem : NAME LPAREN param_list RPAREN member_init_list compound_stmt . (117) . reduce 117 state 574 fun_def : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (71) RPAREN shift 596 . error state 575 class_mem : type_params where_clause NAME LPAREN param_list RPAREN . member_init_list compound_stmt (118) member_init_list : . (285) COLON shift 542 LBRACE reduce 285 member_init_list goto 597 state 576 model_mem : FUN . fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (133) model_mem : FUN . fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (134) NAME shift 47 OPERATOR shift 48 . error fun_name goto 598 state 577 model_mem : TYPE . NAME ASSIGN typ SEMICOLON (135) NAME shift 599 . error state 578 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list . RBRACE SEMICOLON (19) RBRACE shift 600 . error state 579 model_mem_list : model_mem . model_mem_list (132) model_mem_list : . (131) FUN shift 576 TYPE shift 577 RBRACE reduce 131 RBRACK reduce 131 model_mem_list goto 601 model_mem goto 579 state 580 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list . RBRACK SEMICOLON (18) RBRACK shift 602 . error state 581 stmt : UNPACK LT name_list . GT expr compound_stmt (159) GT shift 603 . error state 582 if_stmt : IF LPAREN expr . RPAREN stmt ELSE stmt (172) if_stmt : IF LPAREN expr . RPAREN stmt (173) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 604 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 583 while_stmt : WHILE LPAREN expr . RPAREN stmt (174) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 605 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 584 do_while_stmt : DO stmt WHILE . LPAREN expr RPAREN SEMICOLON (175) LPAREN shift 606 . error state 585 for_stmt : FOR LPAREN stmt . expr SEMICOLON expr RPAREN stmt (176) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 607 fun_name goto 218 alloc goto 219 term goto 220 state 586 stmt : RETURN expr SEMICOLON . (161) . reduce 161 state 587 stmt : LET NAME ASSIGN . expr SEMICOLON (160) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 608 fun_name goto 218 alloc goto 219 term goto 220 state 588 stmt : IMPORT import_expr FROM . module_path rename SEMICOLON (163) NAME shift 228 . error module_path goto 609 module_ref goto 230 state 589 stmt : TYPE NAME ASSIGN . typ SEMICOLON (170) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 610 tyname goto 46 state 590 switch_stmt : SWITCH LPAREN expr . RPAREN LBRACE case_list RBRACE (180) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 611 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 591 concept_mem : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ SEMICOLON (125) concept_mem : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (126) RPAREN shift 612 . error state 592 concept_mem : REFINES NAME LT typ_list GT SEMICOLON . (129) . reduce 129 state 593 concept_mem : REQUIRE NAME LT typ_list GT SEMICOLON . (130) . reduce 130 state 594 mem_init : NAME LPAREN . expr_list RPAREN (289) expr_list : . (274) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 RPAREN reduce 274 expr goto 331 fun_name goto 218 alloc goto 219 term goto 332 expr_list goto 613 state 595 mem_init_list : mem_init COMMA . mem_init_list (288) NAME shift 570 . error mem_init_list goto 614 mem_init goto 572 state 596 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (71) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 ret_typ goto 615 state 597 class_mem : type_params where_clause NAME LPAREN param_list RPAREN member_init_list . compound_stmt (118) LBRACE shift 491 . error compound_stmt goto 616 state 598 model_mem : FUN fun_name . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (133) model_mem : FUN fun_name . STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (134) type_params : . (2) STAR shift 617 LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 618 state 599 model_mem : TYPE NAME . ASSIGN typ SEMICOLON (135) ASSIGN shift 619 . error state 600 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE . SEMICOLON (19) SEMICOLON shift 620 . error state 601 model_mem_list : model_mem model_mem_list . (132) . reduce 132 state 602 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK . SEMICOLON (18) SEMICOLON shift 621 . error state 603 stmt : UNPACK LT name_list GT . expr compound_stmt (159) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 622 fun_name goto 218 alloc goto 219 term goto 220 state 604 if_stmt : IF LPAREN expr RPAREN . stmt ELSE stmt (172) if_stmt : IF LPAREN expr RPAREN . stmt (173) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 623 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 605 while_stmt : WHILE LPAREN expr RPAREN . stmt (174) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 624 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 606 do_while_stmt : DO stmt WHILE LPAREN . expr RPAREN SEMICOLON (175) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 625 fun_name goto 218 alloc goto 219 term goto 220 state 607 for_stmt : FOR LPAREN stmt expr . SEMICOLON expr RPAREN stmt (176) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 626 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 608 stmt : LET NAME ASSIGN expr . SEMICOLON (160) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACK shift 267 DOT shift 268 SEMICOLON shift 627 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 609 stmt : IMPORT import_expr FROM module_path . rename SEMICOLON (163) rename : . (29) AS shift 300 SEMICOLON reduce 29 rename goto 628 state 610 stmt : TYPE NAME ASSIGN typ . SEMICOLON (170) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 SEMICOLON shift 629 STAR shift 123 . error state 611 switch_stmt : SWITCH LPAREN expr RPAREN . LBRACE case_list RBRACE (180) LBRACE shift 630 . error state 612 concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ SEMICOLON (125) concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (126) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 SEMICOLON reduce 69 ret_typ goto 631 state 613 mem_init : NAME LPAREN expr_list . RPAREN (289) RPAREN shift 632 . error state 614 mem_init_list : mem_init COMMA mem_init_list . (288) . reduce 288 state 615 fun_def : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (71) LBRACE shift 491 . error compound_stmt goto 493 state 616 class_mem : type_params where_clause NAME LPAREN param_list RPAREN member_init_list compound_stmt . (118) . reduce 118 state 617 model_mem : FUN fun_name STAR . type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt (134) type_params : . (2) LT shift 117 LPAREN reduce 2 WHERE reduce 2 type_params goto 633 state 618 model_mem : FUN fun_name type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (133) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 634 state 619 model_mem : TYPE NAME ASSIGN . typ SEMICOLON (135) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 . error typ goto 635 tyname goto 46 state 620 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACE model_mem_list RBRACE SEMICOLON . (19) . reduce 19 state 621 decl : model_label MODEL type_params where_clause NAME LT typ_list GT model_open LBRACK model_mem_list RBRACK SEMICOLON . (18) . reduce 18 state 622 stmt : UNPACK LT name_list GT expr . compound_stmt (159) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 LBRACE shift 491 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error compound_stmt goto 636 623: shift/reduce conflict (shift 637, reduce 173) on ELSE state 623 if_stmt : IF LPAREN expr RPAREN stmt . ELSE stmt (172) if_stmt : IF LPAREN expr RPAREN stmt . (173) ELSE shift 637 INT reduce 173 FLOAT reduce 173 DOUBLE reduce 173 NAME reduce 173 STRING reduce 173 CHAR reduce 173 NULLPTR reduce 173 OPERATOR reduce 173 LPAREN reduce 173 LBRACE reduce 173 RBRACE reduce 173 TRUE reduce 173 FALSE reduce 173 THIS reduce 173 UNPACK reduce 173 FUN reduce 173 PRIMITIVE reduce 173 SEMICOLON reduce 173 STAR reduce 173 SUB reduce 173 INC reduce 173 DEC reduce 173 NOT reduce 173 CAST reduce 173 AT reduce 173 IF reduce 173 WHILE reduce 173 DO reduce 173 FOR reduce 173 RETURN reduce 173 AMP reduce 173 NEW reduce 173 DELETE reduce 173 DESTROY reduce 173 LET reduce 173 IMPORT reduce 173 SIZEOF reduce 173 MODEL reduce 173 TYPE reduce 173 SWITCH reduce 173 CASE reduce 173 DEFAULT reduce 173 state 624 while_stmt : WHILE LPAREN expr RPAREN stmt . (174) . reduce 174 state 625 do_while_stmt : DO stmt WHILE LPAREN expr . RPAREN SEMICOLON (175) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 638 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 626 for_stmt : FOR LPAREN stmt expr SEMICOLON . expr RPAREN stmt (176) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 TRUE shift 200 FALSE shift 201 THIS shift 202 FUN shift 203 PRIMITIVE shift 204 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 SIZEOF shift 215 MODEL shift 216 . error expr goto 639 fun_name goto 218 alloc goto 219 term goto 220 state 627 stmt : LET NAME ASSIGN expr SEMICOLON . (160) . reduce 160 state 628 stmt : IMPORT import_expr FROM module_path rename . SEMICOLON (163) SEMICOLON shift 640 . error state 629 stmt : TYPE NAME ASSIGN typ SEMICOLON . (170) . reduce 170 state 630 switch_stmt : SWITCH LPAREN expr RPAREN LBRACE . case_list RBRACE (180) case_list : . (183) CASE shift 641 DEFAULT shift 642 RBRACE reduce 183 case_list goto 643 case goto 644 state 631 concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . SEMICOLON (125) concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (126) LBRACE shift 491 SEMICOLON shift 645 . error compound_stmt goto 646 state 632 mem_init : NAME LPAREN expr_list RPAREN . (289) . reduce 289 state 633 model_mem : FUN fun_name STAR type_params . where_clause LPAREN param_list RPAREN ret_typ compound_stmt (134) where_clause : . (109) WHERE shift 184 LPAREN reduce 109 where_clause goto 647 state 634 model_mem : FUN fun_name type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (133) LPAREN shift 648 . error state 635 model_mem : TYPE NAME ASSIGN typ . SEMICOLON (135) typ : typ . STAR (213) typ : typ . CONST STAR (214) CONST shift 181 SEMICOLON shift 649 STAR shift 123 . error state 636 stmt : UNPACK LT name_list GT expr compound_stmt . (159) . reduce 159 state 637 if_stmt : IF LPAREN expr RPAREN stmt ELSE . stmt (172) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 650 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 638 do_while_stmt : DO stmt WHILE LPAREN expr RPAREN . SEMICOLON (175) SEMICOLON shift 651 . error state 639 for_stmt : FOR LPAREN stmt expr SEMICOLON expr . RPAREN stmt (176) expr : expr . COMMA expr (219) term : expr . QMARK expr COLON expr (231) term : expr . LPAREN expr_list RPAREN (234) term : expr . LT BAR typ_list BAR GT (235) term : expr . ASSIGN expr (240) term : expr . ARROW NAME (241) term : expr . DOT NAME (242) term : expr . LBRACK expr RBRACK (246) term : expr . PLUS expr (250) term : expr . SUB expr (251) term : expr . STAR expr (252) term : expr . DIV expr (253) term : expr . EQ expr (254) term : expr . NEQ expr (255) term : expr . LT expr (256) term : expr . GT expr (257) term : expr . LEQ expr (258) term : expr . GEQ expr (259) term : expr . OR expr (260) term : expr . AND expr (261) term : expr . PERCENT expr (262) term : expr . OUTPUT expr (272) term : expr . INPUT expr (273) ASSIGN shift 265 LPAREN shift 266 RPAREN shift 652 LBRACK shift 267 DOT shift 268 COMMA shift 270 STAR shift 271 ARROW shift 272 LT shift 273 GT shift 274 OUTPUT shift 275 INPUT shift 276 PLUS shift 277 SUB shift 278 DIV shift 279 LEQ shift 280 GEQ shift 281 EQ shift 282 NEQ shift 283 OR shift 284 AND shift 285 PERCENT shift 286 QMARK shift 287 . error state 640 stmt : IMPORT import_expr FROM module_path rename SEMICOLON . (163) . reduce 163 state 641 case : CASE . NAME COLON stmt_list (181) NAME shift 653 . error state 642 case : DEFAULT . COLON stmt_list (182) COLON shift 654 . error state 643 switch_stmt : SWITCH LPAREN expr RPAREN LBRACE case_list . RBRACE (180) RBRACE shift 655 . error state 644 case_list : case . case_list (184) case_list : . (183) CASE shift 641 DEFAULT shift 642 RBRACE reduce 183 case_list goto 656 case goto 644 state 645 concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ SEMICOLON . (125) . reduce 125 state 646 concept_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt . (126) . reduce 126 state 647 model_mem : FUN fun_name STAR type_params where_clause . LPAREN param_list RPAREN ret_typ compound_stmt (134) LPAREN shift 657 . error state 648 model_mem : FUN fun_name type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (133) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 658 param goto 294 tyname goto 46 state 649 model_mem : TYPE NAME ASSIGN typ SEMICOLON . (135) . reduce 135 state 650 if_stmt : IF LPAREN expr RPAREN stmt ELSE stmt . (172) . reduce 172 state 651 do_while_stmt : DO stmt WHILE LPAREN expr RPAREN SEMICOLON . (175) . reduce 175 state 652 for_stmt : FOR LPAREN stmt expr SEMICOLON expr RPAREN . stmt (176) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 . error expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 659 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 term goto 220 state 653 case : CASE NAME . COLON stmt_list (181) COLON shift 660 . error state 654 case : DEFAULT COLON . stmt_list (182) stmt_list : . (178) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 RBRACE reduce 178 CASE reduce 178 DEFAULT reduce 178 expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 530 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 stmt_list goto 661 term goto 220 state 655 switch_stmt : SWITCH LPAREN expr RPAREN LBRACE case_list RBRACE . (180) . reduce 180 state 656 case_list : case case_list . (184) . reduce 184 state 657 model_mem : FUN fun_name STAR type_params where_clause LPAREN . param_list RPAREN ret_typ compound_stmt (134) param_list : . (141) NAME shift 26 INTTY shift 28 SHORTTY shift 29 LONGTY shift 30 FLOATTY shift 31 DOUBLETY shift 32 CHARTY shift 33 WCHARTY shift 34 BOOLTY shift 35 VOIDTY shift 36 STRINGTY shift 37 ELIPSES shift 291 UNSIGNED shift 38 SIGNED shift 39 EXISTS shift 40 LPAREN shift 41 FUN shift 42 STRUCT shift 43 UNION shift 44 RPAREN reduce 141 typ goto 292 param_list goto 662 param goto 294 tyname goto 46 state 658 model_mem : FUN fun_name type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (133) RPAREN shift 663 . error state 659 for_stmt : FOR LPAREN stmt expr SEMICOLON expr RPAREN stmt . (176) . reduce 176 state 660 case : CASE NAME COLON . stmt_list (181) stmt_list : . (178) INT shift 193 FLOAT shift 194 DOUBLE shift 195 NAME shift 47 STRING shift 196 CHAR shift 197 NULLPTR shift 198 OPERATOR shift 48 LPAREN shift 199 LBRACE shift 491 TRUE shift 200 FALSE shift 201 THIS shift 202 UNPACK shift 517 FUN shift 203 PRIMITIVE shift 204 SEMICOLON shift 518 STAR shift 205 SUB shift 206 INC shift 207 DEC shift 208 NOT shift 209 CAST shift 210 AT shift 72 IF shift 519 WHILE shift 520 DO shift 521 FOR shift 522 RETURN shift 523 AMP shift 211 NEW shift 212 DELETE shift 213 DESTROY shift 214 LET shift 524 IMPORT shift 525 SIZEOF shift 215 MODEL shift 216 TYPE shift 526 SWITCH shift 527 RBRACE reduce 178 CASE reduce 178 DEFAULT reduce 178 expr goto 528 fun_name goto 218 compound_stmt goto 529 alloc goto 219 stmt goto 530 if_stmt goto 531 while_stmt goto 532 do_while_stmt goto 533 for_stmt goto 534 switch_stmt goto 535 stmt_list goto 664 term goto 220 state 661 case : DEFAULT COLON stmt_list . (182) . reduce 182 state 662 model_mem : FUN fun_name STAR type_params where_clause LPAREN param_list . RPAREN ret_typ compound_stmt (134) RPAREN shift 665 . error state 663 model_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (133) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 ret_typ goto 666 state 664 case : CASE NAME COLON stmt_list . (181) . reduce 181 state 665 model_mem : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN . ret_typ compound_stmt (134) ret_typ : . (69) ARROW shift 411 LBRACE reduce 69 ret_typ goto 667 state 666 model_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (133) LBRACE shift 491 . error compound_stmt goto 668 state 667 model_mem : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ . compound_stmt (134) LBRACE shift 491 . error compound_stmt goto 669 state 668 model_mem : FUN fun_name type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt . (133) . reduce 133 state 669 model_mem : FUN fun_name STAR type_params where_clause LPAREN param_list RPAREN ret_typ compound_stmt . (134) . reduce 134 Rules never reduced: type_args : (4) type_args : LT typ_list GT (5) State 81 contains 1 shift/reduce conflict. State 121 contains 1 shift/reduce conflict. State 126 contains 1 shift/reduce conflict. State 252 contains 2 shift/reduce conflicts. State 253 contains 2 shift/reduce conflicts. State 254 contains 2 shift/reduce conflicts. State 255 contains 2 shift/reduce conflicts. State 256 contains 2 shift/reduce conflicts. State 258 contains 2 shift/reduce conflicts. State 260 contains 2 shift/reduce conflicts. State 261 contains 22 shift/reduce conflicts. State 309 contains 1 shift/reduce conflict. State 330 contains 2 shift/reduce conflicts. State 332 contains 1 shift/reduce conflict. State 336 contains 2 shift/reduce conflicts. State 337 contains 2 shift/reduce conflicts. State 340 contains 2 shift/reduce conflicts. State 341 contains 2 shift/reduce conflicts. State 342 contains 22 shift/reduce conflicts. State 343 contains 22 shift/reduce conflicts. State 344 contains 2 shift/reduce conflicts. State 345 contains 2 shift/reduce conflicts. State 346 contains 2 shift/reduce conflicts. State 347 contains 2 shift/reduce conflicts. State 348 contains 2 shift/reduce conflicts. State 349 contains 2 shift/reduce conflicts. State 350 contains 2 shift/reduce conflicts. State 351 contains 2 shift/reduce conflicts. State 352 contains 2 shift/reduce conflicts. State 353 contains 2 shift/reduce conflicts. State 382 contains 1 shift/reduce conflict. State 451 contains 2 shift/reduce conflicts. State 458 contains 4 shift/reduce conflicts. State 551 contains 2 shift/reduce conflicts. State 623 contains 1 shift/reduce conflict. 120 terminals, 58 nonterminals 291 grammar rules, 670 states