452 lines
11 KiB
C
452 lines
11 KiB
C
|
|
/* A Bison parser, made by GNU Bison 2.4.1. */
|
|
|
|
/* Skeleton interface for Bison's Yacc-like parsers in C
|
|
|
|
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
|
Free Software Foundation, Inc.
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
/* As a special exception, you may create a larger work that contains
|
|
part or all of the Bison parser skeleton and distribute that work
|
|
under terms of your choice, so long as that work isn't itself a
|
|
parser generator using the skeleton or a modified version thereof
|
|
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
the parser skeleton itself, you may (at your option) remove this
|
|
special exception, which will cause the skeleton and the resulting
|
|
Bison output files to be licensed under the GNU General Public
|
|
License without this special exception.
|
|
|
|
This special exception was added by the Free Software Foundation in
|
|
version 2.2 of Bison. */
|
|
|
|
|
|
/* Tokens. */
|
|
#ifndef YYTOKENTYPE
|
|
# define YYTOKENTYPE
|
|
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
|
know about them. */
|
|
enum yytokentype {
|
|
CHAR = 258,
|
|
INTEGER = 259,
|
|
BOOLEAN = 260,
|
|
PERCENT = 261,
|
|
SPERCENT = 262,
|
|
MINUS_INTEGER = 263,
|
|
PLUS_INTEGER = 264,
|
|
MAZE_GRID_ID = 265,
|
|
SOLID_FILL_ID = 266,
|
|
MINES_ID = 267,
|
|
ROGUELEV_ID = 268,
|
|
MESSAGE_ID = 269,
|
|
MAZE_ID = 270,
|
|
LEVEL_ID = 271,
|
|
LEV_INIT_ID = 272,
|
|
GEOMETRY_ID = 273,
|
|
NOMAP_ID = 274,
|
|
OBJECT_ID = 275,
|
|
COBJECT_ID = 276,
|
|
MONSTER_ID = 277,
|
|
TRAP_ID = 278,
|
|
DOOR_ID = 279,
|
|
DRAWBRIDGE_ID = 280,
|
|
object_ID = 281,
|
|
monster_ID = 282,
|
|
terrain_ID = 283,
|
|
MAZEWALK_ID = 284,
|
|
WALLIFY_ID = 285,
|
|
REGION_ID = 286,
|
|
FILLING = 287,
|
|
IRREGULAR = 288,
|
|
JOINED = 289,
|
|
ALTAR_ID = 290,
|
|
LADDER_ID = 291,
|
|
STAIR_ID = 292,
|
|
NON_DIGGABLE_ID = 293,
|
|
NON_PASSWALL_ID = 294,
|
|
ROOM_ID = 295,
|
|
PORTAL_ID = 296,
|
|
TELEPRT_ID = 297,
|
|
BRANCH_ID = 298,
|
|
LEV = 299,
|
|
MINERALIZE_ID = 300,
|
|
CORRIDOR_ID = 301,
|
|
GOLD_ID = 302,
|
|
ENGRAVING_ID = 303,
|
|
FOUNTAIN_ID = 304,
|
|
POOL_ID = 305,
|
|
SINK_ID = 306,
|
|
NONE = 307,
|
|
RAND_CORRIDOR_ID = 308,
|
|
DOOR_STATE = 309,
|
|
LIGHT_STATE = 310,
|
|
CURSE_TYPE = 311,
|
|
ENGRAVING_TYPE = 312,
|
|
DIRECTION = 313,
|
|
RANDOM_TYPE = 314,
|
|
RANDOM_TYPE_BRACKET = 315,
|
|
A_REGISTER = 316,
|
|
ALIGNMENT = 317,
|
|
LEFT_OR_RIGHT = 318,
|
|
CENTER = 319,
|
|
TOP_OR_BOT = 320,
|
|
ALTAR_TYPE = 321,
|
|
UP_OR_DOWN = 322,
|
|
SUBROOM_ID = 323,
|
|
NAME_ID = 324,
|
|
FLAGS_ID = 325,
|
|
FLAG_TYPE = 326,
|
|
MON_ATTITUDE = 327,
|
|
MON_ALERTNESS = 328,
|
|
MON_APPEARANCE = 329,
|
|
ROOMDOOR_ID = 330,
|
|
IF_ID = 331,
|
|
ELSE_ID = 332,
|
|
TERRAIN_ID = 333,
|
|
HORIZ_OR_VERT = 334,
|
|
REPLACE_TERRAIN_ID = 335,
|
|
EXIT_ID = 336,
|
|
SHUFFLE_ID = 337,
|
|
QUANTITY_ID = 338,
|
|
BURIED_ID = 339,
|
|
LOOP_ID = 340,
|
|
FOR_ID = 341,
|
|
TO_ID = 342,
|
|
SWITCH_ID = 343,
|
|
CASE_ID = 344,
|
|
BREAK_ID = 345,
|
|
DEFAULT_ID = 346,
|
|
ERODED_ID = 347,
|
|
TRAPPED_ID = 348,
|
|
RECHARGED_ID = 349,
|
|
INVIS_ID = 350,
|
|
GREASED_ID = 351,
|
|
FEMALE_ID = 352,
|
|
CANCELLED_ID = 353,
|
|
REVIVED_ID = 354,
|
|
AVENGE_ID = 355,
|
|
FLEEING_ID = 356,
|
|
BLINDED_ID = 357,
|
|
PARALYZED_ID = 358,
|
|
STUNNED_ID = 359,
|
|
CONFUSED_ID = 360,
|
|
SEENTRAPS_ID = 361,
|
|
ALL_ID = 362,
|
|
MONTYPE_ID = 363,
|
|
GRAVE_ID = 364,
|
|
ERODEPROOF_ID = 365,
|
|
FUNCTION_ID = 366,
|
|
MSG_OUTPUT_TYPE = 367,
|
|
COMPARE_TYPE = 368,
|
|
UNKNOWN_TYPE = 369,
|
|
rect_ID = 370,
|
|
fillrect_ID = 371,
|
|
line_ID = 372,
|
|
randline_ID = 373,
|
|
grow_ID = 374,
|
|
selection_ID = 375,
|
|
flood_ID = 376,
|
|
rndcoord_ID = 377,
|
|
circle_ID = 378,
|
|
ellipse_ID = 379,
|
|
filter_ID = 380,
|
|
complement_ID = 381,
|
|
gradient_ID = 382,
|
|
GRADIENT_TYPE = 383,
|
|
LIMITED = 384,
|
|
HUMIDITY_TYPE = 385,
|
|
STRING = 386,
|
|
MAP_ID = 387,
|
|
NQSTRING = 388,
|
|
VARSTRING = 389,
|
|
CFUNC = 390,
|
|
CFUNC_INT = 391,
|
|
CFUNC_STR = 392,
|
|
CFUNC_COORD = 393,
|
|
CFUNC_REGION = 394,
|
|
VARSTRING_INT = 395,
|
|
VARSTRING_INT_ARRAY = 396,
|
|
VARSTRING_STRING = 397,
|
|
VARSTRING_STRING_ARRAY = 398,
|
|
VARSTRING_VAR = 399,
|
|
VARSTRING_VAR_ARRAY = 400,
|
|
VARSTRING_COORD = 401,
|
|
VARSTRING_COORD_ARRAY = 402,
|
|
VARSTRING_REGION = 403,
|
|
VARSTRING_REGION_ARRAY = 404,
|
|
VARSTRING_MAPCHAR = 405,
|
|
VARSTRING_MAPCHAR_ARRAY = 406,
|
|
VARSTRING_MONST = 407,
|
|
VARSTRING_MONST_ARRAY = 408,
|
|
VARSTRING_OBJ = 409,
|
|
VARSTRING_OBJ_ARRAY = 410,
|
|
VARSTRING_SEL = 411,
|
|
VARSTRING_SEL_ARRAY = 412,
|
|
METHOD_INT = 413,
|
|
METHOD_INT_ARRAY = 414,
|
|
METHOD_STRING = 415,
|
|
METHOD_STRING_ARRAY = 416,
|
|
METHOD_VAR = 417,
|
|
METHOD_VAR_ARRAY = 418,
|
|
METHOD_COORD = 419,
|
|
METHOD_COORD_ARRAY = 420,
|
|
METHOD_REGION = 421,
|
|
METHOD_REGION_ARRAY = 422,
|
|
METHOD_MAPCHAR = 423,
|
|
METHOD_MAPCHAR_ARRAY = 424,
|
|
METHOD_MONST = 425,
|
|
METHOD_MONST_ARRAY = 426,
|
|
METHOD_OBJ = 427,
|
|
METHOD_OBJ_ARRAY = 428,
|
|
METHOD_SEL = 429,
|
|
METHOD_SEL_ARRAY = 430,
|
|
DICE = 431
|
|
};
|
|
#endif
|
|
/* Tokens. */
|
|
#define CHAR 258
|
|
#define INTEGER 259
|
|
#define BOOLEAN 260
|
|
#define PERCENT 261
|
|
#define SPERCENT 262
|
|
#define MINUS_INTEGER 263
|
|
#define PLUS_INTEGER 264
|
|
#define MAZE_GRID_ID 265
|
|
#define SOLID_FILL_ID 266
|
|
#define MINES_ID 267
|
|
#define ROGUELEV_ID 268
|
|
#define MESSAGE_ID 269
|
|
#define MAZE_ID 270
|
|
#define LEVEL_ID 271
|
|
#define LEV_INIT_ID 272
|
|
#define GEOMETRY_ID 273
|
|
#define NOMAP_ID 274
|
|
#define OBJECT_ID 275
|
|
#define COBJECT_ID 276
|
|
#define MONSTER_ID 277
|
|
#define TRAP_ID 278
|
|
#define DOOR_ID 279
|
|
#define DRAWBRIDGE_ID 280
|
|
#define object_ID 281
|
|
#define monster_ID 282
|
|
#define terrain_ID 283
|
|
#define MAZEWALK_ID 284
|
|
#define WALLIFY_ID 285
|
|
#define REGION_ID 286
|
|
#define FILLING 287
|
|
#define IRREGULAR 288
|
|
#define JOINED 289
|
|
#define ALTAR_ID 290
|
|
#define LADDER_ID 291
|
|
#define STAIR_ID 292
|
|
#define NON_DIGGABLE_ID 293
|
|
#define NON_PASSWALL_ID 294
|
|
#define ROOM_ID 295
|
|
#define PORTAL_ID 296
|
|
#define TELEPRT_ID 297
|
|
#define BRANCH_ID 298
|
|
#define LEV 299
|
|
#define MINERALIZE_ID 300
|
|
#define CORRIDOR_ID 301
|
|
#define GOLD_ID 302
|
|
#define ENGRAVING_ID 303
|
|
#define FOUNTAIN_ID 304
|
|
#define POOL_ID 305
|
|
#define SINK_ID 306
|
|
#define NONE 307
|
|
#define RAND_CORRIDOR_ID 308
|
|
#define DOOR_STATE 309
|
|
#define LIGHT_STATE 310
|
|
#define CURSE_TYPE 311
|
|
#define ENGRAVING_TYPE 312
|
|
#define DIRECTION 313
|
|
#define RANDOM_TYPE 314
|
|
#define RANDOM_TYPE_BRACKET 315
|
|
#define A_REGISTER 316
|
|
#define ALIGNMENT 317
|
|
#define LEFT_OR_RIGHT 318
|
|
#define CENTER 319
|
|
#define TOP_OR_BOT 320
|
|
#define ALTAR_TYPE 321
|
|
#define UP_OR_DOWN 322
|
|
#define SUBROOM_ID 323
|
|
#define NAME_ID 324
|
|
#define FLAGS_ID 325
|
|
#define FLAG_TYPE 326
|
|
#define MON_ATTITUDE 327
|
|
#define MON_ALERTNESS 328
|
|
#define MON_APPEARANCE 329
|
|
#define ROOMDOOR_ID 330
|
|
#define IF_ID 331
|
|
#define ELSE_ID 332
|
|
#define TERRAIN_ID 333
|
|
#define HORIZ_OR_VERT 334
|
|
#define REPLACE_TERRAIN_ID 335
|
|
#define EXIT_ID 336
|
|
#define SHUFFLE_ID 337
|
|
#define QUANTITY_ID 338
|
|
#define BURIED_ID 339
|
|
#define LOOP_ID 340
|
|
#define FOR_ID 341
|
|
#define TO_ID 342
|
|
#define SWITCH_ID 343
|
|
#define CASE_ID 344
|
|
#define BREAK_ID 345
|
|
#define DEFAULT_ID 346
|
|
#define ERODED_ID 347
|
|
#define TRAPPED_ID 348
|
|
#define RECHARGED_ID 349
|
|
#define INVIS_ID 350
|
|
#define GREASED_ID 351
|
|
#define FEMALE_ID 352
|
|
#define CANCELLED_ID 353
|
|
#define REVIVED_ID 354
|
|
#define AVENGE_ID 355
|
|
#define FLEEING_ID 356
|
|
#define BLINDED_ID 357
|
|
#define PARALYZED_ID 358
|
|
#define STUNNED_ID 359
|
|
#define CONFUSED_ID 360
|
|
#define SEENTRAPS_ID 361
|
|
#define ALL_ID 362
|
|
#define MONTYPE_ID 363
|
|
#define GRAVE_ID 364
|
|
#define ERODEPROOF_ID 365
|
|
#define FUNCTION_ID 366
|
|
#define MSG_OUTPUT_TYPE 367
|
|
#define COMPARE_TYPE 368
|
|
#define UNKNOWN_TYPE 369
|
|
#define rect_ID 370
|
|
#define fillrect_ID 371
|
|
#define line_ID 372
|
|
#define randline_ID 373
|
|
#define grow_ID 374
|
|
#define selection_ID 375
|
|
#define flood_ID 376
|
|
#define rndcoord_ID 377
|
|
#define circle_ID 378
|
|
#define ellipse_ID 379
|
|
#define filter_ID 380
|
|
#define complement_ID 381
|
|
#define gradient_ID 382
|
|
#define GRADIENT_TYPE 383
|
|
#define LIMITED 384
|
|
#define HUMIDITY_TYPE 385
|
|
#define STRING 386
|
|
#define MAP_ID 387
|
|
#define NQSTRING 388
|
|
#define VARSTRING 389
|
|
#define CFUNC 390
|
|
#define CFUNC_INT 391
|
|
#define CFUNC_STR 392
|
|
#define CFUNC_COORD 393
|
|
#define CFUNC_REGION 394
|
|
#define VARSTRING_INT 395
|
|
#define VARSTRING_INT_ARRAY 396
|
|
#define VARSTRING_STRING 397
|
|
#define VARSTRING_STRING_ARRAY 398
|
|
#define VARSTRING_VAR 399
|
|
#define VARSTRING_VAR_ARRAY 400
|
|
#define VARSTRING_COORD 401
|
|
#define VARSTRING_COORD_ARRAY 402
|
|
#define VARSTRING_REGION 403
|
|
#define VARSTRING_REGION_ARRAY 404
|
|
#define VARSTRING_MAPCHAR 405
|
|
#define VARSTRING_MAPCHAR_ARRAY 406
|
|
#define VARSTRING_MONST 407
|
|
#define VARSTRING_MONST_ARRAY 408
|
|
#define VARSTRING_OBJ 409
|
|
#define VARSTRING_OBJ_ARRAY 410
|
|
#define VARSTRING_SEL 411
|
|
#define VARSTRING_SEL_ARRAY 412
|
|
#define METHOD_INT 413
|
|
#define METHOD_INT_ARRAY 414
|
|
#define METHOD_STRING 415
|
|
#define METHOD_STRING_ARRAY 416
|
|
#define METHOD_VAR 417
|
|
#define METHOD_VAR_ARRAY 418
|
|
#define METHOD_COORD 419
|
|
#define METHOD_COORD_ARRAY 420
|
|
#define METHOD_REGION 421
|
|
#define METHOD_REGION_ARRAY 422
|
|
#define METHOD_MAPCHAR 423
|
|
#define METHOD_MAPCHAR_ARRAY 424
|
|
#define METHOD_MONST 425
|
|
#define METHOD_MONST_ARRAY 426
|
|
#define METHOD_OBJ 427
|
|
#define METHOD_OBJ_ARRAY 428
|
|
#define METHOD_SEL 429
|
|
#define METHOD_SEL_ARRAY 430
|
|
#define DICE 431
|
|
|
|
|
|
|
|
|
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
typedef union YYSTYPE
|
|
{
|
|
|
|
/* Line 1676 of yacc.c */
|
|
#line 149 "lev_comp.y"
|
|
|
|
long i;
|
|
char* map;
|
|
struct {
|
|
long room;
|
|
long wall;
|
|
long door;
|
|
} corpos;
|
|
struct {
|
|
long area;
|
|
long x1;
|
|
long y1;
|
|
long x2;
|
|
long y2;
|
|
} lregn;
|
|
struct {
|
|
long x;
|
|
long y;
|
|
} crd;
|
|
struct {
|
|
long ter;
|
|
long lit;
|
|
} terr;
|
|
struct {
|
|
long height;
|
|
long width;
|
|
} sze;
|
|
struct {
|
|
long die;
|
|
long num;
|
|
} dice;
|
|
struct {
|
|
long cfunc;
|
|
char *varstr;
|
|
} meth;
|
|
|
|
|
|
|
|
/* Line 1676 of yacc.c */
|
|
#line 443 "y.tab.h"
|
|
} YYSTYPE;
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
#endif
|
|
|
|
extern YYSTYPE yylval;
|
|
|
|
|