]> granicus.if.org Git - nethack/commitdiff
Update precompiled lev_comp lex and yacc files
authorPasi Kallinen <paxed@alt.org>
Wed, 2 Dec 2015 16:33:44 +0000 (18:33 +0200)
committerPasi Kallinen <paxed@alt.org>
Wed, 2 Dec 2015 16:33:44 +0000 (18:33 +0200)
sys/share/lev_lex.c
sys/share/lev_yacc.c

index 4b2b27df7857d11b33aba6bd78e7909342154c6a..6848c36621ed73282b87df8e813ed68a3afde6d3 100644 (file)
@@ -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*/
index 621684bd2a2a58f85e90e8e67ae4521ba02af08b..2beac8408ee74ff621d70a7b9f15dfead76013c4 100644 (file)
@@ -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*/