diff --git a/doc/fixes36.1 b/doc/fixes36.1 new file mode 100644 index 000000000..7f8f1f82a --- /dev/null +++ b/doc/fixes36.1 @@ -0,0 +1,25 @@ +$NHDT-Branch$:$NHDT-Revision$ $NHDT-Date$ + +General Fixes and Modified Features +----------------------------------- + + +Platform- and/or Interface-Specific Fixes +----------------------------------------- + + +General New Features +-------------------- + + +Platform- and/or Interface-Specific New Features +------------------------------------------------ + + +NetHack Community Patches (or Variation) Included +------------------------------------------------- + + +Code Cleanup and Reorganization +------------------------------- + diff --git a/sys/share/lev_lex.c b/sys/share/lev_lex.c index 4b2b27df7..6848c3662 100644 --- a/sys/share/lev_lex.c +++ b/sys/share/lev_lex.c @@ -1100,7 +1100,7 @@ int yy_flex_debug = 0; char *yytext; #line 1 "lev_comp.l" #line 2 "lev_comp.l" -/* NetHack 3.6 lev_comp.l $NHDT-Date: 1432512785 2015/05/25 00:13:05 $ $NHDT-Branch: master $:$NHDT-Revision: 1.19 $ */ +/* NetHack 3.6 lev_comp.l $NHDT-Date: 1448710678 2015/11/28 11:37:58 $ $NHDT-Branch: master $:$NHDT-Revision: 1.21 $ */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -1154,7 +1154,11 @@ void FDECL(yyoutput, (int)); int FDECL(yyunput, (int)); int FDECL(yyoutput, (int)); # endif -#endif /* !FLEX_SCANNER && !FLEXHACK_SCANNER */ + +#else /* !FLEX_SCANNER && !FLEXHACK_SCANNER */ +/* most recent flex allows suppressing yyunput() altogether when not needed */ +#define YY_NO_UNPUT +#endif #ifdef FLEX_SCANNER #define YY_MALLOC_DECL \ @@ -1197,7 +1201,7 @@ FILE *orig_yyin = NULL; #define ST_RETF(y, x) do { savetoken(yytext); y; return x; } while (0); -#line 1201 "lex.yy.c" +#line 1205 "lex.yy.c" #define INITIAL 0 #define MAPC 1 @@ -1415,9 +1419,9 @@ YY_DECL } { -#line 103 "lev_comp.l" +#line 107 "lev_comp.l" -#line 1421 "lex.yy.c" +#line 1425 "lex.yy.c" while ( 1 ) /* loops until end-of-file is reached */ { @@ -1477,7 +1481,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 104 "lev_comp.l" +#line 108 "lev_comp.l" { savetoken(yytext); BEGIN(INITIAL); @@ -1491,12 +1495,13 @@ YY_RULE_SETUP case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 113 "lev_comp.l" +#line 117 "lev_comp.l" { int len = yyleng; savetoken(yytext); /* convert \r\n to \n */ - if (len >= 2 && yytext[len - 2] == '\r') len -= 1; + if (len >= 2 && yytext[len - 2] == '\r') + len -= 1; (void) strncpy(map + map_cnt, yytext, len); map_cnt += len; map[map_cnt - 1] = '\n'; @@ -1507,902 +1512,903 @@ YY_RULE_SETUP case 3: /* rule 3 can match eol */ YY_RULE_SETUP -#line 124 "lev_comp.l" +#line 129 "lev_comp.l" { savetoken(yytext); newline(); } YY_BREAK case 4: YY_RULE_SETUP -#line 125 "lev_comp.l" +#line 130 "lev_comp.l" ST_RET(MESSAGE_ID); YY_BREAK case 5: YY_RULE_SETUP -#line 126 "lev_comp.l" +#line 131 "lev_comp.l" ST_RET(NOMAP_ID); YY_BREAK case 6: YY_RULE_SETUP -#line 127 "lev_comp.l" +#line 132 "lev_comp.l" ST_RET(MAZE_ID); YY_BREAK case 7: YY_RULE_SETUP -#line 128 "lev_comp.l" +#line 133 "lev_comp.l" ST_RET(LEVEL_ID); YY_BREAK case 8: YY_RULE_SETUP -#line 129 "lev_comp.l" +#line 134 "lev_comp.l" ST_RET(LEV_INIT_ID); YY_BREAK case 9: YY_RULE_SETUP -#line 130 "lev_comp.l" +#line 135 "lev_comp.l" ST_RET(MAZE_GRID_ID); YY_BREAK case 10: YY_RULE_SETUP -#line 131 "lev_comp.l" +#line 136 "lev_comp.l" ST_RET(SOLID_FILL_ID); YY_BREAK case 11: YY_RULE_SETUP -#line 132 "lev_comp.l" +#line 137 "lev_comp.l" ST_RET(MINES_ID); YY_BREAK case 12: YY_RULE_SETUP -#line 133 "lev_comp.l" +#line 138 "lev_comp.l" ST_RET(ROGUELEV_ID); YY_BREAK case 13: YY_RULE_SETUP -#line 134 "lev_comp.l" +#line 139 "lev_comp.l" ST_RET(FLAGS_ID); YY_BREAK case 14: YY_RULE_SETUP -#line 135 "lev_comp.l" +#line 140 "lev_comp.l" ST_RET(GEOMETRY_ID); YY_BREAK case 15: /* rule 15 can match eol */ YY_RULE_SETUP -#line 136 "lev_comp.l" +#line 141 "lev_comp.l" { savetoken(yytext); BEGIN(MAPC); newline(); } YY_BREAK case 16: YY_RULE_SETUP -#line 137 "lev_comp.l" +#line 142 "lev_comp.l" ST_RET(object_ID); YY_BREAK case 17: YY_RULE_SETUP -#line 138 "lev_comp.l" +#line 143 "lev_comp.l" ST_RET(OBJECT_ID); YY_BREAK case 18: YY_RULE_SETUP -#line 139 "lev_comp.l" +#line 144 "lev_comp.l" ST_RET(COBJECT_ID); YY_BREAK case 19: YY_RULE_SETUP -#line 140 "lev_comp.l" +#line 145 "lev_comp.l" ST_RET(MONSTER_ID); YY_BREAK case 20: YY_RULE_SETUP -#line 141 "lev_comp.l" +#line 146 "lev_comp.l" ST_RET(monster_ID); YY_BREAK case 21: YY_RULE_SETUP -#line 142 "lev_comp.l" +#line 147 "lev_comp.l" ST_RET(TRAP_ID); YY_BREAK case 22: YY_RULE_SETUP -#line 143 "lev_comp.l" +#line 148 "lev_comp.l" ST_RET(DOOR_ID); YY_BREAK case 23: YY_RULE_SETUP -#line 144 "lev_comp.l" +#line 149 "lev_comp.l" ST_RET(ROOMDOOR_ID); YY_BREAK case 24: YY_RULE_SETUP -#line 145 "lev_comp.l" +#line 150 "lev_comp.l" ST_RET(DRAWBRIDGE_ID); YY_BREAK case 25: YY_RULE_SETUP -#line 146 "lev_comp.l" +#line 151 "lev_comp.l" ST_RET(MAZEWALK_ID); YY_BREAK case 26: YY_RULE_SETUP -#line 147 "lev_comp.l" +#line 152 "lev_comp.l" ST_RET(WALLIFY_ID); YY_BREAK case 27: YY_RULE_SETUP -#line 148 "lev_comp.l" +#line 153 "lev_comp.l" ST_RET(REGION_ID); YY_BREAK case 28: YY_RULE_SETUP -#line 149 "lev_comp.l" +#line 154 "lev_comp.l" ST_RET(ALTAR_ID); YY_BREAK case 29: YY_RULE_SETUP -#line 150 "lev_comp.l" +#line 155 "lev_comp.l" ST_RET(LADDER_ID); YY_BREAK case 30: YY_RULE_SETUP -#line 151 "lev_comp.l" +#line 156 "lev_comp.l" ST_RET(STAIR_ID); YY_BREAK case 31: YY_RULE_SETUP -#line 152 "lev_comp.l" +#line 157 "lev_comp.l" ST_RET(PORTAL_ID); YY_BREAK case 32: YY_RULE_SETUP -#line 153 "lev_comp.l" +#line 158 "lev_comp.l" ST_RET(TELEPRT_ID); YY_BREAK case 33: YY_RULE_SETUP -#line 154 "lev_comp.l" +#line 159 "lev_comp.l" ST_RET(BRANCH_ID); YY_BREAK case 34: YY_RULE_SETUP -#line 155 "lev_comp.l" +#line 160 "lev_comp.l" ST_RET(FOUNTAIN_ID); YY_BREAK case 35: YY_RULE_SETUP -#line 156 "lev_comp.l" +#line 161 "lev_comp.l" ST_RET(SINK_ID); YY_BREAK case 36: YY_RULE_SETUP -#line 157 "lev_comp.l" +#line 162 "lev_comp.l" ST_RET(POOL_ID); YY_BREAK case 37: YY_RULE_SETUP -#line 158 "lev_comp.l" +#line 163 "lev_comp.l" ST_RET(NON_DIGGABLE_ID); YY_BREAK case 38: YY_RULE_SETUP -#line 159 "lev_comp.l" +#line 164 "lev_comp.l" ST_RET(NON_PASSWALL_ID); YY_BREAK case 39: YY_RULE_SETUP -#line 160 "lev_comp.l" +#line 165 "lev_comp.l" ST_RET(IF_ID); YY_BREAK case 40: YY_RULE_SETUP -#line 161 "lev_comp.l" +#line 166 "lev_comp.l" ST_RET(ELSE_ID); YY_BREAK case 41: YY_RULE_SETUP -#line 162 "lev_comp.l" +#line 167 "lev_comp.l" ST_RET(EXIT_ID); YY_BREAK case 42: YY_RULE_SETUP -#line 163 "lev_comp.l" +#line 168 "lev_comp.l" ST_RET(ROOM_ID); YY_BREAK case 43: YY_RULE_SETUP -#line 164 "lev_comp.l" +#line 169 "lev_comp.l" ST_RET(SUBROOM_ID); YY_BREAK case 44: YY_RULE_SETUP -#line 165 "lev_comp.l" +#line 170 "lev_comp.l" ST_RET(RAND_CORRIDOR_ID); YY_BREAK case 45: YY_RULE_SETUP -#line 166 "lev_comp.l" +#line 171 "lev_comp.l" ST_RET(CORRIDOR_ID); YY_BREAK case 46: YY_RULE_SETUP -#line 167 "lev_comp.l" +#line 172 "lev_comp.l" ST_RET(TERRAIN_ID); YY_BREAK case 47: YY_RULE_SETUP -#line 168 "lev_comp.l" +#line 173 "lev_comp.l" ST_RET(terrain_ID); YY_BREAK case 48: YY_RULE_SETUP -#line 169 "lev_comp.l" +#line 174 "lev_comp.l" ST_RET(REPLACE_TERRAIN_ID); YY_BREAK case 49: YY_RULE_SETUP -#line 170 "lev_comp.l" +#line 175 "lev_comp.l" ST_RET(GOLD_ID); YY_BREAK case 50: YY_RULE_SETUP -#line 171 "lev_comp.l" +#line 176 "lev_comp.l" ST_RET(GRAVE_ID); YY_BREAK case 51: YY_RULE_SETUP -#line 172 "lev_comp.l" +#line 177 "lev_comp.l" ST_RET(ENGRAVING_ID); YY_BREAK case 52: YY_RULE_SETUP -#line 173 "lev_comp.l" +#line 178 "lev_comp.l" ST_RET(MINERALIZE_ID); YY_BREAK case 53: YY_RULE_SETUP -#line 174 "lev_comp.l" +#line 179 "lev_comp.l" ST_RET(NAME_ID); YY_BREAK case 54: YY_RULE_SETUP -#line 175 "lev_comp.l" +#line 180 "lev_comp.l" ST_RET(FOR_ID); YY_BREAK case 55: YY_RULE_SETUP -#line 176 "lev_comp.l" +#line 181 "lev_comp.l" ST_RET(TO_ID); YY_BREAK case 56: YY_RULE_SETUP -#line 177 "lev_comp.l" +#line 182 "lev_comp.l" ST_RET(LOOP_ID); YY_BREAK case 57: YY_RULE_SETUP -#line 178 "lev_comp.l" +#line 183 "lev_comp.l" ST_RET(SWITCH_ID); YY_BREAK case 58: YY_RULE_SETUP -#line 179 "lev_comp.l" +#line 184 "lev_comp.l" ST_RET(CASE_ID); YY_BREAK case 59: YY_RULE_SETUP -#line 180 "lev_comp.l" +#line 185 "lev_comp.l" ST_RET(BREAK_ID); YY_BREAK case 60: YY_RULE_SETUP -#line 181 "lev_comp.l" +#line 186 "lev_comp.l" ST_RET(DEFAULT_ID); YY_BREAK case 61: YY_RULE_SETUP -#line 182 "lev_comp.l" +#line 187 "lev_comp.l" ST_RET(FUNCTION_ID); YY_BREAK case 62: YY_RULE_SETUP -#line 183 "lev_comp.l" +#line 188 "lev_comp.l" ST_RET(SHUFFLE_ID); YY_BREAK case 63: YY_RULE_SETUP -#line 184 "lev_comp.l" +#line 189 "lev_comp.l" ST_RET(MONTYPE_ID); YY_BREAK case 64: YY_RULE_SETUP -#line 185 "lev_comp.l" +#line 190 "lev_comp.l" ST_RET(selection_ID); YY_BREAK case 65: YY_RULE_SETUP -#line 186 "lev_comp.l" +#line 191 "lev_comp.l" ST_RET(rect_ID); YY_BREAK case 66: YY_RULE_SETUP -#line 187 "lev_comp.l" +#line 192 "lev_comp.l" ST_RET(fillrect_ID); YY_BREAK case 67: YY_RULE_SETUP -#line 188 "lev_comp.l" +#line 193 "lev_comp.l" ST_RET(line_ID); YY_BREAK case 68: YY_RULE_SETUP -#line 189 "lev_comp.l" +#line 194 "lev_comp.l" ST_RET(randline_ID); YY_BREAK case 69: YY_RULE_SETUP -#line 190 "lev_comp.l" +#line 195 "lev_comp.l" ST_RET(grow_ID); YY_BREAK case 70: YY_RULE_SETUP -#line 191 "lev_comp.l" +#line 196 "lev_comp.l" ST_RET(flood_ID); YY_BREAK case 71: YY_RULE_SETUP -#line 192 "lev_comp.l" +#line 197 "lev_comp.l" ST_RET(rndcoord_ID); YY_BREAK case 72: YY_RULE_SETUP -#line 193 "lev_comp.l" +#line 198 "lev_comp.l" ST_RET(circle_ID); YY_BREAK case 73: YY_RULE_SETUP -#line 194 "lev_comp.l" +#line 199 "lev_comp.l" ST_RET(ellipse_ID); YY_BREAK case 74: YY_RULE_SETUP -#line 195 "lev_comp.l" +#line 200 "lev_comp.l" ST_RET(filter_ID); YY_BREAK case 75: YY_RULE_SETUP -#line 196 "lev_comp.l" +#line 201 "lev_comp.l" ST_RET(gradient_ID); YY_BREAK case 76: YY_RULE_SETUP -#line 197 "lev_comp.l" +#line 202 "lev_comp.l" ST_RET(complement_ID); YY_BREAK case 77: YY_RULE_SETUP -#line 198 "lev_comp.l" +#line 203 "lev_comp.l" { savetoken(yytext); yylval.i=SEL_GRADIENT_RADIAL; return GRADIENT_TYPE; } YY_BREAK case 78: YY_RULE_SETUP -#line 199 "lev_comp.l" +#line 204 "lev_comp.l" { savetoken(yytext); yylval.i=SEL_GRADIENT_SQUARE; return GRADIENT_TYPE; } YY_BREAK case 79: YY_RULE_SETUP -#line 200 "lev_comp.l" +#line 205 "lev_comp.l" { savetoken(yytext); yylval.i=DRY; return HUMIDITY_TYPE; } YY_BREAK case 80: YY_RULE_SETUP -#line 201 "lev_comp.l" +#line 206 "lev_comp.l" { savetoken(yytext); yylval.i=WET; return HUMIDITY_TYPE; } YY_BREAK case 81: YY_RULE_SETUP -#line 202 "lev_comp.l" +#line 207 "lev_comp.l" { savetoken(yytext); yylval.i=HOT; return HUMIDITY_TYPE; } YY_BREAK case 82: YY_RULE_SETUP -#line 203 "lev_comp.l" +#line 208 "lev_comp.l" { savetoken(yytext); yylval.i=SOLID; return HUMIDITY_TYPE; } YY_BREAK case 83: YY_RULE_SETUP -#line 204 "lev_comp.l" +#line 209 "lev_comp.l" { savetoken(yytext); yylval.i=ANY_LOC; return HUMIDITY_TYPE; } YY_BREAK case 84: YY_RULE_SETUP -#line 205 "lev_comp.l" +#line 210 "lev_comp.l" ST_RET(LEV); YY_BREAK case 85: YY_RULE_SETUP -#line 206 "lev_comp.l" +#line 211 "lev_comp.l" ST_RET(QUANTITY_ID); YY_BREAK case 86: YY_RULE_SETUP -#line 207 "lev_comp.l" +#line 212 "lev_comp.l" ST_RET(BURIED_ID); YY_BREAK case 87: YY_RULE_SETUP -#line 208 "lev_comp.l" +#line 213 "lev_comp.l" ST_RET(ERODED_ID); YY_BREAK case 88: YY_RULE_SETUP -#line 209 "lev_comp.l" +#line 214 "lev_comp.l" ST_RET(ERODEPROOF_ID); YY_BREAK case 89: YY_RULE_SETUP -#line 210 "lev_comp.l" +#line 215 "lev_comp.l" { savetoken(yytext); yylval.i=1; return TRAPPED_STATE; } YY_BREAK case 90: YY_RULE_SETUP -#line 211 "lev_comp.l" +#line 216 "lev_comp.l" { savetoken(yytext); yylval.i=0; return TRAPPED_STATE; } YY_BREAK case 91: YY_RULE_SETUP -#line 212 "lev_comp.l" +#line 217 "lev_comp.l" ST_RET(RECHARGED_ID); YY_BREAK case 92: YY_RULE_SETUP -#line 213 "lev_comp.l" +#line 218 "lev_comp.l" ST_RET(INVIS_ID); YY_BREAK case 93: YY_RULE_SETUP -#line 214 "lev_comp.l" +#line 219 "lev_comp.l" ST_RET(GREASED_ID); YY_BREAK case 94: YY_RULE_SETUP -#line 215 "lev_comp.l" +#line 220 "lev_comp.l" ST_RET(FEMALE_ID); YY_BREAK case 95: YY_RULE_SETUP -#line 216 "lev_comp.l" +#line 221 "lev_comp.l" ST_RET(CANCELLED_ID); YY_BREAK case 96: YY_RULE_SETUP -#line 217 "lev_comp.l" +#line 222 "lev_comp.l" ST_RET(REVIVED_ID); YY_BREAK case 97: YY_RULE_SETUP -#line 218 "lev_comp.l" +#line 223 "lev_comp.l" ST_RET(AVENGE_ID); YY_BREAK case 98: YY_RULE_SETUP -#line 219 "lev_comp.l" +#line 224 "lev_comp.l" ST_RET(FLEEING_ID); YY_BREAK case 99: YY_RULE_SETUP -#line 220 "lev_comp.l" +#line 225 "lev_comp.l" ST_RET(BLINDED_ID); YY_BREAK case 100: YY_RULE_SETUP -#line 221 "lev_comp.l" +#line 226 "lev_comp.l" ST_RET(PARALYZED_ID); YY_BREAK case 101: YY_RULE_SETUP -#line 222 "lev_comp.l" +#line 227 "lev_comp.l" ST_RET(STUNNED_ID); YY_BREAK case 102: YY_RULE_SETUP -#line 223 "lev_comp.l" +#line 228 "lev_comp.l" ST_RET(CONFUSED_ID); YY_BREAK case 103: YY_RULE_SETUP -#line 224 "lev_comp.l" +#line 229 "lev_comp.l" ST_RET(SEENTRAPS_ID); YY_BREAK case 104: YY_RULE_SETUP -#line 225 "lev_comp.l" +#line 230 "lev_comp.l" ST_RET(ALL_ID); YY_BREAK case 105: YY_RULE_SETUP -#line 226 "lev_comp.l" +#line 231 "lev_comp.l" ST_RETF((yylval.i=1), HORIZ_OR_VERT); YY_BREAK case 106: YY_RULE_SETUP -#line 227 "lev_comp.l" +#line 232 "lev_comp.l" { savetoken(yytext); yylval.i=2; return HORIZ_OR_VERT; } YY_BREAK case 107: YY_RULE_SETUP -#line 228 "lev_comp.l" +#line 233 "lev_comp.l" { savetoken(yytext); yylval.i=D_ISOPEN; return DOOR_STATE; } YY_BREAK case 108: YY_RULE_SETUP -#line 229 "lev_comp.l" +#line 234 "lev_comp.l" { savetoken(yytext); yylval.i=D_CLOSED; return DOOR_STATE; } YY_BREAK case 109: YY_RULE_SETUP -#line 230 "lev_comp.l" +#line 235 "lev_comp.l" { savetoken(yytext); yylval.i=D_LOCKED; return DOOR_STATE; } YY_BREAK case 110: YY_RULE_SETUP -#line 231 "lev_comp.l" +#line 236 "lev_comp.l" { savetoken(yytext); yylval.i=D_NODOOR; return DOOR_STATE; } YY_BREAK case 111: YY_RULE_SETUP -#line 232 "lev_comp.l" +#line 237 "lev_comp.l" { savetoken(yytext); yylval.i=D_BROKEN; return DOOR_STATE; } YY_BREAK case 112: YY_RULE_SETUP -#line 233 "lev_comp.l" +#line 238 "lev_comp.l" { savetoken(yytext); yylval.i=D_SECRET; return DOOR_STATE; } YY_BREAK case 113: YY_RULE_SETUP -#line 234 "lev_comp.l" +#line 239 "lev_comp.l" { savetoken(yytext); yylval.i=W_NORTH; return DIRECTION; } YY_BREAK case 114: YY_RULE_SETUP -#line 235 "lev_comp.l" +#line 240 "lev_comp.l" { savetoken(yytext); yylval.i=W_EAST; return DIRECTION; } YY_BREAK case 115: YY_RULE_SETUP -#line 236 "lev_comp.l" +#line 241 "lev_comp.l" { savetoken(yytext); yylval.i=W_SOUTH; return DIRECTION; } YY_BREAK case 116: YY_RULE_SETUP -#line 237 "lev_comp.l" +#line 242 "lev_comp.l" { savetoken(yytext); yylval.i=W_WEST; return DIRECTION; } YY_BREAK case 117: YY_RULE_SETUP -#line 238 "lev_comp.l" +#line 243 "lev_comp.l" { savetoken(yytext); yylval.i = -1; return RANDOM_TYPE; } YY_BREAK case 118: YY_RULE_SETUP -#line 239 "lev_comp.l" +#line 244 "lev_comp.l" { savetoken(yytext); yylval.i = -1; return RANDOM_TYPE_BRACKET; } YY_BREAK case 119: YY_RULE_SETUP -#line 240 "lev_comp.l" +#line 245 "lev_comp.l" { savetoken(yytext); yylval.i = -2; return NONE; } YY_BREAK case 120: YY_RULE_SETUP -#line 241 "lev_comp.l" +#line 246 "lev_comp.l" ST_RET(A_REGISTER); YY_BREAK case 121: YY_RULE_SETUP -#line 242 "lev_comp.l" +#line 247 "lev_comp.l" { savetoken(yytext); yylval.i=1; return LEFT_OR_RIGHT; } YY_BREAK case 122: YY_RULE_SETUP -#line 243 "lev_comp.l" +#line 248 "lev_comp.l" { savetoken(yytext); yylval.i=2; return LEFT_OR_RIGHT; } YY_BREAK case 123: YY_RULE_SETUP -#line 244 "lev_comp.l" +#line 249 "lev_comp.l" { savetoken(yytext); yylval.i=3; return CENTER; } YY_BREAK case 124: YY_RULE_SETUP -#line 245 "lev_comp.l" +#line 250 "lev_comp.l" { savetoken(yytext); yylval.i=4; return LEFT_OR_RIGHT; } YY_BREAK case 125: YY_RULE_SETUP -#line 246 "lev_comp.l" +#line 251 "lev_comp.l" { savetoken(yytext); yylval.i=5; return LEFT_OR_RIGHT; } YY_BREAK case 126: YY_RULE_SETUP -#line 247 "lev_comp.l" +#line 252 "lev_comp.l" { savetoken(yytext); yylval.i=1; return TOP_OR_BOT; } YY_BREAK case 127: YY_RULE_SETUP -#line 248 "lev_comp.l" +#line 253 "lev_comp.l" { savetoken(yytext); yylval.i=5; return TOP_OR_BOT; } YY_BREAK case 128: YY_RULE_SETUP -#line 249 "lev_comp.l" +#line 254 "lev_comp.l" { savetoken(yytext); yylval.i=1; return LIGHT_STATE; } YY_BREAK case 129: YY_RULE_SETUP -#line 250 "lev_comp.l" +#line 255 "lev_comp.l" { savetoken(yytext); yylval.i=0; return LIGHT_STATE; } YY_BREAK case 130: YY_RULE_SETUP -#line 251 "lev_comp.l" +#line 256 "lev_comp.l" { savetoken(yytext); yylval.i=1; return FILLING; } YY_BREAK case 131: YY_RULE_SETUP -#line 252 "lev_comp.l" +#line 257 "lev_comp.l" { savetoken(yytext); yylval.i=0; return FILLING; } YY_BREAK case 132: YY_RULE_SETUP -#line 253 "lev_comp.l" +#line 258 "lev_comp.l" { savetoken(yytext); yylval.i=0; return IRREGULAR; } YY_BREAK case 133: YY_RULE_SETUP -#line 254 "lev_comp.l" +#line 259 "lev_comp.l" { savetoken(yytext); yylval.i=1; return IRREGULAR; } YY_BREAK case 134: YY_RULE_SETUP -#line 255 "lev_comp.l" +#line 260 "lev_comp.l" { savetoken(yytext); yylval.i=1; return JOINED; } YY_BREAK case 135: YY_RULE_SETUP -#line 256 "lev_comp.l" +#line 261 "lev_comp.l" { savetoken(yytext); yylval.i=0; return JOINED; } YY_BREAK case 136: YY_RULE_SETUP -#line 257 "lev_comp.l" +#line 262 "lev_comp.l" { savetoken(yytext); yylval.i=1; return LIMITED; } YY_BREAK case 137: YY_RULE_SETUP -#line 258 "lev_comp.l" +#line 263 "lev_comp.l" { savetoken(yytext); yylval.i=0; return LIMITED; } YY_BREAK case 138: YY_RULE_SETUP -#line 259 "lev_comp.l" +#line 264 "lev_comp.l" { savetoken(yytext); yylval.i= AM_NONE; return ALIGNMENT; } YY_BREAK case 139: YY_RULE_SETUP -#line 260 "lev_comp.l" +#line 265 "lev_comp.l" { savetoken(yytext); yylval.i= AM_LAWFUL; return ALIGNMENT; } YY_BREAK case 140: YY_RULE_SETUP -#line 261 "lev_comp.l" +#line 266 "lev_comp.l" { savetoken(yytext); yylval.i= AM_NEUTRAL; return ALIGNMENT; } YY_BREAK case 141: YY_RULE_SETUP -#line 262 "lev_comp.l" +#line 267 "lev_comp.l" { savetoken(yytext); yylval.i= AM_CHAOTIC; return ALIGNMENT; } YY_BREAK case 142: YY_RULE_SETUP -#line 263 "lev_comp.l" +#line 268 "lev_comp.l" { savetoken(yytext); yylval.i= AM_SPLEV_CO; return ALIGNMENT; } YY_BREAK case 143: YY_RULE_SETUP -#line 264 "lev_comp.l" +#line 269 "lev_comp.l" { savetoken(yytext); yylval.i= AM_SPLEV_NONCO; return ALIGNMENT; } YY_BREAK case 144: YY_RULE_SETUP -#line 265 "lev_comp.l" +#line 270 "lev_comp.l" { savetoken(yytext); yylval.i=1; return MON_ATTITUDE; } YY_BREAK case 145: YY_RULE_SETUP -#line 266 "lev_comp.l" +#line 271 "lev_comp.l" { savetoken(yytext); yylval.i=0; return MON_ATTITUDE; } YY_BREAK case 146: YY_RULE_SETUP -#line 267 "lev_comp.l" +#line 272 "lev_comp.l" { savetoken(yytext); yylval.i=1; return MON_ALERTNESS; } YY_BREAK case 147: YY_RULE_SETUP -#line 268 "lev_comp.l" +#line 273 "lev_comp.l" { savetoken(yytext); yylval.i=0; return MON_ALERTNESS; } YY_BREAK case 148: YY_RULE_SETUP -#line 269 "lev_comp.l" +#line 274 "lev_comp.l" { savetoken(yytext); yylval.i= M_AP_FURNITURE; return MON_APPEARANCE; } YY_BREAK case 149: YY_RULE_SETUP -#line 270 "lev_comp.l" +#line 275 "lev_comp.l" { savetoken(yytext); yylval.i= M_AP_MONSTER; return MON_APPEARANCE; } YY_BREAK case 150: YY_RULE_SETUP -#line 271 "lev_comp.l" +#line 276 "lev_comp.l" { savetoken(yytext); yylval.i= M_AP_OBJECT; return MON_APPEARANCE; } YY_BREAK case 151: YY_RULE_SETUP -#line 272 "lev_comp.l" +#line 277 "lev_comp.l" { savetoken(yytext); yylval.i=2; return ALTAR_TYPE; } YY_BREAK case 152: YY_RULE_SETUP -#line 273 "lev_comp.l" +#line 278 "lev_comp.l" { savetoken(yytext); yylval.i=1; return ALTAR_TYPE; } YY_BREAK case 153: YY_RULE_SETUP -#line 274 "lev_comp.l" +#line 279 "lev_comp.l" { savetoken(yytext); yylval.i=0; return ALTAR_TYPE; } YY_BREAK case 154: YY_RULE_SETUP -#line 275 "lev_comp.l" +#line 280 "lev_comp.l" { savetoken(yytext); yylval.i=1; return UP_OR_DOWN; } YY_BREAK case 155: YY_RULE_SETUP -#line 276 "lev_comp.l" +#line 281 "lev_comp.l" { savetoken(yytext); yylval.i=0; return UP_OR_DOWN; } YY_BREAK case 156: YY_RULE_SETUP -#line 277 "lev_comp.l" +#line 282 "lev_comp.l" { savetoken(yytext); yylval.i=0; return BOOLEAN; } YY_BREAK case 157: YY_RULE_SETUP -#line 278 "lev_comp.l" +#line 283 "lev_comp.l" { savetoken(yytext); yylval.i=1; return BOOLEAN; } YY_BREAK case 158: YY_RULE_SETUP -#line 279 "lev_comp.l" +#line 284 "lev_comp.l" { savetoken(yytext); yylval.i=DUST; return ENGRAVING_TYPE; } YY_BREAK case 159: YY_RULE_SETUP -#line 280 "lev_comp.l" +#line 285 "lev_comp.l" { savetoken(yytext); yylval.i=ENGRAVE; return ENGRAVING_TYPE; } YY_BREAK case 160: YY_RULE_SETUP -#line 281 "lev_comp.l" +#line 286 "lev_comp.l" { savetoken(yytext); yylval.i=BURN; return ENGRAVING_TYPE; } YY_BREAK case 161: YY_RULE_SETUP -#line 282 "lev_comp.l" +#line 287 "lev_comp.l" { savetoken(yytext); yylval.i=MARK; return ENGRAVING_TYPE; } YY_BREAK case 162: YY_RULE_SETUP -#line 283 "lev_comp.l" +#line 288 "lev_comp.l" { savetoken(yytext); yylval.i=ENGR_BLOOD; return ENGRAVING_TYPE; } YY_BREAK case 163: YY_RULE_SETUP -#line 284 "lev_comp.l" +#line 289 "lev_comp.l" { savetoken(yytext); yylval.i=1; return CURSE_TYPE; } YY_BREAK case 164: YY_RULE_SETUP -#line 285 "lev_comp.l" +#line 290 "lev_comp.l" { savetoken(yytext); yylval.i=2; return CURSE_TYPE; } YY_BREAK case 165: YY_RULE_SETUP -#line 286 "lev_comp.l" +#line 291 "lev_comp.l" { savetoken(yytext); yylval.i=3; return CURSE_TYPE; } YY_BREAK case 166: YY_RULE_SETUP -#line 287 "lev_comp.l" +#line 292 "lev_comp.l" { savetoken(yytext); yylval.i=NOTELEPORT; return FLAG_TYPE; } YY_BREAK case 167: YY_RULE_SETUP -#line 288 "lev_comp.l" +#line 293 "lev_comp.l" { savetoken(yytext); yylval.i=HARDFLOOR; return FLAG_TYPE; } YY_BREAK case 168: YY_RULE_SETUP -#line 289 "lev_comp.l" +#line 294 "lev_comp.l" { savetoken(yytext); yylval.i=NOMMAP; return FLAG_TYPE; } YY_BREAK case 169: YY_RULE_SETUP -#line 290 "lev_comp.l" -{ savetoken(yytext); yylval.i=ARBOREAL; return FLAG_TYPE; } /* KMH */ +#line 295 "lev_comp.l" +{ savetoken(yytext); yylval.i=ARBOREAL; return FLAG_TYPE; } /* KMH */ YY_BREAK case 170: YY_RULE_SETUP -#line 291 "lev_comp.l" +#line 296 "lev_comp.l" { savetoken(yytext); yylval.i=SHORTSIGHTED; return FLAG_TYPE; } YY_BREAK case 171: YY_RULE_SETUP -#line 292 "lev_comp.l" +#line 297 "lev_comp.l" { savetoken(yytext); yylval.i=MAZELEVEL; return FLAG_TYPE; } YY_BREAK case 172: YY_RULE_SETUP -#line 293 "lev_comp.l" +#line 298 "lev_comp.l" { savetoken(yytext); yylval.i=PREMAPPED; return FLAG_TYPE; } YY_BREAK case 173: YY_RULE_SETUP -#line 294 "lev_comp.l" +#line 299 "lev_comp.l" { savetoken(yytext); yylval.i=SHROUD; return FLAG_TYPE; } YY_BREAK case 174: YY_RULE_SETUP -#line 295 "lev_comp.l" +#line 300 "lev_comp.l" { savetoken(yytext); yylval.i=GRAVEYARD; return FLAG_TYPE; } YY_BREAK case 175: YY_RULE_SETUP -#line 296 "lev_comp.l" +#line 301 "lev_comp.l" { savetoken(yytext); yylval.i=ICEDPOOLS; return FLAG_TYPE; } YY_BREAK case 176: YY_RULE_SETUP -#line 297 "lev_comp.l" +#line 302 "lev_comp.l" { savetoken(yytext); yylval.i=SOLIDIFY; return FLAG_TYPE; } YY_BREAK case 177: YY_RULE_SETUP -#line 298 "lev_comp.l" +#line 303 "lev_comp.l" { savetoken(yytext); yylval.i=CORRMAZE; return FLAG_TYPE; } YY_BREAK case 178: YY_RULE_SETUP -#line 299 "lev_comp.l" +#line 304 "lev_comp.l" { savetoken(yytext); yylval.i=CHECK_INACCESSIBLES; return FLAG_TYPE; } YY_BREAK case 179: YY_RULE_SETUP -#line 300 "lev_comp.l" -{ char *p = strchr(yytext, 'd'); +#line 305 "lev_comp.l" +{ char *p = index(yytext, 'd'); savetoken(yytext); if (p) { - *p = '\0'; - p++; - yylval.dice.num=atoi(yytext); - yylval.dice.die=atoi(p); - } else { yylval.dice.num = yylval.dice.die = 1; } + *p++ = '\0'; + yylval.dice.num = atoi(yytext); + yylval.dice.die = atoi(p); + } else { + yylval.dice.num = yylval.dice.die = 1; + } return DICE; } YY_BREAK case 180: YY_RULE_SETUP -#line 310 "lev_comp.l" +#line 316 "lev_comp.l" { savetoken(yytext); yylval.i = atoi(yytext + 1); if (yylval.i < 0 || yylval.i > 100) lc_error("Unexpected percentile '%li%%'", yylval.i); @@ -2410,17 +2416,17 @@ YY_RULE_SETUP YY_BREAK case 181: YY_RULE_SETUP -#line 314 "lev_comp.l" +#line 320 "lev_comp.l" { savetoken(yytext); yylval.i=atoi(yytext); return MINUS_INTEGER; } YY_BREAK case 182: YY_RULE_SETUP -#line 315 "lev_comp.l" +#line 321 "lev_comp.l" { savetoken(yytext); yylval.i=atoi(yytext); return PLUS_INTEGER; } YY_BREAK case 183: YY_RULE_SETUP -#line 316 "lev_comp.l" +#line 322 "lev_comp.l" { savetoken(yytext); yylval.i = atoi(yytext); if (yylval.i < 0 || yylval.i > 100) lc_error("Unexpected percentile '%li%%'", yylval.i); @@ -2428,96 +2434,95 @@ YY_RULE_SETUP YY_BREAK case 184: YY_RULE_SETUP -#line 320 "lev_comp.l" +#line 326 "lev_comp.l" { savetoken(yytext); yylval.i=atoi(yytext); return INTEGER; } YY_BREAK case 185: /* rule 185 can match eol */ YY_RULE_SETUP -#line 321 "lev_comp.l" +#line 327 "lev_comp.l" { savetoken(yytext); - yytext[yyleng-1] = 0; /* Discard the trailing \" */ - yylval.map = (char *) alloc(strlen(yytext+1)+1); - Strcpy(yylval.map, yytext+1); /* Discard the first \" */ + yytext[yyleng - 1] = '\0'; /* discard the trailing \" */ + yylval.map = dupstr(yytext + 1); /* skip the first \" */ return STRING; } YY_BREAK case 186: YY_RULE_SETUP -#line 326 "lev_comp.l" +#line 331 "lev_comp.l" { savetoken(yytext); return handle_varstring_check(); } YY_BREAK case 187: YY_RULE_SETUP -#line 327 "lev_comp.l" +#line 332 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JE; return COMPARE_TYPE; } YY_BREAK case 188: YY_RULE_SETUP -#line 328 "lev_comp.l" +#line 333 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JNE; return COMPARE_TYPE; } YY_BREAK case 189: YY_RULE_SETUP -#line 329 "lev_comp.l" +#line 334 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JNE; return COMPARE_TYPE; } YY_BREAK case 190: YY_RULE_SETUP -#line 330 "lev_comp.l" +#line 335 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JLE; return COMPARE_TYPE; } YY_BREAK case 191: YY_RULE_SETUP -#line 331 "lev_comp.l" +#line 336 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JGE; return COMPARE_TYPE; } YY_BREAK case 192: YY_RULE_SETUP -#line 332 "lev_comp.l" +#line 337 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JL; return COMPARE_TYPE; } YY_BREAK case 193: YY_RULE_SETUP -#line 333 "lev_comp.l" +#line 338 "lev_comp.l" { savetoken(yytext); yylval.i = SPO_JG; return COMPARE_TYPE; } YY_BREAK case 194: /* rule 194 can match eol */ YY_RULE_SETUP -#line 334 "lev_comp.l" +#line 339 "lev_comp.l" { newline(); } YY_BREAK case 195: YY_RULE_SETUP -#line 335 "lev_comp.l" +#line 340 "lev_comp.l" { advancepos(yytext); } YY_BREAK case 196: YY_RULE_SETUP -#line 336 "lev_comp.l" +#line 341 "lev_comp.l" { savetoken(yytext); yylval.i = yytext[2]; return CHAR; } YY_BREAK case 197: YY_RULE_SETUP -#line 337 "lev_comp.l" +#line 342 "lev_comp.l" { savetoken(yytext); yylval.i = yytext[1]; return CHAR; } YY_BREAK case 198: YY_RULE_SETUP -#line 338 "lev_comp.l" +#line 343 "lev_comp.l" ST_RET(UNKNOWN_TYPE); YY_BREAK case 199: YY_RULE_SETUP -#line 339 "lev_comp.l" +#line 344 "lev_comp.l" { savetoken(yytext); return yytext[0]; } YY_BREAK case 200: YY_RULE_SETUP -#line 340 "lev_comp.l" +#line 345 "lev_comp.l" ECHO; YY_BREAK -#line 2521 "lex.yy.c" +#line 2526 "lex.yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(MAPC): yyterminate(); @@ -3516,81 +3521,95 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 339 "lev_comp.l" +#line 344 "lev_comp.l" #ifdef AMIGA -long *alloc(n) - unsigned n; +long * +alloc(n) + unsigned n; { - return ((long *)malloc (n)); + return (long *) malloc(n); } #endif /* routine to switch to another input file; needed for flex */ -void init_yyin( input_f ) +void +init_yyin( input_f ) FILE *input_f; { #if defined(FLEX_SCANNER) || defined(FLEXHACK_SCANNER) - if (yyin) - yyrestart(input_f); - else + if (yyin) + yyrestart(input_f); + else #endif - yyin = input_f; - if (!orig_yyin) orig_yyin = yyin; + yyin = input_f; + + if (!orig_yyin) + orig_yyin = yyin; } /* analogous routine (for completeness) */ -void init_yyout( output_f ) +void +init_yyout( output_f ) FILE *output_f; { - yyout = output_f; + yyout = output_f; } long handle_varstring_check() { - struct lc_vardefs *vd; - yylval.map = (char *) alloc(strlen(yytext)+1); - Strcpy(yylval.map, yytext); - if ((vd = vardef_defined(variable_definitions, yytext, 1))) { - long l = vd->var_type; - long a = ((l & SPOVAR_ARRAY) == SPOVAR_ARRAY); - l = (l & ~SPOVAR_ARRAY); - if (l == SPOVAR_INT) return (a ? VARSTRING_INT_ARRAY : VARSTRING_INT); - if (l == SPOVAR_STRING) return (a ? VARSTRING_STRING_ARRAY : VARSTRING_STRING); - if (l == SPOVAR_VARIABLE) return (a ? VARSTRING_VAR_ARRAY : VARSTRING_VAR); - if (l == SPOVAR_COORD) return (a ? VARSTRING_COORD_ARRAY : VARSTRING_COORD); - if (l == SPOVAR_REGION) return (a ? VARSTRING_REGION_ARRAY : VARSTRING_REGION); - if (l == SPOVAR_MAPCHAR) return (a ? VARSTRING_MAPCHAR_ARRAY : VARSTRING_MAPCHAR); - if (l == SPOVAR_MONST) return (a ? VARSTRING_MONST_ARRAY : VARSTRING_MONST); - if (l == SPOVAR_OBJ) return (a ? VARSTRING_OBJ_ARRAY : VARSTRING_OBJ); - if (l == SPOVAR_SEL) return (a ? VARSTRING_SEL_ARRAY : VARSTRING_SEL); - } - return VARSTRING; -} + struct lc_vardefs *vd; + yylval.map = dupstr(yytext); + if ((vd = vardef_defined(variable_definitions, yytext, 1)) != 0) { + long l = vd->var_type; + int a = ((l & SPOVAR_ARRAY) == SPOVAR_ARRAY); + + l &= ~SPOVAR_ARRAY; + if (l == SPOVAR_INT) + return (a ? VARSTRING_INT_ARRAY : VARSTRING_INT); + if (l == SPOVAR_STRING) + return (a ? VARSTRING_STRING_ARRAY : VARSTRING_STRING); + if (l == SPOVAR_VARIABLE) + return (a ? VARSTRING_VAR_ARRAY : VARSTRING_VAR); + if (l == SPOVAR_COORD) + return (a ? VARSTRING_COORD_ARRAY : VARSTRING_COORD); + if (l == SPOVAR_REGION) + return (a ? VARSTRING_REGION_ARRAY : VARSTRING_REGION); + if (l == SPOVAR_MAPCHAR) + return (a ? VARSTRING_MAPCHAR_ARRAY : VARSTRING_MAPCHAR); + if (l == SPOVAR_MONST) + return (a ? VARSTRING_MONST_ARRAY : VARSTRING_MONST); + if (l == SPOVAR_OBJ) + return (a ? VARSTRING_OBJ_ARRAY : VARSTRING_OBJ); + if (l == SPOVAR_SEL) + return (a ? VARSTRING_SEL_ARRAY : VARSTRING_SEL); + } + return VARSTRING; +} void newline() { - nh_line_number++; - token_start_pos = 0; - memset(curr_token, 0, 512); + nh_line_number++; + token_start_pos = 0; + (void) memset((genericptr_t) curr_token, 0, 512); } void savetoken(s) char *s; { - sprintf(curr_token, "%s", s); - advancepos(s); + Sprintf(curr_token, "%s", s); + advancepos(s); } void advancepos(s) char *s; { - token_start_pos += strlen(s); + token_start_pos += strlen(s); } /*lev_comp.l*/ diff --git a/sys/share/lev_yacc.c b/sys/share/lev_yacc.c index 621684bd2..2beac8408 100644 --- a/sys/share/lev_yacc.c +++ b/sys/share/lev_yacc.c @@ -64,7 +64,7 @@ /* Copy the first part of user declarations. */ #line 1 "lev_comp.y" /* yacc.c:339 */ -/* NetHack 3.6 lev_comp.y $NHDT-Date: 1432512785 2015/05/25 00:13:05 $ $NHDT-Branch: master $:$NHDT-Revision: 1.16 $ */ +/* NetHack 3.6 lev_comp.y $NHDT-Date: 1448074095 2015/11/21 02:48:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.18 $ */ /* Copyright (c) 1989 by Jean-Christophe Collet */ /* NetHack may be freely redistributed. See license for details. */ @@ -988,25 +988,25 @@ static const yytype_uint16 yyrline[] = 1349, 1355, 1356, 1359, 1366, 1374, 1382, 1383, 1386, 1387, 1390, 1395, 1394, 1408, 1415, 1421, 1429, 1434, 1440, 1446, 1452, 1458, 1463, 1468, 1473, 1478, 1483, 1488, 1493, 1498, - 1503, 1508, 1516, 1524, 1528, 1541, 1548, 1547, 1563, 1571, - 1577, 1585, 1591, 1596, 1601, 1606, 1611, 1616, 1621, 1626, - 1631, 1642, 1647, 1652, 1657, 1662, 1669, 1675, 1704, 1709, - 1717, 1723, 1729, 1736, 1743, 1753, 1763, 1778, 1789, 1792, - 1798, 1804, 1810, 1816, 1821, 1828, 1835, 1841, 1847, 1854, - 1853, 1878, 1881, 1887, 1894, 1898, 1903, 1910, 1916, 1923, - 1927, 1934, 1942, 1945, 1955, 1959, 1962, 1968, 1972, 1979, - 1983, 1987, 1993, 1994, 1997, 1998, 2001, 2002, 2003, 2009, - 2010, 2011, 2017, 2018, 2021, 2030, 2035, 2042, 2052, 2058, - 2062, 2066, 2073, 2082, 2088, 2092, 2098, 2102, 2110, 2114, - 2121, 2130, 2141, 2145, 2152, 2161, 2170, 2181, 2185, 2192, - 2201, 2211, 2220, 2230, 2236, 2240, 2247, 2256, 2266, 2275, - 2285, 2292, 2293, 2299, 2303, 2307, 2311, 2319, 2328, 2332, - 2336, 2340, 2344, 2348, 2351, 2358, 2367, 2395, 2396, 2399, - 2400, 2403, 2407, 2414, 2421, 2432, 2435, 2443, 2447, 2451, - 2455, 2459, 2464, 2468, 2472, 2477, 2482, 2487, 2491, 2496, - 2501, 2505, 2509, 2514, 2518, 2525, 2531, 2535, 2541, 2548, - 2549, 2550, 2553, 2557, 2561, 2565, 2571, 2572, 2575, 2576, - 2579, 2580, 2583, 2584, 2587, 2591, 2609 + 1503, 1508, 1516, 1524, 1528, 1541, 1548, 1547, 1563, 1573, + 1579, 1587, 1593, 1598, 1603, 1608, 1613, 1618, 1623, 1628, + 1633, 1644, 1649, 1654, 1659, 1664, 1671, 1677, 1706, 1711, + 1719, 1725, 1731, 1738, 1745, 1755, 1765, 1780, 1791, 1794, + 1800, 1806, 1812, 1818, 1823, 1830, 1837, 1843, 1849, 1856, + 1855, 1880, 1883, 1889, 1896, 1900, 1905, 1912, 1918, 1925, + 1929, 1936, 1944, 1947, 1957, 1961, 1964, 1970, 1974, 1981, + 1985, 1989, 1995, 1996, 1999, 2000, 2003, 2004, 2005, 2011, + 2012, 2013, 2019, 2020, 2023, 2032, 2037, 2044, 2054, 2060, + 2064, 2068, 2075, 2084, 2090, 2094, 2100, 2104, 2112, 2116, + 2123, 2132, 2143, 2147, 2154, 2163, 2172, 2183, 2187, 2194, + 2203, 2213, 2222, 2232, 2238, 2242, 2249, 2258, 2268, 2277, + 2287, 2294, 2295, 2301, 2305, 2309, 2313, 2321, 2330, 2334, + 2338, 2342, 2346, 2350, 2353, 2360, 2369, 2397, 2398, 2401, + 2402, 2405, 2409, 2416, 2423, 2434, 2437, 2445, 2449, 2453, + 2457, 2461, 2466, 2470, 2474, 2479, 2484, 2489, 2493, 2498, + 2503, 2507, 2511, 2516, 2520, 2527, 2533, 2537, 2543, 2550, + 2551, 2552, 2555, 2559, 2563, 2567, 2573, 2574, 2577, 2578, + 2581, 2582, 2585, 2586, 2589, 2593, 2611 }; #endif @@ -4060,117 +4060,119 @@ yyreduce: case 228: #line 1564 "lev_comp.y" /* yacc.c:1646 */ { - if (( (yyvsp[0].i) & 0x4000) && in_container_obj) lc_error("Object cannot have a coord when contained."); - else if (!( (yyvsp[0].i) & 0x4000) && !in_container_obj) lc_error("Object needs a coord when not contained."); + if (( (yyvsp[0].i) & 0x4000) && in_container_obj) + lc_error("Object cannot have a coord when contained."); + else if (!( (yyvsp[0].i) & 0x4000) && !in_container_obj) + lc_error("Object needs a coord when not contained."); } -#line 4067 "y.tab.c" /* yacc.c:1646 */ +#line 4069 "y.tab.c" /* yacc.c:1646 */ break; case 229: -#line 1571 "lev_comp.y" /* yacc.c:1646 */ +#line 1573 "lev_comp.y" /* yacc.c:1646 */ { struct opvar *stopit = New(struct opvar); set_opvar_int(stopit, SP_O_V_END); add_opcode(splev, SPO_PUSH, stopit); (yyval.i) = 0x00; } -#line 4078 "y.tab.c" /* yacc.c:1646 */ +#line 4080 "y.tab.c" /* yacc.c:1646 */ break; case 230: -#line 1578 "lev_comp.y" /* yacc.c:1646 */ +#line 1580 "lev_comp.y" /* yacc.c:1646 */ { if (( (yyvsp[-2].i) & (yyvsp[0].i) )) lc_error("OBJECT extra info '%s' defined twice.", curr_token); (yyval.i) = ( (yyvsp[-2].i) | (yyvsp[0].i) ); } -#line 4088 "y.tab.c" /* yacc.c:1646 */ +#line 4090 "y.tab.c" /* yacc.c:1646 */ break; case 231: -#line 1586 "lev_comp.y" /* yacc.c:1646 */ +#line 1588 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2((long)(yyvsp[0].i), SP_O_V_CURSE)); (yyval.i) = 0x0001; } -#line 4098 "y.tab.c" /* yacc.c:1646 */ +#line 4100 "y.tab.c" /* yacc.c:1646 */ break; case 232: -#line 1592 "lev_comp.y" /* yacc.c:1646 */ +#line 1594 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_CORPSENM)); (yyval.i) = 0x0002; } -#line 4107 "y.tab.c" /* yacc.c:1646 */ +#line 4109 "y.tab.c" /* yacc.c:1646 */ break; case 233: -#line 1597 "lev_comp.y" /* yacc.c:1646 */ +#line 1599 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_SPE)); (yyval.i) = 0x0004; } -#line 4116 "y.tab.c" /* yacc.c:1646 */ +#line 4118 "y.tab.c" /* yacc.c:1646 */ break; case 234: -#line 1602 "lev_comp.y" /* yacc.c:1646 */ +#line 1604 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_NAME)); (yyval.i) = 0x0008; } -#line 4125 "y.tab.c" /* yacc.c:1646 */ +#line 4127 "y.tab.c" /* yacc.c:1646 */ break; case 235: -#line 1607 "lev_comp.y" /* yacc.c:1646 */ +#line 1609 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_QUAN)); (yyval.i) = 0x0010; } -#line 4134 "y.tab.c" /* yacc.c:1646 */ +#line 4136 "y.tab.c" /* yacc.c:1646 */ break; case 236: -#line 1612 "lev_comp.y" /* yacc.c:1646 */ +#line 1614 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_BURIED)); (yyval.i) = 0x0020; } -#line 4143 "y.tab.c" /* yacc.c:1646 */ +#line 4145 "y.tab.c" /* yacc.c:1646 */ break; case 237: -#line 1617 "lev_comp.y" /* yacc.c:1646 */ +#line 1619 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2((long)(yyvsp[0].i), SP_O_V_LIT)); (yyval.i) = 0x0040; } -#line 4152 "y.tab.c" /* yacc.c:1646 */ +#line 4154 "y.tab.c" /* yacc.c:1646 */ break; case 238: -#line 1622 "lev_comp.y" /* yacc.c:1646 */ +#line 1624 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_ERODED)); (yyval.i) = 0x0080; } -#line 4161 "y.tab.c" /* yacc.c:1646 */ +#line 4163 "y.tab.c" /* yacc.c:1646 */ break; case 239: -#line 1627 "lev_comp.y" /* yacc.c:1646 */ +#line 1629 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2(-1, SP_O_V_ERODED)); (yyval.i) = 0x0080; } -#line 4170 "y.tab.c" /* yacc.c:1646 */ +#line 4172 "y.tab.c" /* yacc.c:1646 */ break; case 240: -#line 1632 "lev_comp.y" /* yacc.c:1646 */ +#line 1634 "lev_comp.y" /* yacc.c:1646 */ { if ((yyvsp[0].i) == D_LOCKED) { add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_LOCKED)); @@ -4181,64 +4183,64 @@ yyreduce: } else lc_error("DOOR state can only be locked or broken."); } -#line 4185 "y.tab.c" /* yacc.c:1646 */ +#line 4187 "y.tab.c" /* yacc.c:1646 */ break; case 241: -#line 1643 "lev_comp.y" /* yacc.c:1646 */ +#line 1645 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2((yyvsp[0].i), SP_O_V_TRAPPED)); (yyval.i) = 0x0400; } -#line 4194 "y.tab.c" /* yacc.c:1646 */ +#line 4196 "y.tab.c" /* yacc.c:1646 */ break; case 242: -#line 1648 "lev_comp.y" /* yacc.c:1646 */ +#line 1650 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_RECHARGED)); (yyval.i) = 0x0800; } -#line 4203 "y.tab.c" /* yacc.c:1646 */ +#line 4205 "y.tab.c" /* yacc.c:1646 */ break; case 243: -#line 1653 "lev_comp.y" /* yacc.c:1646 */ +#line 1655 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_INVIS)); (yyval.i) = 0x1000; } -#line 4212 "y.tab.c" /* yacc.c:1646 */ +#line 4214 "y.tab.c" /* yacc.c:1646 */ break; case 244: -#line 1658 "lev_comp.y" /* yacc.c:1646 */ +#line 1660 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_GREASED)); (yyval.i) = 0x2000; } -#line 4221 "y.tab.c" /* yacc.c:1646 */ +#line 4223 "y.tab.c" /* yacc.c:1646 */ break; case 245: -#line 1663 "lev_comp.y" /* yacc.c:1646 */ +#line 1665 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1(SP_O_V_COORD)); (yyval.i) = 0x4000; } -#line 4230 "y.tab.c" /* yacc.c:1646 */ +#line 4232 "y.tab.c" /* yacc.c:1646 */ break; case 246: -#line 1670 "lev_comp.y" /* yacc.c:1646 */ +#line 1672 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((long)(yyvsp[-2].i), SPO_TRAP)); } -#line 4238 "y.tab.c" /* yacc.c:1646 */ +#line 4240 "y.tab.c" /* yacc.c:1646 */ break; case 247: -#line 1676 "lev_comp.y" /* yacc.c:1646 */ +#line 1678 "lev_comp.y" /* yacc.c:1646 */ { long dir, state = 0; @@ -4265,66 +4267,66 @@ yyreduce: add_opvars(splev, "iio", VA_PASS3(state, dir, SPO_DRAWBRIDGE)); } -#line 4269 "y.tab.c" /* yacc.c:1646 */ +#line 4271 "y.tab.c" /* yacc.c:1646 */ break; case 248: -#line 1705 "lev_comp.y" /* yacc.c:1646 */ +#line 1707 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiio", VA_PASS4((long)(yyvsp[0].i), 1, 0, SPO_MAZEWALK)); } -#line 4278 "y.tab.c" /* yacc.c:1646 */ +#line 4280 "y.tab.c" /* yacc.c:1646 */ break; case 249: -#line 1710 "lev_comp.y" /* yacc.c:1646 */ +#line 1712 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiio", VA_PASS4((long)(yyvsp[-3].i), (long)(yyvsp[-1].i), (long)(yyvsp[0].i), SPO_MAZEWALK)); } -#line 4288 "y.tab.c" /* yacc.c:1646 */ +#line 4290 "y.tab.c" /* yacc.c:1646 */ break; case 250: -#line 1718 "lev_comp.y" /* yacc.c:1646 */ +#line 1720 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "rio", VA_PASS3(SP_REGION_PACK(-1,-1,-1,-1), 0, SPO_WALLIFY)); } -#line 4298 "y.tab.c" /* yacc.c:1646 */ +#line 4300 "y.tab.c" /* yacc.c:1646 */ break; case 251: -#line 1724 "lev_comp.y" /* yacc.c:1646 */ +#line 1726 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(1, SPO_WALLIFY)); } -#line 4306 "y.tab.c" /* yacc.c:1646 */ +#line 4308 "y.tab.c" /* yacc.c:1646 */ break; case 252: -#line 1730 "lev_comp.y" /* yacc.c:1646 */ +#line 1732 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((long)(yyvsp[0].i), SPO_LADDER)); } -#line 4315 "y.tab.c" /* yacc.c:1646 */ +#line 4317 "y.tab.c" /* yacc.c:1646 */ break; case 253: -#line 1737 "lev_comp.y" /* yacc.c:1646 */ +#line 1739 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((long)(yyvsp[0].i), SPO_STAIR)); } -#line 4324 "y.tab.c" /* yacc.c:1646 */ +#line 4326 "y.tab.c" /* yacc.c:1646 */ break; case 254: -#line 1744 "lev_comp.y" /* yacc.c:1646 */ +#line 1746 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiiii iiiii iiso", VA_PASS14((yyvsp[-4].lregn).x1, (yyvsp[-4].lregn).y1, (yyvsp[-4].lregn).x2, (yyvsp[-4].lregn).y2, (yyvsp[-4].lregn).area, @@ -4332,11 +4334,11 @@ yyreduce: (long)(((yyvsp[0].i)) ? LR_UPSTAIR : LR_DOWNSTAIR), 0, (char *)0, SPO_LEVREGION)); } -#line 4336 "y.tab.c" /* yacc.c:1646 */ +#line 4338 "y.tab.c" /* yacc.c:1646 */ break; case 255: -#line 1754 "lev_comp.y" /* yacc.c:1646 */ +#line 1756 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiiii iiiii iiso", VA_PASS14((yyvsp[-4].lregn).x1, (yyvsp[-4].lregn).y1, (yyvsp[-4].lregn).x2, (yyvsp[-4].lregn).y2, (yyvsp[-4].lregn).area, @@ -4344,11 +4346,11 @@ yyreduce: LR_PORTAL, 0, (yyvsp[0].map), SPO_LEVREGION)); Free((yyvsp[0].map)); } -#line 4348 "y.tab.c" /* yacc.c:1646 */ +#line 4350 "y.tab.c" /* yacc.c:1646 */ break; case 256: -#line 1764 "lev_comp.y" /* yacc.c:1646 */ +#line 1766 "lev_comp.y" /* yacc.c:1646 */ { long rtyp = 0; switch((yyvsp[0].i)) { @@ -4361,11 +4363,11 @@ yyreduce: (yyvsp[-1].lregn).x1, (yyvsp[-1].lregn).y1, (yyvsp[-1].lregn).x2, (yyvsp[-1].lregn).y2, (yyvsp[-1].lregn).area, rtyp, 0, (char *)0, SPO_LEVREGION)); } -#line 4365 "y.tab.c" /* yacc.c:1646 */ +#line 4367 "y.tab.c" /* yacc.c:1646 */ break; case 257: -#line 1779 "lev_comp.y" /* yacc.c:1646 */ +#line 1781 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiiii iiiii iiso", VA_PASS14((yyvsp[-2].lregn).x1, (yyvsp[-2].lregn).y1, (yyvsp[-2].lregn).x2, (yyvsp[-2].lregn).y2, (yyvsp[-2].lregn).area, @@ -4373,102 +4375,102 @@ yyreduce: (long)LR_BRANCH, 0, (char *)0, SPO_LEVREGION)); } -#line 4377 "y.tab.c" /* yacc.c:1646 */ +#line 4379 "y.tab.c" /* yacc.c:1646 */ break; case 258: -#line 1789 "lev_comp.y" /* yacc.c:1646 */ +#line 1791 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = -1; } -#line 4385 "y.tab.c" /* yacc.c:1646 */ +#line 4387 "y.tab.c" /* yacc.c:1646 */ break; case 259: -#line 1793 "lev_comp.y" /* yacc.c:1646 */ +#line 1795 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].i); } -#line 4393 "y.tab.c" /* yacc.c:1646 */ +#line 4395 "y.tab.c" /* yacc.c:1646 */ break; case 260: -#line 1799 "lev_comp.y" /* yacc.c:1646 */ +#line 1801 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_FOUNTAIN)); } -#line 4401 "y.tab.c" /* yacc.c:1646 */ +#line 4403 "y.tab.c" /* yacc.c:1646 */ break; case 261: -#line 1805 "lev_comp.y" /* yacc.c:1646 */ +#line 1807 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SINK)); } -#line 4409 "y.tab.c" /* yacc.c:1646 */ +#line 4411 "y.tab.c" /* yacc.c:1646 */ break; case 262: -#line 1811 "lev_comp.y" /* yacc.c:1646 */ +#line 1813 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_POOL)); } -#line 4417 "y.tab.c" /* yacc.c:1646 */ +#line 4419 "y.tab.c" /* yacc.c:1646 */ break; case 263: -#line 1817 "lev_comp.y" /* yacc.c:1646 */ +#line 1819 "lev_comp.y" /* yacc.c:1646 */ { (yyval.terr).lit = -2; (yyval.terr).ter = what_map_char((char) (yyvsp[0].i)); } -#line 4426 "y.tab.c" /* yacc.c:1646 */ +#line 4428 "y.tab.c" /* yacc.c:1646 */ break; case 264: -#line 1822 "lev_comp.y" /* yacc.c:1646 */ +#line 1824 "lev_comp.y" /* yacc.c:1646 */ { (yyval.terr).lit = (yyvsp[-1].i); (yyval.terr).ter = what_map_char((char) (yyvsp[-3].i)); } -#line 4435 "y.tab.c" /* yacc.c:1646 */ +#line 4437 "y.tab.c" /* yacc.c:1646 */ break; case 265: -#line 1829 "lev_comp.y" /* yacc.c:1646 */ +#line 1831 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((yyvsp[0].i), SPO_REPLACETERRAIN)); } -#line 4444 "y.tab.c" /* yacc.c:1646 */ +#line 4446 "y.tab.c" /* yacc.c:1646 */ break; case 266: -#line 1836 "lev_comp.y" /* yacc.c:1646 */ +#line 1838 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_TERRAIN)); } -#line 4452 "y.tab.c" /* yacc.c:1646 */ +#line 4454 "y.tab.c" /* yacc.c:1646 */ break; case 267: -#line 1842 "lev_comp.y" /* yacc.c:1646 */ +#line 1844 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_NON_DIGGABLE)); } -#line 4460 "y.tab.c" /* yacc.c:1646 */ +#line 4462 "y.tab.c" /* yacc.c:1646 */ break; case 268: -#line 1848 "lev_comp.y" /* yacc.c:1646 */ +#line 1850 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_NON_PASSWALL)); } -#line 4468 "y.tab.c" /* yacc.c:1646 */ +#line 4470 "y.tab.c" /* yacc.c:1646 */ break; case 269: -#line 1854 "lev_comp.y" /* yacc.c:1646 */ +#line 1856 "lev_comp.y" /* yacc.c:1646 */ { long irr; long rt = (yyvsp[-1].i); @@ -4482,11 +4484,11 @@ yyreduce: (yyval.i) = (irr || (rflags & 1) || rt != OROOM); break_stmt_start(); } -#line 4486 "y.tab.c" /* yacc.c:1646 */ +#line 4488 "y.tab.c" /* yacc.c:1646 */ break; case 270: -#line 1868 "lev_comp.y" /* yacc.c:1646 */ +#line 1870 "lev_comp.y" /* yacc.c:1646 */ { break_stmt_end(splev); if ( (yyvsp[-1].i) ) { @@ -4494,96 +4496,96 @@ yyreduce: } else if ( (yyvsp[0].i) ) lc_error("Cannot use lev statements in non-permanent REGION"); } -#line 4498 "y.tab.c" /* yacc.c:1646 */ +#line 4500 "y.tab.c" /* yacc.c:1646 */ break; case 271: -#line 1878 "lev_comp.y" /* yacc.c:1646 */ +#line 1880 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = 0; } -#line 4506 "y.tab.c" /* yacc.c:1646 */ +#line 4508 "y.tab.c" /* yacc.c:1646 */ break; case 272: -#line 1882 "lev_comp.y" /* yacc.c:1646 */ +#line 1884 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].i); } -#line 4514 "y.tab.c" /* yacc.c:1646 */ +#line 4516 "y.tab.c" /* yacc.c:1646 */ break; case 273: -#line 1888 "lev_comp.y" /* yacc.c:1646 */ +#line 1890 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iio", VA_PASS3((long)(yyvsp[0].i), (long)(yyvsp[-2].i), SPO_ALTAR)); } -#line 4523 "y.tab.c" /* yacc.c:1646 */ +#line 4525 "y.tab.c" /* yacc.c:1646 */ break; case 274: -#line 1895 "lev_comp.y" /* yacc.c:1646 */ +#line 1897 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(2, SPO_GRAVE)); } -#line 4531 "y.tab.c" /* yacc.c:1646 */ +#line 4533 "y.tab.c" /* yacc.c:1646 */ break; case 275: -#line 1899 "lev_comp.y" /* yacc.c:1646 */ +#line 1901 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "sio", VA_PASS3((char *)0, 1, SPO_GRAVE)); } -#line 4540 "y.tab.c" /* yacc.c:1646 */ +#line 4542 "y.tab.c" /* yacc.c:1646 */ break; case 276: -#line 1904 "lev_comp.y" /* yacc.c:1646 */ +#line 1906 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "sio", VA_PASS3((char *)0, 0, SPO_GRAVE)); } -#line 4549 "y.tab.c" /* yacc.c:1646 */ +#line 4551 "y.tab.c" /* yacc.c:1646 */ break; case 277: -#line 1911 "lev_comp.y" /* yacc.c:1646 */ +#line 1913 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_GOLD)); } -#line 4557 "y.tab.c" /* yacc.c:1646 */ +#line 4559 "y.tab.c" /* yacc.c:1646 */ break; case 278: -#line 1917 "lev_comp.y" /* yacc.c:1646 */ +#line 1919 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((long)(yyvsp[-2].i), SPO_ENGRAVING)); } -#line 4566 "y.tab.c" /* yacc.c:1646 */ +#line 4568 "y.tab.c" /* yacc.c:1646 */ break; case 279: -#line 1924 "lev_comp.y" /* yacc.c:1646 */ +#line 1926 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MINERALIZE)); } -#line 4574 "y.tab.c" /* yacc.c:1646 */ +#line 4576 "y.tab.c" /* yacc.c:1646 */ break; case 280: -#line 1928 "lev_comp.y" /* yacc.c:1646 */ +#line 1930 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iiiio", VA_PASS5(-1L, -1L, -1L, -1L, SPO_MINERALIZE)); } -#line 4583 "y.tab.c" /* yacc.c:1646 */ +#line 4585 "y.tab.c" /* yacc.c:1646 */ break; case 281: -#line 1935 "lev_comp.y" /* yacc.c:1646 */ +#line 1937 "lev_comp.y" /* yacc.c:1646 */ { int token = get_trap_type((yyvsp[0].map)); if (token == ERR) @@ -4591,11 +4593,11 @@ yyreduce: (yyval.i) = token; Free((yyvsp[0].map)); } -#line 4595 "y.tab.c" /* yacc.c:1646 */ +#line 4597 "y.tab.c" /* yacc.c:1646 */ break; case 283: -#line 1946 "lev_comp.y" /* yacc.c:1646 */ +#line 1948 "lev_comp.y" /* yacc.c:1646 */ { int token = get_room_type((yyvsp[0].map)); if (token == ERR) { @@ -4605,245 +4607,245 @@ yyreduce: (yyval.i) = token; Free((yyvsp[0].map)); } -#line 4609 "y.tab.c" /* yacc.c:1646 */ +#line 4611 "y.tab.c" /* yacc.c:1646 */ break; case 285: -#line 1959 "lev_comp.y" /* yacc.c:1646 */ +#line 1961 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = -1; } -#line 4617 "y.tab.c" /* yacc.c:1646 */ +#line 4619 "y.tab.c" /* yacc.c:1646 */ break; case 286: -#line 1963 "lev_comp.y" /* yacc.c:1646 */ +#line 1965 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].i); } -#line 4625 "y.tab.c" /* yacc.c:1646 */ +#line 4627 "y.tab.c" /* yacc.c:1646 */ break; case 287: -#line 1969 "lev_comp.y" /* yacc.c:1646 */ +#line 1971 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].i); } -#line 4633 "y.tab.c" /* yacc.c:1646 */ +#line 4635 "y.tab.c" /* yacc.c:1646 */ break; case 288: -#line 1973 "lev_comp.y" /* yacc.c:1646 */ +#line 1975 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[-2].i) | (yyvsp[0].i); } -#line 4641 "y.tab.c" /* yacc.c:1646 */ +#line 4643 "y.tab.c" /* yacc.c:1646 */ break; case 289: -#line 1980 "lev_comp.y" /* yacc.c:1646 */ +#line 1982 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = ((yyvsp[0].i) << 0); } -#line 4649 "y.tab.c" /* yacc.c:1646 */ +#line 4651 "y.tab.c" /* yacc.c:1646 */ break; case 290: -#line 1984 "lev_comp.y" /* yacc.c:1646 */ +#line 1986 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = ((yyvsp[0].i) << 1); } -#line 4657 "y.tab.c" /* yacc.c:1646 */ +#line 4659 "y.tab.c" /* yacc.c:1646 */ break; case 291: -#line 1988 "lev_comp.y" /* yacc.c:1646 */ +#line 1990 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = ((yyvsp[0].i) << 2); } -#line 4665 "y.tab.c" /* yacc.c:1646 */ +#line 4667 "y.tab.c" /* yacc.c:1646 */ break; case 298: -#line 2004 "lev_comp.y" /* yacc.c:1646 */ +#line 2006 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = - MAX_REGISTERS - 1; } -#line 4673 "y.tab.c" /* yacc.c:1646 */ +#line 4675 "y.tab.c" /* yacc.c:1646 */ break; case 301: -#line 2012 "lev_comp.y" /* yacc.c:1646 */ +#line 2014 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = - MAX_REGISTERS - 1; } -#line 4681 "y.tab.c" /* yacc.c:1646 */ +#line 4683 "y.tab.c" /* yacc.c:1646 */ break; case 304: -#line 2022 "lev_comp.y" /* yacc.c:1646 */ +#line 2024 "lev_comp.y" /* yacc.c:1646 */ { if ( (yyvsp[-1].i) >= 3 ) lc_error("Register Index overflow!"); else (yyval.i) = - (yyvsp[-1].i) - 1; } -#line 4692 "y.tab.c" /* yacc.c:1646 */ +#line 4694 "y.tab.c" /* yacc.c:1646 */ break; case 305: -#line 2031 "lev_comp.y" /* yacc.c:1646 */ +#line 2033 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "s", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4701 "y.tab.c" /* yacc.c:1646 */ +#line 4703 "y.tab.c" /* yacc.c:1646 */ break; case 306: -#line 2036 "lev_comp.y" /* yacc.c:1646 */ +#line 2038 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_STRING); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4712 "y.tab.c" /* yacc.c:1646 */ +#line 4714 "y.tab.c" /* yacc.c:1646 */ break; case 307: -#line 2043 "lev_comp.y" /* yacc.c:1646 */ +#line 2045 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_STRING|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 4723 "y.tab.c" /* yacc.c:1646 */ +#line 4725 "y.tab.c" /* yacc.c:1646 */ break; case 308: -#line 2053 "lev_comp.y" /* yacc.c:1646 */ +#line 2055 "lev_comp.y" /* yacc.c:1646 */ { /* nothing */ } -#line 4731 "y.tab.c" /* yacc.c:1646 */ +#line 4733 "y.tab.c" /* yacc.c:1646 */ break; case 309: -#line 2059 "lev_comp.y" /* yacc.c:1646 */ +#line 2061 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "c", VA_PASS1((yyvsp[0].i))); } -#line 4739 "y.tab.c" /* yacc.c:1646 */ +#line 4741 "y.tab.c" /* yacc.c:1646 */ break; case 310: -#line 2063 "lev_comp.y" /* yacc.c:1646 */ +#line 2065 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_RNDCOORD)); } -#line 4747 "y.tab.c" /* yacc.c:1646 */ +#line 4749 "y.tab.c" /* yacc.c:1646 */ break; case 311: -#line 2067 "lev_comp.y" /* yacc.c:1646 */ +#line 2069 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_COORD); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4758 "y.tab.c" /* yacc.c:1646 */ +#line 4760 "y.tab.c" /* yacc.c:1646 */ break; case 312: -#line 2074 "lev_comp.y" /* yacc.c:1646 */ +#line 2076 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_COORD|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 4769 "y.tab.c" /* yacc.c:1646 */ +#line 4771 "y.tab.c" /* yacc.c:1646 */ break; case 313: -#line 2083 "lev_comp.y" /* yacc.c:1646 */ +#line 2085 "lev_comp.y" /* yacc.c:1646 */ { if ((yyvsp[-3].i) < 0 || (yyvsp[-1].i) < 0 || (yyvsp[-3].i) >= COLNO || (yyvsp[-1].i) >= ROWNO) lc_error("Coordinates (%li,%li) out of map range!", (yyvsp[-3].i), (yyvsp[-1].i)); (yyval.i) = SP_COORD_PACK((yyvsp[-3].i), (yyvsp[-1].i)); } -#line 4779 "y.tab.c" /* yacc.c:1646 */ +#line 4781 "y.tab.c" /* yacc.c:1646 */ break; case 314: -#line 2089 "lev_comp.y" /* yacc.c:1646 */ +#line 2091 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = SP_COORD_PACK_RANDOM(0); } -#line 4787 "y.tab.c" /* yacc.c:1646 */ +#line 4789 "y.tab.c" /* yacc.c:1646 */ break; case 315: -#line 2093 "lev_comp.y" /* yacc.c:1646 */ +#line 2095 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = SP_COORD_PACK_RANDOM( (yyvsp[-1].i) ); } -#line 4795 "y.tab.c" /* yacc.c:1646 */ +#line 4797 "y.tab.c" /* yacc.c:1646 */ break; case 316: -#line 2099 "lev_comp.y" /* yacc.c:1646 */ +#line 2101 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].i); } -#line 4803 "y.tab.c" /* yacc.c:1646 */ +#line 4805 "y.tab.c" /* yacc.c:1646 */ break; case 317: -#line 2103 "lev_comp.y" /* yacc.c:1646 */ +#line 2105 "lev_comp.y" /* yacc.c:1646 */ { if (((yyvsp[-2].i) & (yyvsp[0].i))) lc_warning("Humidity flag used twice."); (yyval.i) = ((yyvsp[-2].i) | (yyvsp[0].i)); } -#line 4813 "y.tab.c" /* yacc.c:1646 */ +#line 4815 "y.tab.c" /* yacc.c:1646 */ break; case 318: -#line 2111 "lev_comp.y" /* yacc.c:1646 */ +#line 2113 "lev_comp.y" /* yacc.c:1646 */ { /* nothing */ } -#line 4821 "y.tab.c" /* yacc.c:1646 */ +#line 4823 "y.tab.c" /* yacc.c:1646 */ break; case 319: -#line 2115 "lev_comp.y" /* yacc.c:1646 */ +#line 2117 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_REGION); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4832 "y.tab.c" /* yacc.c:1646 */ +#line 4834 "y.tab.c" /* yacc.c:1646 */ break; case 320: -#line 2122 "lev_comp.y" /* yacc.c:1646 */ +#line 2124 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_REGION|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 4843 "y.tab.c" /* yacc.c:1646 */ +#line 4845 "y.tab.c" /* yacc.c:1646 */ break; case 321: -#line 2131 "lev_comp.y" /* yacc.c:1646 */ +#line 2133 "lev_comp.y" /* yacc.c:1646 */ { long r = SP_REGION_PACK((yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i)); if ( (yyvsp[-7].i) > (yyvsp[-3].i) || (yyvsp[-5].i) > (yyvsp[-1].i) ) @@ -4852,41 +4854,41 @@ yyreduce: add_opvars(splev, "r", VA_PASS1(r)); (yyval.i) = r; } -#line 4856 "y.tab.c" /* yacc.c:1646 */ +#line 4858 "y.tab.c" /* yacc.c:1646 */ break; case 322: -#line 2142 "lev_comp.y" /* yacc.c:1646 */ +#line 2144 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "m", VA_PASS1((yyvsp[0].i))); } -#line 4864 "y.tab.c" /* yacc.c:1646 */ +#line 4866 "y.tab.c" /* yacc.c:1646 */ break; case 323: -#line 2146 "lev_comp.y" /* yacc.c:1646 */ +#line 2148 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_MAPCHAR); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4875 "y.tab.c" /* yacc.c:1646 */ +#line 4877 "y.tab.c" /* yacc.c:1646 */ break; case 324: -#line 2153 "lev_comp.y" /* yacc.c:1646 */ +#line 2155 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_MAPCHAR|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 4886 "y.tab.c" /* yacc.c:1646 */ +#line 4888 "y.tab.c" /* yacc.c:1646 */ break; case 325: -#line 2162 "lev_comp.y" /* yacc.c:1646 */ +#line 2164 "lev_comp.y" /* yacc.c:1646 */ { if (what_map_char((char) (yyvsp[0].i)) != INVALID_TYPE) (yyval.i) = SP_MAPCHAR_PACK(what_map_char((char) (yyvsp[0].i)), -2); @@ -4895,11 +4897,11 @@ yyreduce: (yyval.i) = SP_MAPCHAR_PACK(STONE, -2); } } -#line 4899 "y.tab.c" /* yacc.c:1646 */ +#line 4901 "y.tab.c" /* yacc.c:1646 */ break; case 326: -#line 2171 "lev_comp.y" /* yacc.c:1646 */ +#line 2173 "lev_comp.y" /* yacc.c:1646 */ { if (what_map_char((char) (yyvsp[-3].i)) != INVALID_TYPE) (yyval.i) = SP_MAPCHAR_PACK(what_map_char((char) (yyvsp[-3].i)), (yyvsp[-1].i)); @@ -4908,41 +4910,41 @@ yyreduce: (yyval.i) = SP_MAPCHAR_PACK(STONE, (yyvsp[-1].i)); } } -#line 4912 "y.tab.c" /* yacc.c:1646 */ +#line 4914 "y.tab.c" /* yacc.c:1646 */ break; case 327: -#line 2182 "lev_comp.y" /* yacc.c:1646 */ +#line 2184 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "M", VA_PASS1((yyvsp[0].i))); } -#line 4920 "y.tab.c" /* yacc.c:1646 */ +#line 4922 "y.tab.c" /* yacc.c:1646 */ break; case 328: -#line 2186 "lev_comp.y" /* yacc.c:1646 */ +#line 2188 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_MONST); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 4931 "y.tab.c" /* yacc.c:1646 */ +#line 4933 "y.tab.c" /* yacc.c:1646 */ break; case 329: -#line 2193 "lev_comp.y" /* yacc.c:1646 */ +#line 2195 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_MONST|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 4942 "y.tab.c" /* yacc.c:1646 */ +#line 4944 "y.tab.c" /* yacc.c:1646 */ break; case 330: -#line 2202 "lev_comp.y" /* yacc.c:1646 */ +#line 2204 "lev_comp.y" /* yacc.c:1646 */ { long m = get_monster_id((yyvsp[0].map), (char)0); if (m == ERR) { @@ -4952,11 +4954,11 @@ yyreduce: (yyval.i) = SP_MONST_PACK(m, def_monsyms[(int)mons[m].mlet].sym); Free((yyvsp[0].map)); } -#line 4956 "y.tab.c" /* yacc.c:1646 */ +#line 4958 "y.tab.c" /* yacc.c:1646 */ break; case 331: -#line 2212 "lev_comp.y" /* yacc.c:1646 */ +#line 2214 "lev_comp.y" /* yacc.c:1646 */ { if (check_monster_char((char) (yyvsp[0].i))) (yyval.i) = SP_MONST_PACK(-1, (yyvsp[0].i)); @@ -4965,11 +4967,11 @@ yyreduce: (yyval.i) = -1; } } -#line 4969 "y.tab.c" /* yacc.c:1646 */ +#line 4971 "y.tab.c" /* yacc.c:1646 */ break; case 332: -#line 2221 "lev_comp.y" /* yacc.c:1646 */ +#line 2223 "lev_comp.y" /* yacc.c:1646 */ { long m = get_monster_id((yyvsp[-1].map), (char) (yyvsp[-3].i)); if (m == ERR) { @@ -4979,49 +4981,49 @@ yyreduce: (yyval.i) = SP_MONST_PACK(m, (yyvsp[-3].i)); Free((yyvsp[-1].map)); } -#line 4983 "y.tab.c" /* yacc.c:1646 */ +#line 4985 "y.tab.c" /* yacc.c:1646 */ break; case 333: -#line 2231 "lev_comp.y" /* yacc.c:1646 */ +#line 2233 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = -1; } -#line 4991 "y.tab.c" /* yacc.c:1646 */ +#line 4993 "y.tab.c" /* yacc.c:1646 */ break; case 334: -#line 2237 "lev_comp.y" /* yacc.c:1646 */ +#line 2239 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "O", VA_PASS1((yyvsp[0].i))); } -#line 4999 "y.tab.c" /* yacc.c:1646 */ +#line 5001 "y.tab.c" /* yacc.c:1646 */ break; case 335: -#line 2241 "lev_comp.y" /* yacc.c:1646 */ +#line 2243 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_OBJ); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 5010 "y.tab.c" /* yacc.c:1646 */ +#line 5012 "y.tab.c" /* yacc.c:1646 */ break; case 336: -#line 2248 "lev_comp.y" /* yacc.c:1646 */ +#line 2250 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_OBJ|SPOVAR_ARRAY); vardef_used(variable_definitions, (yyvsp[-3].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map))); Free((yyvsp[-3].map)); } -#line 5021 "y.tab.c" /* yacc.c:1646 */ +#line 5023 "y.tab.c" /* yacc.c:1646 */ break; case 337: -#line 2257 "lev_comp.y" /* yacc.c:1646 */ +#line 2259 "lev_comp.y" /* yacc.c:1646 */ { long m = get_object_id((yyvsp[0].map), (char)0); if (m == ERR) { @@ -5031,11 +5033,11 @@ yyreduce: (yyval.i) = SP_OBJ_PACK(m, 1); /* obj class != 0 to force generation of a specific item */ Free((yyvsp[0].map)); } -#line 5035 "y.tab.c" /* yacc.c:1646 */ +#line 5037 "y.tab.c" /* yacc.c:1646 */ break; case 338: -#line 2267 "lev_comp.y" /* yacc.c:1646 */ +#line 2269 "lev_comp.y" /* yacc.c:1646 */ { if (check_object_char((char) (yyvsp[0].i))) (yyval.i) = SP_OBJ_PACK(-1, (yyvsp[0].i)); @@ -5044,11 +5046,11 @@ yyreduce: (yyval.i) = -1; } } -#line 5048 "y.tab.c" /* yacc.c:1646 */ +#line 5050 "y.tab.c" /* yacc.c:1646 */ break; case 339: -#line 2276 "lev_comp.y" /* yacc.c:1646 */ +#line 2278 "lev_comp.y" /* yacc.c:1646 */ { long m = get_object_id((yyvsp[-1].map), (char) (yyvsp[-3].i)); if (m == ERR) { @@ -5058,57 +5060,57 @@ yyreduce: (yyval.i) = SP_OBJ_PACK(m, (yyvsp[-3].i)); Free((yyvsp[-1].map)); } -#line 5062 "y.tab.c" /* yacc.c:1646 */ +#line 5064 "y.tab.c" /* yacc.c:1646 */ break; case 340: -#line 2286 "lev_comp.y" /* yacc.c:1646 */ +#line 2288 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = -1; } -#line 5070 "y.tab.c" /* yacc.c:1646 */ +#line 5072 "y.tab.c" /* yacc.c:1646 */ break; case 341: -#line 2292 "lev_comp.y" /* yacc.c:1646 */ +#line 2294 "lev_comp.y" /* yacc.c:1646 */ { } -#line 5076 "y.tab.c" /* yacc.c:1646 */ +#line 5078 "y.tab.c" /* yacc.c:1646 */ break; case 342: -#line 2294 "lev_comp.y" /* yacc.c:1646 */ +#line 2296 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_ADD)); } -#line 5084 "y.tab.c" /* yacc.c:1646 */ +#line 5086 "y.tab.c" /* yacc.c:1646 */ break; case 343: -#line 2300 "lev_comp.y" /* yacc.c:1646 */ +#line 2302 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1((yyvsp[0].i))); } -#line 5092 "y.tab.c" /* yacc.c:1646 */ +#line 5094 "y.tab.c" /* yacc.c:1646 */ break; case 344: -#line 2304 "lev_comp.y" /* yacc.c:1646 */ +#line 2306 "lev_comp.y" /* yacc.c:1646 */ { is_inconstant_number = 1; } -#line 5100 "y.tab.c" /* yacc.c:1646 */ +#line 5102 "y.tab.c" /* yacc.c:1646 */ break; case 345: -#line 2308 "lev_comp.y" /* yacc.c:1646 */ +#line 2310 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1((yyvsp[-1].i))); } -#line 5108 "y.tab.c" /* yacc.c:1646 */ +#line 5110 "y.tab.c" /* yacc.c:1646 */ break; case 346: -#line 2312 "lev_comp.y" /* yacc.c:1646 */ +#line 2314 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_INT); vardef_used(variable_definitions, (yyvsp[0].map)); @@ -5116,11 +5118,11 @@ yyreduce: Free((yyvsp[0].map)); is_inconstant_number = 1; } -#line 5120 "y.tab.c" /* yacc.c:1646 */ +#line 5122 "y.tab.c" /* yacc.c:1646 */ break; case 347: -#line 2320 "lev_comp.y" /* yacc.c:1646 */ +#line 2322 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[-3].map), SPOVAR_INT|SPOVAR_ARRAY); @@ -5129,79 +5131,79 @@ yyreduce: Free((yyvsp[-3].map)); is_inconstant_number = 1; } -#line 5133 "y.tab.c" /* yacc.c:1646 */ +#line 5135 "y.tab.c" /* yacc.c:1646 */ break; case 348: -#line 2329 "lev_comp.y" /* yacc.c:1646 */ +#line 2331 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_ADD)); } -#line 5141 "y.tab.c" /* yacc.c:1646 */ +#line 5143 "y.tab.c" /* yacc.c:1646 */ break; case 349: -#line 2333 "lev_comp.y" /* yacc.c:1646 */ +#line 2335 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_SUB)); } -#line 5149 "y.tab.c" /* yacc.c:1646 */ +#line 5151 "y.tab.c" /* yacc.c:1646 */ break; case 350: -#line 2337 "lev_comp.y" /* yacc.c:1646 */ +#line 2339 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_MUL)); } -#line 5157 "y.tab.c" /* yacc.c:1646 */ +#line 5159 "y.tab.c" /* yacc.c:1646 */ break; case 351: -#line 2341 "lev_comp.y" /* yacc.c:1646 */ +#line 2343 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_DIV)); } -#line 5165 "y.tab.c" /* yacc.c:1646 */ +#line 5167 "y.tab.c" /* yacc.c:1646 */ break; case 352: -#line 2345 "lev_comp.y" /* yacc.c:1646 */ +#line 2347 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_MATH_MOD)); } -#line 5173 "y.tab.c" /* yacc.c:1646 */ +#line 5175 "y.tab.c" /* yacc.c:1646 */ break; case 353: -#line 2348 "lev_comp.y" /* yacc.c:1646 */ +#line 2350 "lev_comp.y" /* yacc.c:1646 */ { } -#line 5179 "y.tab.c" /* yacc.c:1646 */ +#line 5181 "y.tab.c" /* yacc.c:1646 */ break; case 354: -#line 2352 "lev_comp.y" /* yacc.c:1646 */ +#line 2354 "lev_comp.y" /* yacc.c:1646 */ { if (!strcmp("int", (yyvsp[0].map)) || !strcmp("integer", (yyvsp[0].map))) { (yyval.i) = (int)'i'; } else lc_error("Unknown function parameter type '%s'", (yyvsp[0].map)); } -#line 5190 "y.tab.c" /* yacc.c:1646 */ +#line 5192 "y.tab.c" /* yacc.c:1646 */ break; case 355: -#line 2359 "lev_comp.y" /* yacc.c:1646 */ +#line 2361 "lev_comp.y" /* yacc.c:1646 */ { if (!strcmp("str", (yyvsp[0].map)) || !strcmp("string", (yyvsp[0].map))) { (yyval.i) = (int)'s'; } else lc_error("Unknown function parameter type '%s'", (yyvsp[0].map)); } -#line 5201 "y.tab.c" /* yacc.c:1646 */ +#line 5203 "y.tab.c" /* yacc.c:1646 */ break; case 356: -#line 2368 "lev_comp.y" /* yacc.c:1646 */ +#line 2370 "lev_comp.y" /* yacc.c:1646 */ { struct lc_funcdefs_parm *tmp = New(struct lc_funcdefs_parm); @@ -5227,38 +5229,38 @@ yyreduce: } Free((yyvsp[-2].map)); } -#line 5231 "y.tab.c" /* yacc.c:1646 */ +#line 5233 "y.tab.c" /* yacc.c:1646 */ break; case 361: -#line 2404 "lev_comp.y" /* yacc.c:1646 */ +#line 2406 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (int)'i'; } -#line 5239 "y.tab.c" /* yacc.c:1646 */ +#line 5241 "y.tab.c" /* yacc.c:1646 */ break; case 362: -#line 2408 "lev_comp.y" /* yacc.c:1646 */ +#line 2410 "lev_comp.y" /* yacc.c:1646 */ { (yyval.i) = (int)'s'; } -#line 5247 "y.tab.c" /* yacc.c:1646 */ +#line 5249 "y.tab.c" /* yacc.c:1646 */ break; case 363: -#line 2415 "lev_comp.y" /* yacc.c:1646 */ +#line 2417 "lev_comp.y" /* yacc.c:1646 */ { char tmpbuf[2]; tmpbuf[0] = (char) (yyvsp[0].i); tmpbuf[1] = '\0'; (yyval.map) = strdup(tmpbuf); } -#line 5258 "y.tab.c" /* yacc.c:1646 */ +#line 5260 "y.tab.c" /* yacc.c:1646 */ break; case 364: -#line 2422 "lev_comp.y" /* yacc.c:1646 */ +#line 2424 "lev_comp.y" /* yacc.c:1646 */ { long len = strlen( (yyvsp[-2].map) ); char *tmp = (char *)alloc(len + 2); @@ -5266,256 +5268,256 @@ yyreduce: Free( (yyvsp[-2].map) ); (yyval.map) = tmp; } -#line 5270 "y.tab.c" /* yacc.c:1646 */ +#line 5272 "y.tab.c" /* yacc.c:1646 */ break; case 365: -#line 2432 "lev_comp.y" /* yacc.c:1646 */ +#line 2434 "lev_comp.y" /* yacc.c:1646 */ { (yyval.map) = strdup(""); } -#line 5278 "y.tab.c" /* yacc.c:1646 */ +#line 5280 "y.tab.c" /* yacc.c:1646 */ break; case 366: -#line 2436 "lev_comp.y" /* yacc.c:1646 */ +#line 2438 "lev_comp.y" /* yacc.c:1646 */ { char *tmp = strdup( (yyvsp[0].map) ); Free( (yyvsp[0].map) ); (yyval.map) = tmp; } -#line 5288 "y.tab.c" /* yacc.c:1646 */ +#line 5290 "y.tab.c" /* yacc.c:1646 */ break; case 367: -#line 2444 "lev_comp.y" /* yacc.c:1646 */ +#line 2446 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_POINT)); } -#line 5296 "y.tab.c" /* yacc.c:1646 */ +#line 5298 "y.tab.c" /* yacc.c:1646 */ break; case 368: -#line 2448 "lev_comp.y" /* yacc.c:1646 */ +#line 2450 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_RECT)); } -#line 5304 "y.tab.c" /* yacc.c:1646 */ +#line 5306 "y.tab.c" /* yacc.c:1646 */ break; case 369: -#line 2452 "lev_comp.y" /* yacc.c:1646 */ +#line 2454 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_FILLRECT)); } -#line 5312 "y.tab.c" /* yacc.c:1646 */ +#line 5314 "y.tab.c" /* yacc.c:1646 */ break; case 370: -#line 2456 "lev_comp.y" /* yacc.c:1646 */ +#line 2458 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_LINE)); } -#line 5320 "y.tab.c" /* yacc.c:1646 */ +#line 5322 "y.tab.c" /* yacc.c:1646 */ break; case 371: -#line 2460 "lev_comp.y" /* yacc.c:1646 */ +#line 2462 "lev_comp.y" /* yacc.c:1646 */ { /* randline (x1,y1),(x2,y2), roughness */ add_opvars(splev, "o", VA_PASS1(SPO_SEL_RNDLINE)); } -#line 5329 "y.tab.c" /* yacc.c:1646 */ +#line 5331 "y.tab.c" /* yacc.c:1646 */ break; case 372: -#line 2465 "lev_comp.y" /* yacc.c:1646 */ +#line 2467 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(W_ANY, SPO_SEL_GROW)); } -#line 5337 "y.tab.c" /* yacc.c:1646 */ +#line 5339 "y.tab.c" /* yacc.c:1646 */ break; case 373: -#line 2469 "lev_comp.y" /* yacc.c:1646 */ +#line 2471 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((yyvsp[-3].i), SPO_SEL_GROW)); } -#line 5345 "y.tab.c" /* yacc.c:1646 */ +#line 5347 "y.tab.c" /* yacc.c:1646 */ break; case 374: -#line 2473 "lev_comp.y" /* yacc.c:1646 */ +#line 2475 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iio", VA_PASS3((yyvsp[-3].i), SPOFILTER_PERCENT, SPO_SEL_FILTER)); } -#line 5354 "y.tab.c" /* yacc.c:1646 */ +#line 5356 "y.tab.c" /* yacc.c:1646 */ break; case 375: -#line 2478 "lev_comp.y" /* yacc.c:1646 */ +#line 2480 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(SPOFILTER_SELECTION, SPO_SEL_FILTER)); } -#line 5363 "y.tab.c" /* yacc.c:1646 */ +#line 5365 "y.tab.c" /* yacc.c:1646 */ break; case 376: -#line 2483 "lev_comp.y" /* yacc.c:1646 */ +#line 2485 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(SPOFILTER_MAPCHAR, SPO_SEL_FILTER)); } -#line 5372 "y.tab.c" /* yacc.c:1646 */ +#line 5374 "y.tab.c" /* yacc.c:1646 */ break; case 377: -#line 2488 "lev_comp.y" /* yacc.c:1646 */ +#line 2490 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_FLOOD)); } -#line 5380 "y.tab.c" /* yacc.c:1646 */ +#line 5382 "y.tab.c" /* yacc.c:1646 */ break; case 378: -#line 2492 "lev_comp.y" /* yacc.c:1646 */ +#line 2494 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "oio", VA_PASS3(SPO_COPY, 1, SPO_SEL_ELLIPSE)); } -#line 5389 "y.tab.c" /* yacc.c:1646 */ +#line 5391 "y.tab.c" /* yacc.c:1646 */ break; case 379: -#line 2497 "lev_comp.y" /* yacc.c:1646 */ +#line 2499 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "oio", VA_PASS3(SPO_COPY, (yyvsp[-1].i), SPO_SEL_ELLIPSE)); } -#line 5398 "y.tab.c" /* yacc.c:1646 */ +#line 5400 "y.tab.c" /* yacc.c:1646 */ break; case 380: -#line 2502 "lev_comp.y" /* yacc.c:1646 */ +#line 2504 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2(1, SPO_SEL_ELLIPSE)); } -#line 5406 "y.tab.c" /* yacc.c:1646 */ +#line 5408 "y.tab.c" /* yacc.c:1646 */ break; case 381: -#line 2506 "lev_comp.y" /* yacc.c:1646 */ +#line 2508 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "io", VA_PASS2((yyvsp[-1].i), SPO_SEL_ELLIPSE)); } -#line 5414 "y.tab.c" /* yacc.c:1646 */ +#line 5416 "y.tab.c" /* yacc.c:1646 */ break; case 382: -#line 2510 "lev_comp.y" /* yacc.c:1646 */ +#line 2512 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iio", VA_PASS3((yyvsp[-5].i), (yyvsp[-11].i), SPO_SEL_GRADIENT)); } -#line 5423 "y.tab.c" /* yacc.c:1646 */ +#line 5425 "y.tab.c" /* yacc.c:1646 */ break; case 383: -#line 2515 "lev_comp.y" /* yacc.c:1646 */ +#line 2517 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_COMPLEMENT)); } -#line 5431 "y.tab.c" /* yacc.c:1646 */ +#line 5433 "y.tab.c" /* yacc.c:1646 */ break; case 384: -#line 2519 "lev_comp.y" /* yacc.c:1646 */ +#line 2521 "lev_comp.y" /* yacc.c:1646 */ { check_vardef_type(variable_definitions, (yyvsp[0].map), SPOVAR_SEL); vardef_used(variable_definitions, (yyvsp[0].map)); add_opvars(splev, "v", VA_PASS1((yyvsp[0].map))); Free((yyvsp[0].map)); } -#line 5442 "y.tab.c" /* yacc.c:1646 */ +#line 5444 "y.tab.c" /* yacc.c:1646 */ break; case 385: -#line 2526 "lev_comp.y" /* yacc.c:1646 */ +#line 2528 "lev_comp.y" /* yacc.c:1646 */ { /* nothing */ } -#line 5450 "y.tab.c" /* yacc.c:1646 */ +#line 5452 "y.tab.c" /* yacc.c:1646 */ break; case 386: -#line 2532 "lev_comp.y" /* yacc.c:1646 */ +#line 2534 "lev_comp.y" /* yacc.c:1646 */ { /* nothing */ } -#line 5458 "y.tab.c" /* yacc.c:1646 */ +#line 5460 "y.tab.c" /* yacc.c:1646 */ break; case 387: -#line 2536 "lev_comp.y" /* yacc.c:1646 */ +#line 2538 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "o", VA_PASS1(SPO_SEL_ADD)); } -#line 5466 "y.tab.c" /* yacc.c:1646 */ +#line 5468 "y.tab.c" /* yacc.c:1646 */ break; case 388: -#line 2542 "lev_comp.y" /* yacc.c:1646 */ +#line 2544 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "iio", VA_PASS3((yyvsp[0].dice).num, (yyvsp[0].dice).die, SPO_DICE)); } -#line 5475 "y.tab.c" /* yacc.c:1646 */ +#line 5477 "y.tab.c" /* yacc.c:1646 */ break; case 392: -#line 2554 "lev_comp.y" /* yacc.c:1646 */ +#line 2556 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1((yyvsp[0].i))); } -#line 5483 "y.tab.c" /* yacc.c:1646 */ +#line 5485 "y.tab.c" /* yacc.c:1646 */ break; case 393: -#line 2558 "lev_comp.y" /* yacc.c:1646 */ +#line 2560 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1((yyvsp[0].i))); } -#line 5491 "y.tab.c" /* yacc.c:1646 */ +#line 5493 "y.tab.c" /* yacc.c:1646 */ break; case 394: -#line 2562 "lev_comp.y" /* yacc.c:1646 */ +#line 2564 "lev_comp.y" /* yacc.c:1646 */ { add_opvars(splev, "i", VA_PASS1((yyvsp[0].i))); } -#line 5499 "y.tab.c" /* yacc.c:1646 */ +#line 5501 "y.tab.c" /* yacc.c:1646 */ break; case 395: -#line 2566 "lev_comp.y" /* yacc.c:1646 */ +#line 2568 "lev_comp.y" /* yacc.c:1646 */ { /* nothing */ } -#line 5507 "y.tab.c" /* yacc.c:1646 */ +#line 5509 "y.tab.c" /* yacc.c:1646 */ break; case 404: -#line 2588 "lev_comp.y" /* yacc.c:1646 */ +#line 2590 "lev_comp.y" /* yacc.c:1646 */ { (yyval.lregn) = (yyvsp[0].lregn); } -#line 5515 "y.tab.c" /* yacc.c:1646 */ +#line 5517 "y.tab.c" /* yacc.c:1646 */ break; case 405: -#line 2592 "lev_comp.y" /* yacc.c:1646 */ +#line 2594 "lev_comp.y" /* yacc.c:1646 */ { if ((yyvsp[-7].i) <= 0 || (yyvsp[-7].i) >= COLNO) lc_error("Region (%li,%li,%li,%li) out of level range (x1)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i)); @@ -5531,11 +5533,11 @@ yyreduce: (yyval.lregn).y2 = (yyvsp[-1].i); (yyval.lregn).area = 1; } -#line 5535 "y.tab.c" /* yacc.c:1646 */ +#line 5537 "y.tab.c" /* yacc.c:1646 */ break; case 406: -#line 2610 "lev_comp.y" /* yacc.c:1646 */ +#line 2612 "lev_comp.y" /* yacc.c:1646 */ { /* This series of if statements is a hack for MSC 5.1. It seems that its tiny little brain cannot compile if these are all one big if statement. */ @@ -5553,11 +5555,11 @@ yyreduce: (yyval.lregn).x2 = (yyvsp[-3].i); (yyval.lregn).y2 = (yyvsp[-1].i); } -#line 5557 "y.tab.c" /* yacc.c:1646 */ +#line 5559 "y.tab.c" /* yacc.c:1646 */ break; -#line 5561 "y.tab.c" /* yacc.c:1646 */ +#line 5563 "y.tab.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -5785,7 +5787,7 @@ yyreturn: #endif return yyresult; } -#line 2630 "lev_comp.y" /* yacc.c:1906 */ +#line 2632 "lev_comp.y" /* yacc.c:1906 */ /*lev_comp.y*/