-/* A Bison parser, made by GNU Bison 3.0.2. */
-
-/* Bison implementation for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2013 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. */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "3.0.2"
-
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers. */
-#define YYPURE 0
-
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
-
-
-
-/* Copy the first part of user declarations. */
-#line 1 "lev_comp.y" /* yacc.c:339 */
-
-/* NetHack 3.6 lev_comp.y $NHDT-Date: 1448074095 2015/11/21 02:48:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.18 $ */
+#ifndef lint
+/* static char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; */
+/* static char nhsccsid[] = "@(#)yaccpar 1.9.0-nh (NetHack) 12/03/2015"; */
+#endif
+#define YYBYACC 1
+#define YYMAJOR 1
+#define YYMINOR 9
+#define YYSUBMINOR "0-nh"
+
+#define yyclearin (yychar=(-1))
+#define yyerrok (yyerrflag=0)
+#define YYRECOVERING (yyerrflag!=0)
+#define YYPREFIX "yy"
+/* NetHack 3.6 lev_comp.y $NHDT-Date: 1449233826 2015/12/04 12:57:06 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.19 $ */
/* Copyright (c) 1989 by Jean-Christophe Collet */
/* NetHack may be freely redistributed. See license for details. */
extern char curr_token[512];
-
-#line 211 "y.tab.c" /* yacc.c:339 */
-
-# ifndef YY_NULLPTR
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULLPTR nullptr
-# else
-# define YY_NULLPTR 0
-# endif
-# endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* In a future release of Bison, this section will be replaced
- by #include "y.tab.h". */
-#ifndef YY_YY_Y_TAB_H_INCLUDED
-# define YY_YY_Y_TAB_H_INCLUDED
-/* Debug traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-#if YYDEBUG
-extern int yydebug;
-#endif
-
-/* Token type. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- 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_STATE = 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_STATE 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
-
-/* Value type. */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
-union YYSTYPE
+typedef union
{
-#line 147 "lev_comp.y" /* yacc.c:355 */
-
long i;
char* map;
struct {
long cfunc;
char *varstr;
} meth;
-
-#line 640 "y.tab.c" /* yacc.c:355 */
-};
-# define YYSTYPE_IS_TRIVIAL 1
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
-
-extern YYSTYPE yylval;
-
-int yyparse (void);
-
-#endif /* !YY_YY_Y_TAB_H_INCLUDED */
-
-/* Copy the second part of user declarations. */
-
-#line 655 "y.tab.c" /* yacc.c:358 */
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#else
-typedef signed char yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__ \
- && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
- || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
-# else
-# define YY_ATTRIBUTE(Spec) /* empty */
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
-#endif
-
-#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
- && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-# define _Noreturn __declspec (noreturn)
-# else
-# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(E) ((void) (E))
-#else
-# define YYUSE(E) /* empty */
-#endif
-
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
-#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-
-
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
-
-#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
-# else
-# define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (0)
-# endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 9
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 1033
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 194
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 160
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 406
-/* YYNSTATES -- Number of states. */
-#define YYNSTATES 866
-
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 431
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
-static const yytype_uint8 yytranslate[] =
-{
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 189, 193, 2,
- 133, 134, 187, 185, 131, 186, 191, 188, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 132, 2,
- 2, 190, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 135, 2, 136, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 137, 192, 138, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184
-};
-
-#if YYDEBUG
- /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 274, 274, 275, 278, 279, 282, 304, 309, 330,
- 334, 340, 350, 361, 367, 396, 399, 406, 410, 417,
- 420, 427, 428, 432, 435, 441, 445, 452, 455, 461,
- 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
- 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
- 487, 488, 489, 490, 491, 492, 493, 494, 495, 496,
- 497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
- 507, 508, 509, 510, 513, 514, 515, 516, 517, 518,
- 519, 520, 521, 524, 525, 526, 527, 528, 529, 530,
- 531, 532, 535, 536, 537, 540, 541, 544, 556, 562,
- 568, 574, 580, 586, 592, 598, 604, 612, 620, 628,
- 636, 644, 652, 662, 667, 674, 679, 686, 691, 698,
- 702, 708, 713, 720, 724, 730, 734, 741, 763, 740,
- 777, 825, 832, 835, 841, 848, 852, 861, 865, 860,
- 927, 928, 932, 931, 944, 943, 958, 968, 969, 972,
- 1011, 1010, 1044, 1043, 1073, 1072, 1103, 1102, 1128, 1137,
- 1136, 1163, 1169, 1174, 1179, 1186, 1193, 1202, 1210, 1222,
- 1221, 1240, 1239, 1258, 1261, 1267, 1277, 1283, 1292, 1298,
- 1303, 1309, 1314, 1320, 1331, 1337, 1338, 1341, 1342, 1345,
- 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, 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
+} YYSTYPE;
+#define CHAR 257
+#define INTEGER 258
+#define BOOLEAN 259
+#define PERCENT 260
+#define SPERCENT 261
+#define MINUS_INTEGER 262
+#define PLUS_INTEGER 263
+#define MAZE_GRID_ID 264
+#define SOLID_FILL_ID 265
+#define MINES_ID 266
+#define ROGUELEV_ID 267
+#define MESSAGE_ID 268
+#define MAZE_ID 269
+#define LEVEL_ID 270
+#define LEV_INIT_ID 271
+#define GEOMETRY_ID 272
+#define NOMAP_ID 273
+#define OBJECT_ID 274
+#define COBJECT_ID 275
+#define MONSTER_ID 276
+#define TRAP_ID 277
+#define DOOR_ID 278
+#define DRAWBRIDGE_ID 279
+#define object_ID 280
+#define monster_ID 281
+#define terrain_ID 282
+#define MAZEWALK_ID 283
+#define WALLIFY_ID 284
+#define REGION_ID 285
+#define FILLING 286
+#define IRREGULAR 287
+#define JOINED 288
+#define ALTAR_ID 289
+#define LADDER_ID 290
+#define STAIR_ID 291
+#define NON_DIGGABLE_ID 292
+#define NON_PASSWALL_ID 293
+#define ROOM_ID 294
+#define PORTAL_ID 295
+#define TELEPRT_ID 296
+#define BRANCH_ID 297
+#define LEV 298
+#define MINERALIZE_ID 299
+#define CORRIDOR_ID 300
+#define GOLD_ID 301
+#define ENGRAVING_ID 302
+#define FOUNTAIN_ID 303
+#define POOL_ID 304
+#define SINK_ID 305
+#define NONE 306
+#define RAND_CORRIDOR_ID 307
+#define DOOR_STATE 308
+#define LIGHT_STATE 309
+#define CURSE_TYPE 310
+#define ENGRAVING_TYPE 311
+#define DIRECTION 312
+#define RANDOM_TYPE 313
+#define RANDOM_TYPE_BRACKET 314
+#define A_REGISTER 315
+#define ALIGNMENT 316
+#define LEFT_OR_RIGHT 317
+#define CENTER 318
+#define TOP_OR_BOT 319
+#define ALTAR_TYPE 320
+#define UP_OR_DOWN 321
+#define SUBROOM_ID 322
+#define NAME_ID 323
+#define FLAGS_ID 324
+#define FLAG_TYPE 325
+#define MON_ATTITUDE 326
+#define MON_ALERTNESS 327
+#define MON_APPEARANCE 328
+#define ROOMDOOR_ID 329
+#define IF_ID 330
+#define ELSE_ID 331
+#define TERRAIN_ID 332
+#define HORIZ_OR_VERT 333
+#define REPLACE_TERRAIN_ID 334
+#define EXIT_ID 335
+#define SHUFFLE_ID 336
+#define QUANTITY_ID 337
+#define BURIED_ID 338
+#define LOOP_ID 339
+#define FOR_ID 340
+#define TO_ID 341
+#define SWITCH_ID 342
+#define CASE_ID 343
+#define BREAK_ID 344
+#define DEFAULT_ID 345
+#define ERODED_ID 346
+#define TRAPPED_STATE 347
+#define RECHARGED_ID 348
+#define INVIS_ID 349
+#define GREASED_ID 350
+#define FEMALE_ID 351
+#define CANCELLED_ID 352
+#define REVIVED_ID 353
+#define AVENGE_ID 354
+#define FLEEING_ID 355
+#define BLINDED_ID 356
+#define PARALYZED_ID 357
+#define STUNNED_ID 358
+#define CONFUSED_ID 359
+#define SEENTRAPS_ID 360
+#define ALL_ID 361
+#define MONTYPE_ID 362
+#define GRAVE_ID 363
+#define ERODEPROOF_ID 364
+#define FUNCTION_ID 365
+#define MSG_OUTPUT_TYPE 366
+#define COMPARE_TYPE 367
+#define UNKNOWN_TYPE 368
+#define rect_ID 369
+#define fillrect_ID 370
+#define line_ID 371
+#define randline_ID 372
+#define grow_ID 373
+#define selection_ID 374
+#define flood_ID 375
+#define rndcoord_ID 376
+#define circle_ID 377
+#define ellipse_ID 378
+#define filter_ID 379
+#define complement_ID 380
+#define gradient_ID 381
+#define GRADIENT_TYPE 382
+#define LIMITED 383
+#define HUMIDITY_TYPE 384
+#define STRING 385
+#define MAP_ID 386
+#define NQSTRING 387
+#define VARSTRING 388
+#define CFUNC 389
+#define CFUNC_INT 390
+#define CFUNC_STR 391
+#define CFUNC_COORD 392
+#define CFUNC_REGION 393
+#define VARSTRING_INT 394
+#define VARSTRING_INT_ARRAY 395
+#define VARSTRING_STRING 396
+#define VARSTRING_STRING_ARRAY 397
+#define VARSTRING_VAR 398
+#define VARSTRING_VAR_ARRAY 399
+#define VARSTRING_COORD 400
+#define VARSTRING_COORD_ARRAY 401
+#define VARSTRING_REGION 402
+#define VARSTRING_REGION_ARRAY 403
+#define VARSTRING_MAPCHAR 404
+#define VARSTRING_MAPCHAR_ARRAY 405
+#define VARSTRING_MONST 406
+#define VARSTRING_MONST_ARRAY 407
+#define VARSTRING_OBJ 408
+#define VARSTRING_OBJ_ARRAY 409
+#define VARSTRING_SEL 410
+#define VARSTRING_SEL_ARRAY 411
+#define METHOD_INT 412
+#define METHOD_INT_ARRAY 413
+#define METHOD_STRING 414
+#define METHOD_STRING_ARRAY 415
+#define METHOD_VAR 416
+#define METHOD_VAR_ARRAY 417
+#define METHOD_COORD 418
+#define METHOD_COORD_ARRAY 419
+#define METHOD_REGION 420
+#define METHOD_REGION_ARRAY 421
+#define METHOD_MAPCHAR 422
+#define METHOD_MAPCHAR_ARRAY 423
+#define METHOD_MONST 424
+#define METHOD_MONST_ARRAY 425
+#define METHOD_OBJ 426
+#define METHOD_OBJ_ARRAY 427
+#define METHOD_SEL 428
+#define METHOD_SEL_ARRAY 429
+#define DICE 430
+#define YYERRCODE 256
+short yylhs[] = { -1,
+ 0, 0, 73, 73, 74, 57, 57, 56, 56, 76,
+ 76, 76, 76, 55, 55, 54, 54, 46, 46, 14,
+ 14, 75, 75, 26, 26, 22, 22, 23, 78, 78,
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+ 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
+ 78, 78, 59, 59, 59, 59, 59, 59, 59, 59,
+ 59, 58, 58, 58, 58, 58, 58, 58, 58, 58,
+ 60, 60, 60, 61, 61, 85, 84, 84, 84, 84,
+ 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
+ 84, 38, 38, 44, 44, 43, 43, 42, 42, 41,
+ 41, 39, 39, 40, 40, 129, 130, 100, 101, 98,
+ 45, 45, 31, 31, 31, 131, 133, 93, 134, 134,
+ 136, 135, 137, 135, 99, 138, 138, 139, 140, 94,
+ 141, 95, 142, 97, 144, 96, 143, 145, 143, 79,
+ 110, 110, 110, 83, 83, 65, 146, 147, 113, 148,
+ 112, 10, 10, 68, 68, 69, 69, 70, 70, 71,
+ 71, 87, 87, 15, 15, 13, 13, 16, 16, 11,
+ 11, 103, 103, 103, 1, 1, 2, 2, 105, 150,
+ 105, 149, 20, 20, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 35, 35, 35, 106, 152, 106, 151, 18, 18, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+ 19, 19, 19, 19, 120, 88, 104, 104, 121, 121,
+ 102, 117, 118, 109, 119, 82, 17, 17, 91, 114,
+ 108, 72, 72, 116, 115, 86, 107, 154, 111, 24,
+ 24, 80, 81, 81, 81, 92, 89, 90, 90, 3,
+ 3, 4, 4, 29, 29, 28, 28, 27, 27, 27,
+ 5, 5, 6, 6, 7, 7, 7, 12, 12, 12,
+ 8, 8, 9, 155, 155, 155, 132, 77, 77, 77,
+ 77, 32, 32, 32, 30, 30, 127, 127, 127, 33,
+ 124, 124, 124, 34, 34, 125, 125, 125, 36, 36,
+ 36, 36, 126, 126, 126, 37, 37, 37, 37, 123,
+ 123, 122, 122, 122, 122, 122, 122, 122, 122, 122,
+ 122, 122, 50, 50, 157, 158, 158, 128, 128, 64,
+ 64, 63, 63, 62, 62, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 48, 48, 156, 47, 47, 47,
+ 153, 153, 153, 153, 51, 51, 52, 52, 53, 53,
+ 25, 25, 67, 67, 66,
};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE || 0
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "CHAR", "INTEGER", "BOOLEAN", "PERCENT",
- "SPERCENT", "MINUS_INTEGER", "PLUS_INTEGER", "MAZE_GRID_ID",
- "SOLID_FILL_ID", "MINES_ID", "ROGUELEV_ID", "MESSAGE_ID", "MAZE_ID",
- "LEVEL_ID", "LEV_INIT_ID", "GEOMETRY_ID", "NOMAP_ID", "OBJECT_ID",
- "COBJECT_ID", "MONSTER_ID", "TRAP_ID", "DOOR_ID", "DRAWBRIDGE_ID",
- "object_ID", "monster_ID", "terrain_ID", "MAZEWALK_ID", "WALLIFY_ID",
- "REGION_ID", "FILLING", "IRREGULAR", "JOINED", "ALTAR_ID", "LADDER_ID",
- "STAIR_ID", "NON_DIGGABLE_ID", "NON_PASSWALL_ID", "ROOM_ID", "PORTAL_ID",
- "TELEPRT_ID", "BRANCH_ID", "LEV", "MINERALIZE_ID", "CORRIDOR_ID",
- "GOLD_ID", "ENGRAVING_ID", "FOUNTAIN_ID", "POOL_ID", "SINK_ID", "NONE",
- "RAND_CORRIDOR_ID", "DOOR_STATE", "LIGHT_STATE", "CURSE_TYPE",
- "ENGRAVING_TYPE", "DIRECTION", "RANDOM_TYPE", "RANDOM_TYPE_BRACKET",
- "A_REGISTER", "ALIGNMENT", "LEFT_OR_RIGHT", "CENTER", "TOP_OR_BOT",
- "ALTAR_TYPE", "UP_OR_DOWN", "SUBROOM_ID", "NAME_ID", "FLAGS_ID",
- "FLAG_TYPE", "MON_ATTITUDE", "MON_ALERTNESS", "MON_APPEARANCE",
- "ROOMDOOR_ID", "IF_ID", "ELSE_ID", "TERRAIN_ID", "HORIZ_OR_VERT",
- "REPLACE_TERRAIN_ID", "EXIT_ID", "SHUFFLE_ID", "QUANTITY_ID",
- "BURIED_ID", "LOOP_ID", "FOR_ID", "TO_ID", "SWITCH_ID", "CASE_ID",
- "BREAK_ID", "DEFAULT_ID", "ERODED_ID", "TRAPPED_STATE", "RECHARGED_ID",
- "INVIS_ID", "GREASED_ID", "FEMALE_ID", "CANCELLED_ID", "REVIVED_ID",
- "AVENGE_ID", "FLEEING_ID", "BLINDED_ID", "PARALYZED_ID", "STUNNED_ID",
- "CONFUSED_ID", "SEENTRAPS_ID", "ALL_ID", "MONTYPE_ID", "GRAVE_ID",
- "ERODEPROOF_ID", "FUNCTION_ID", "MSG_OUTPUT_TYPE", "COMPARE_TYPE",
- "UNKNOWN_TYPE", "rect_ID", "fillrect_ID", "line_ID", "randline_ID",
- "grow_ID", "selection_ID", "flood_ID", "rndcoord_ID", "circle_ID",
- "ellipse_ID", "filter_ID", "complement_ID", "gradient_ID",
- "GRADIENT_TYPE", "LIMITED", "HUMIDITY_TYPE", "','", "':'", "'('", "')'",
- "'['", "']'", "'{'", "'}'", "STRING", "MAP_ID", "NQSTRING", "VARSTRING",
- "CFUNC", "CFUNC_INT", "CFUNC_STR", "CFUNC_COORD", "CFUNC_REGION",
- "VARSTRING_INT", "VARSTRING_INT_ARRAY", "VARSTRING_STRING",
- "VARSTRING_STRING_ARRAY", "VARSTRING_VAR", "VARSTRING_VAR_ARRAY",
- "VARSTRING_COORD", "VARSTRING_COORD_ARRAY", "VARSTRING_REGION",
- "VARSTRING_REGION_ARRAY", "VARSTRING_MAPCHAR", "VARSTRING_MAPCHAR_ARRAY",
- "VARSTRING_MONST", "VARSTRING_MONST_ARRAY", "VARSTRING_OBJ",
- "VARSTRING_OBJ_ARRAY", "VARSTRING_SEL", "VARSTRING_SEL_ARRAY",
- "METHOD_INT", "METHOD_INT_ARRAY", "METHOD_STRING", "METHOD_STRING_ARRAY",
- "METHOD_VAR", "METHOD_VAR_ARRAY", "METHOD_COORD", "METHOD_COORD_ARRAY",
- "METHOD_REGION", "METHOD_REGION_ARRAY", "METHOD_MAPCHAR",
- "METHOD_MAPCHAR_ARRAY", "METHOD_MONST", "METHOD_MONST_ARRAY",
- "METHOD_OBJ", "METHOD_OBJ_ARRAY", "METHOD_SEL", "METHOD_SEL_ARRAY",
- "DICE", "'+'", "'-'", "'*'", "'/'", "'%'", "'='", "'.'", "'|'", "'&'",
- "$accept", "file", "levels", "level", "level_def", "mazefiller",
- "lev_init", "opt_limited", "opt_coord_or_var", "opt_fillchar", "walled",
- "flags", "flag_list", "levstatements", "stmt_block", "levstatement",
- "any_var_array", "any_var", "any_var_or_arr", "any_var_or_unk",
- "shuffle_detail", "variable_define", "encodeobj_list",
- "encodemonster_list", "mapchar_list", "encoderegion_list",
- "encodecoord_list", "integer_list", "string_list", "function_define",
- "$@1", "$@2", "function_call", "exitstatement", "opt_percent",
- "comparestmt", "switchstatement", "$@3", "$@4", "switchcases",
- "switchcase", "$@5", "$@6", "breakstatement", "for_to_span",
- "forstmt_start", "forstatement", "$@7", "loopstatement", "$@8",
- "chancestatement", "$@9", "ifstatement", "$@10", "if_ending", "$@11",
- "message", "random_corridors", "corridor", "corr_spec", "room_begin",
- "subroom_def", "$@12", "room_def", "$@13", "roomfill", "room_pos",
- "subroom_pos", "room_align", "room_size", "door_detail", "secret",
- "door_wall", "dir_list", "door_pos", "map_definition", "h_justif",
- "v_justif", "monster_detail", "$@14", "monster_desc", "monster_infos",
- "monster_info", "seen_trap_mask", "object_detail", "$@15", "object_desc",
- "object_infos", "object_info", "trap_detail", "drawbridge_detail",
- "mazewalk_detail", "wallify_detail", "ladder_detail", "stair_detail",
- "stair_region", "portal_region", "teleprt_region", "branch_region",
- "teleprt_detail", "fountain_detail", "sink_detail", "pool_detail",
- "terrain_type", "replace_terrain_detail", "terrain_detail",
- "diggable_detail", "passwall_detail", "region_detail", "@16",
- "region_detail_end", "altar_detail", "grave_detail", "gold_detail",
- "engraving_detail", "mineralize", "trap_name", "room_type",
- "optroomregionflags", "roomregionflags", "roomregionflag", "door_state",
- "light_state", "alignment", "alignment_prfx", "altar_type", "a_register",
- "string_or_var", "integer_or_var", "coord_or_var", "encodecoord",
- "humidity_flags", "region_or_var", "encoderegion", "mapchar_or_var",
- "mapchar", "monster_or_var", "encodemonster", "object_or_var",
- "encodeobj", "string_expr", "math_expr_var", "func_param_type",
- "func_param_part", "func_param_list", "func_params_list",
- "func_call_param_part", "func_call_param_list", "func_call_params_list",
- "ter_selection_x", "ter_selection", "dice", "all_integers",
- "all_ints_push", "objectid", "monsterid", "terrainid", "engraving_type",
- "lev_region", "region", YY_NULLPTR
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
-static const yytype_uint16 yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
- 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
- 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
- 385, 44, 58, 40, 41, 91, 93, 123, 125, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
- 427, 428, 429, 430, 431, 43, 45, 42, 47, 37,
- 61, 46, 124, 38
+short yylen[] = { 2,
+ 0, 1, 1, 2, 3, 3, 5, 1, 1, 5,
+ 5, 3, 16, 0, 2, 0, 2, 0, 2, 1,
+ 1, 0, 3, 3, 1, 0, 2, 3, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 3, 3, 5, 3, 5,
+ 5, 5, 3, 3, 5, 5, 5, 7, 7, 7,
+ 5, 1, 3, 1, 3, 1, 3, 1, 3, 1,
+ 3, 1, 3, 1, 3, 0, 0, 8, 4, 1,
+ 0, 1, 1, 5, 3, 0, 0, 9, 0, 2,
+ 0, 5, 0, 4, 1, 2, 1, 6, 0, 3,
+ 0, 6, 0, 4, 0, 4, 1, 0, 4, 3,
+ 1, 3, 3, 5, 5, 7, 4, 0, 10, 0,
+ 12, 0, 2, 5, 1, 5, 1, 5, 1, 5,
+ 1, 9, 5, 1, 1, 1, 1, 1, 3, 1,
+ 1, 1, 7, 5, 1, 1, 1, 1, 3, 0,
+ 5, 4, 0, 3, 1, 1, 1, 1, 2, 1,
+ 1, 1, 1, 1, 3, 3, 3, 1, 1, 3,
+ 1, 1, 3, 3, 0, 5, 2, 0, 3, 1,
+ 3, 1, 3, 3, 1, 1, 3, 1, 1, 1,
+ 3, 1, 1, 1, 5, 7, 5, 8, 1, 3,
+ 5, 5, 7, 7, 6, 5, 0, 2, 3, 3,
+ 3, 1, 5, 9, 5, 3, 3, 0, 10, 0,
+ 1, 7, 5, 5, 3, 5, 7, 9, 1, 1,
+ 1, 1, 1, 0, 2, 1, 3, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
+ 1, 1, 4, 1, 1, 4, 1, 1, 4, 1,
+ 4, 5, 1, 3, 1, 3, 1, 1, 4, 9,
+ 1, 1, 4, 1, 5, 1, 1, 4, 1, 1,
+ 5, 1, 1, 1, 4, 1, 1, 5, 1, 1,
+ 3, 1, 1, 3, 1, 4, 3, 3, 3, 3,
+ 3, 3, 1, 1, 3, 1, 3, 0, 1, 1,
+ 1, 1, 3, 0, 1, 1, 2, 2, 4, 6,
+ 4, 6, 6, 6, 6, 2, 6, 8, 8, 10,
+ 14, 2, 1, 3, 1, 3, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 10, 9,
};
-# endif
-
-#define YYPACT_NINF -654
-
-#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-654)))
-
-#define YYTABLE_NINF -202
-
-#define yytable_value_is_error(Yytable_value) \
- 0
-
- /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-static const yytype_int16 yypact[] =
-{
- 137, 7, 27, 83, -654, 137, 24, -15, 37, -654,
- -654, 91, 733, -10, -654, 113, -654, 99, 131, 133,
- -654, 161, 164, 166, 174, 183, 199, 214, 231, 233,
- 239, 241, 243, 245, 247, 250, 268, 269, 275, 276,
- 281, 295, 305, 317, 322, 323, 325, 326, 327, 28,
- 340, 343, -654, 345, 205, 757, -654, -654, 346, 49,
- 66, 265, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, 733, -654, -654, 190, -654, -654, -654,
- -654, -654, 353, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, 59, 308, -654, -31, 406, 351, 58, 58,
- 144, -11, 57, -18, -18, 672, -57, -18, -18, 248,
- -57, -57, -6, -1, -1, -1, 66, 303, 66, -18,
- 672, 672, 672, 319, -6, 51, -654, 672, -57, 751,
- 66, -654, -654, 279, 339, -18, 355, -654, 29, -654,
- 344, -654, 198, -654, 56, -654, 18, -654, 359, -654,
- -654, -654, 113, -654, -654, 360, -654, 309, 368, 371,
- 372, -654, -654, 374, -654, -654, 375, 503, -654, 378,
- 379, 383, -654, -654, -654, 506, -654, -654, 402, -654,
- -654, -654, -654, -654, -654, 537, -654, -654, 413, 404,
- 418, -654, -654, -654, 420, -654, -654, 427, 439, 446,
- -57, -57, -18, -18, 417, -18, 436, 445, 449, 672,
- 450, 508, -654, -654, 391, -654, 582, -654, 453, 458,
- -654, 459, 460, 466, 599, 473, 474, -654, -654, -654,
- -654, -654, 475, 601, 608, 482, 483, 489, 490, 387,
- 618, 526, 208, 529, -654, -654, -654, -654, -654, -654,
- -654, -654, 530, -654, -654, 534, 359, 538, 539, -654,
- 523, 66, 66, 540, -654, 548, 342, 66, 66, -654,
- 66, 66, 66, 66, 66, 309, 387, -654, 542, 549,
- -654, -654, -654, -654, -654, -654, 554, 60, 32, -654,
- -654, 309, 387, 555, 556, 558, 733, 733, -654, -654,
- 66, -31, 671, 46, 698, 571, 567, 672, 573, 66,
- 215, 700, 566, 581, 66, 587, 359, 589, 66, 359,
- -18, -18, 672, 663, 664, -654, -654, 592, 593, 521,
- -654, -18, -18, 307, -654, 598, 596, 672, 597, 66,
- 67, 186, 660, 730, 604, 669, -1, 8, -654, 606,
- 607, -1, -1, -1, 66, 609, 89, -18, 141, 12,
- 57, 665, -654, 52, 52, -654, 156, 605, -38, 697,
- -654, -654, 331, 347, 168, 168, -654, -654, -654, 56,
- -654, 672, 612, -52, -50, 4, 140, -654, -654, 309,
- 387, 55, 127, 158, -654, 611, 358, -654, -654, -654,
- 743, -654, 628, 374, -654, 626, 761, 430, -654, -654,
- 383, -654, -654, 627, 464, 266, -654, 638, 492, -654,
- -654, -654, -654, 636, 654, -18, -18, 600, 673, 666,
- 675, 676, -654, 679, 438, -654, 667, 681, -654, 685,
- 686, -654, -654, 799, 522, -654, -654, 689, -654, 687,
- -654, 693, -654, -654, 694, 824, -654, 699, -654, 825,
- 701, 67, 827, 702, 703, -654, 704, 779, -654, -654,
- -654, -654, -654, 707, -654, 836, 710, 712, 786, 861,
- -654, 734, 359, -654, 678, 66, -654, -654, 309, 735,
- -654, 739, 732, -654, -654, -654, -654, 867, 740, -654,
- -8, -654, 66, -654, -31, -654, 21, -654, 25, -654,
- 54, -654, -654, -654, 741, 873, -654, -654, 744, -654,
- 737, 745, -654, -654, -654, -654, -654, -654, -654, 748,
- 769, -654, 771, -654, 788, -654, -654, 790, -654, -654,
- -654, -654, -654, 784, -654, 792, 57, 919, -654, 794,
- 868, 672, -654, 66, 66, 672, 796, 66, 672, 672,
- 795, 798, -654, -6, 926, 90, 927, -49, 865, 802,
- 13, -654, 803, 797, 870, -654, 66, 804, -31, 807,
- 15, 254, 359, 52, -654, -654, 387, 805, 224, 697,
- -654, -29, -654, -654, 387, 309, 151, -654, 159, -654,
- 171, -654, 67, 808, -654, -654, -654, -31, 66, 66,
- 66, 144, -654, 594, -654, 809, 66, -654, 810, 258,
- 337, 811, 67, 528, 812, 813, 66, 937, 817, 814,
- -654, -654, -654, 818, 939, -654, 947, -654, 289, 821,
- -654, -654, 822, 85, 309, 950, -654, 951, 817, -654,
- 826, -654, -654, 828, 160, -654, -654, -654, -654, 359,
- 21, -654, 25, -654, 54, -654, 829, 953, 309, -654,
- -654, -654, -654, 149, -654, -654, -654, -31, -654, -654,
- -654, -654, -654, 830, 832, 833, -654, -654, 834, -654,
- -654, -654, 309, 957, -654, 387, -654, 924, -654, 66,
- -654, 835, -654, -654, -654, 409, 837, 419, -654, -654,
- 963, 839, 838, 840, 15, 66, -654, -654, 841, 842,
- 843, -654, 85, 954, 329, 845, 844, 160, -654, -654,
- -654, -654, -654, 847, 914, 309, 66, 66, 66, -44,
- -654, 846, 304, -654, 66, 975, -654, -654, -654, -654,
- 850, 359, 852, 980, -654, 215, 817, -654, -654, -654,
- 981, 359, -654, -654, 854, -654, -654, -654, 982, -654,
- -654, -654, -654, -654, 800, -654, -654, 956, -654, 217,
- 855, 419, -654, -654, 986, 857, 859, -654, 860, -654,
- -654, 733, 864, -44, 862, 869, 863, -654, -654, 866,
- -654, -654, 359, -654, 733, -654, 67, -654, -654, -654,
- 871, -654, -654, -654, 872, -18, 68, 874, -654, -654,
- 809, -18, 875, -654, -654, -654
+short yydefred[] = { 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
+ 4, 0, 6, 0, 133, 0, 0, 0, 192, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 130, 0, 0, 0, 136, 145, 0, 0, 0, 0,
+ 93, 82, 73, 83, 74, 84, 75, 85, 76, 86,
+ 77, 87, 78, 88, 79, 89, 80, 90, 81, 5,
+ 0, 92, 91, 0, 30, 0, 29, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 149,
+ 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 155, 0, 0, 0, 0, 94,
+ 95, 0, 0, 0, 0, 342, 0, 345, 0, 387,
+ 0, 343, 0, 153, 0, 27, 0, 9, 8, 7,
+ 0, 304, 305, 0, 0, 340, 0, 0, 0, 12,
+ 313, 0, 195, 196, 0, 0, 310, 0, 0, 308,
+ 0, 337, 339, 0, 336, 334, 0, 333, 228, 224,
+ 225, 330, 332, 0, 329, 327, 0, 326, 0, 0,
+ 281, 280, 0, 291, 292, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 383, 250, 0, 366, 0, 318, 0, 317, 0, 0,
+ 0, 0, 0, 403, 0, 0, 266, 267, 283, 282,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 259, 261, 260, 390, 388, 389, 163, 162,
+ 0, 184, 185, 0, 0, 0, 0, 96, 0, 0,
+ 0, 0, 126, 0, 0, 0, 0, 135, 0, 0,
+ 0, 0, 0, 0, 0, 362, 0, 0, 0, 396,
+ 398, 395, 397, 399, 400, 0, 0, 0, 0, 0,
+ 0, 103, 0, 0, 104, 0, 150, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 367, 368, 0, 0, 0, 376, 0,
+ 0, 0, 382, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 132, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 156, 0, 0, 151, 0, 0, 0, 0, 344, 352,
+ 0, 0, 0, 0, 349, 350, 351, 129, 0, 154,
+ 0, 0, 120, 118, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 341, 11, 262, 0, 10,
+ 0, 0, 314, 0, 0, 0, 198, 197, 0, 173,
+ 194, 0, 0, 0, 226, 0, 0, 203, 201, 245,
+ 183, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 324, 0, 0, 322, 0, 321, 0, 0, 0, 384,
+ 386, 0, 0, 293, 294, 0, 297, 0, 295, 0,
+ 296, 251, 0, 0, 0, 252, 0, 175, 0, 0,
+ 0, 0, 0, 256, 0, 0, 165, 164, 276, 401,
+ 402, 0, 177, 0, 0, 0, 0, 0, 265, 0,
+ 0, 147, 0, 0, 137, 274, 0, 0, 0, 356,
+ 0, 346, 134, 363, 98, 0, 0, 105, 0, 111,
+ 0, 106, 0, 107, 0, 102, 0, 101, 0, 100,
+ 28, 306, 0, 0, 316, 309, 0, 311, 0, 0,
+ 335, 393, 391, 392, 239, 236, 230, 0, 0, 235,
+ 0, 240, 0, 242, 243, 0, 238, 229, 244, 232,
+ 394, 0, 328, 0, 0, 0, 369, 0, 0, 0,
+ 371, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 319, 0, 0, 0, 0, 0, 0, 167, 0, 0,
+ 0, 0, 0, 255, 0, 0, 0, 0, 0, 0,
+ 0, 0, 152, 146, 0, 0, 0, 127, 0, 0,
+ 0, 0, 121, 119, 112, 0, 114, 0, 116, 0,
+ 0, 0, 312, 193, 338, 0, 0, 0, 0, 0,
+ 331, 0, 246, 0, 0, 189, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 302, 301,
+ 272, 0, 0, 253, 0, 179, 0, 0, 254, 258,
+ 0, 0, 0, 0, 181, 0, 0, 187, 0, 186,
+ 159, 0, 0, 353, 354, 355, 0, 357, 0, 110,
+ 0, 109, 0, 108, 0, 0, 0, 234, 237, 241,
+ 231, 0, 298, 206, 207, 0, 211, 210, 212, 213,
+ 214, 0, 0, 0, 218, 219, 0, 299, 208, 204,
+ 0, 0, 248, 0, 372, 0, 377, 0, 373, 0,
+ 323, 374, 375, 0, 0, 0, 268, 303, 0, 0,
+ 0, 0, 0, 0, 190, 191, 0, 0, 0, 168,
+ 0, 0, 0, 0, 0, 0, 128, 113, 115, 117,
+ 263, 0, 0, 0, 0, 0, 0, 0, 19, 0,
+ 0, 325, 0, 0, 288, 289, 290, 0, 285, 0,
+ 0, 0, 174, 0, 0, 278, 166, 176, 0, 0,
+ 182, 264, 0, 143, 138, 140, 0, 300, 215, 216,
+ 217, 222, 0, 220, 378, 0, 379, 0, 0, 0,
+ 271, 269, 0, 0, 0, 170, 0, 169, 141, 0,
+ 0, 0, 0, 0, 0, 320, 287, 0, 405, 178,
+ 0, 180, 0, 144, 0, 223, 380, 15, 0, 404,
+ 171, 142, 0, 0, 0, 0, 20, 21, 0, 0,
+ 0, 13, 17, 381,
};
-
- /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
- Performed when YYTABLE does not specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint16 yydefact[] =
-{
- 2, 0, 0, 0, 3, 4, 23, 0, 0, 1,
- 5, 0, 27, 0, 7, 0, 134, 0, 0, 0,
- 193, 0, 0, 0, 0, 0, 0, 0, 250, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 280,
- 0, 0, 0, 0, 0, 0, 162, 0, 0, 0,
- 0, 0, 131, 0, 0, 0, 137, 146, 0, 0,
- 0, 0, 94, 83, 74, 84, 75, 85, 76, 86,
- 77, 87, 78, 88, 79, 89, 80, 90, 81, 91,
- 82, 31, 6, 27, 92, 93, 0, 37, 36, 52,
- 53, 50, 0, 45, 51, 150, 46, 47, 49, 48,
- 30, 62, 35, 65, 64, 39, 55, 57, 58, 72,
- 40, 56, 73, 54, 69, 70, 61, 71, 34, 43,
- 66, 60, 68, 67, 38, 59, 63, 32, 33, 44,
- 41, 42, 0, 26, 24, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 156, 0, 0, 0,
- 0, 95, 96, 0, 0, 0, 0, 343, 0, 346,
- 0, 388, 0, 344, 365, 28, 0, 154, 0, 10,
- 9, 8, 0, 305, 306, 0, 341, 161, 0, 0,
- 0, 13, 314, 0, 196, 197, 0, 0, 311, 0,
- 0, 173, 309, 338, 340, 0, 337, 335, 0, 225,
- 229, 334, 226, 331, 333, 0, 330, 328, 0, 200,
- 0, 327, 282, 281, 0, 292, 293, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 384, 367, 386, 251, 0, 319, 0, 0,
- 318, 0, 0, 0, 0, 0, 0, 404, 267, 268,
- 284, 283, 0, 132, 0, 0, 0, 0, 0, 308,
- 0, 0, 0, 0, 260, 262, 261, 391, 389, 390,
- 164, 163, 0, 185, 186, 0, 0, 0, 0, 97,
- 0, 0, 0, 276, 127, 0, 0, 0, 0, 136,
- 0, 0, 0, 0, 0, 362, 361, 363, 366, 0,
- 397, 399, 396, 398, 400, 401, 0, 0, 0, 104,
- 105, 100, 98, 0, 0, 0, 0, 27, 151, 25,
- 0, 0, 0, 0, 0, 316, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 368, 369, 0, 0, 0,
- 377, 0, 0, 0, 383, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 133, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 158, 157, 0, 0, 152, 0, 0, 0, 359,
- 345, 353, 0, 0, 348, 349, 350, 351, 352, 0,
- 130, 0, 343, 0, 0, 0, 0, 121, 119, 125,
- 123, 0, 0, 0, 155, 0, 0, 342, 12, 263,
- 0, 11, 0, 0, 315, 0, 0, 0, 199, 198,
- 173, 174, 195, 0, 0, 0, 227, 0, 0, 202,
- 204, 246, 184, 0, 248, 0, 0, 189, 0, 0,
- 0, 0, 325, 0, 0, 323, 0, 0, 322, 0,
- 0, 385, 387, 0, 0, 294, 295, 0, 298, 0,
- 296, 0, 297, 252, 0, 0, 253, 0, 176, 0,
- 0, 0, 0, 0, 258, 257, 0, 0, 165, 166,
- 277, 402, 403, 0, 178, 0, 0, 0, 0, 0,
- 266, 0, 0, 148, 0, 0, 138, 275, 274, 0,
- 357, 360, 0, 347, 135, 364, 99, 0, 0, 108,
- 0, 107, 0, 106, 0, 112, 0, 103, 0, 102,
- 0, 101, 29, 307, 0, 0, 317, 310, 0, 312,
- 0, 0, 336, 394, 392, 393, 240, 237, 231, 0,
- 0, 236, 0, 241, 0, 243, 244, 0, 239, 230,
- 245, 395, 233, 0, 329, 203, 0, 0, 370, 0,
- 0, 0, 372, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 320, 0, 0, 0, 0, 0, 0, 0,
- 0, 168, 0, 0, 0, 256, 0, 0, 0, 0,
- 0, 0, 0, 0, 153, 147, 149, 0, 0, 0,
- 128, 0, 120, 122, 124, 126, 0, 113, 0, 115,
- 0, 117, 0, 0, 313, 194, 339, 0, 0, 0,
- 0, 0, 332, 0, 247, 19, 0, 190, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 285, 0,
- 303, 302, 273, 0, 0, 254, 0, 180, 0, 0,
- 255, 259, 0, 0, 278, 0, 182, 0, 285, 188,
- 0, 187, 160, 0, 140, 354, 355, 356, 358, 0,
- 0, 111, 0, 110, 0, 109, 0, 0, 234, 235,
- 238, 242, 232, 0, 299, 207, 208, 0, 212, 211,
- 213, 214, 215, 0, 0, 0, 219, 220, 0, 205,
- 209, 300, 206, 0, 249, 371, 373, 0, 378, 0,
- 374, 0, 324, 376, 375, 0, 0, 0, 269, 304,
- 0, 0, 0, 0, 0, 0, 191, 192, 0, 0,
- 0, 169, 0, 0, 0, 0, 0, 140, 129, 114,
- 116, 118, 264, 0, 0, 210, 0, 0, 0, 0,
- 20, 0, 0, 326, 0, 0, 289, 290, 291, 286,
- 287, 271, 0, 0, 175, 0, 285, 279, 167, 177,
- 0, 0, 183, 265, 0, 144, 139, 141, 0, 301,
- 216, 217, 218, 223, 222, 221, 379, 0, 380, 349,
- 0, 0, 272, 270, 0, 0, 0, 171, 0, 170,
- 142, 27, 0, 0, 0, 0, 0, 321, 288, 0,
- 406, 179, 0, 181, 27, 145, 0, 224, 381, 16,
- 0, 405, 172, 143, 0, 0, 0, 17, 21, 22,
- 19, 0, 0, 14, 18, 382
+short yydgoto[] = { 3,
+ 209, 449, 233, 271, 236, 486, 490, 671, 491, 351,
+ 757, 729, 689, 859, 294, 467, 614, 354, 578, 584,
+ 730, 80, 337, 822, 512, 133, 788, 789, 747, 345,
+ 81, 210, 258, 476, 814, 228, 218, 636, 425, 426,
+ 427, 428, 640, 638, 387, 733, 290, 375, 253, 696,
+ 329, 330, 331, 861, 835, 190, 4, 82, 83, 84,
+ 172, 314, 315, 316, 280, 264, 265, 500, 515, 678,
+ 687, 440, 5, 6, 10, 85, 254, 86, 87, 88,
+ 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
+ 129, 277, 318, 478, 229, 219, 259, 529, 408, 697,
+ 173, 278, 626, 765, 766, 843, 830, 524, 130, 187,
+ 521, 319, 401, 295, 517, 272, 800, 841, 230, 359,
+ 220, 355, 580, 790, 196, 182, 530, 531,
};
-
- /* YYPGOTO[NTERM-NUM]. */
-static const yytype_int16 yypgoto[] =
-{
- -654, -654, 994, -654, -654, -654, -654, -654, -654, 146,
- -654, -654, 815, -83, -290, 668, 848, 946, -390, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, 959, -654, -654, -654, 244,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, 614,
- 849, -654, -654, -654, -654, 562, -654, -654, -654, 260,
- -654, -654, -654, -531, 253, -654, 338, 223, -654, -654,
- -654, -654, -654, 187, -654, -654, 880, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
- -654, -654, -654, -654, -654, -654, -654, 421, -653, 200,
- -654, -385, -492, -654, -654, -654, 369, 682, -168, -136,
- -312, 583, 150, -308, -386, -485, -418, -473, 602, -459,
- -132, -55, -654, 396, -654, -654, 610, -654, -654, 778,
- -135, 575, -392, -654, -654, -654, -654, -654, -124, -654
+short yysindex[] = { 68,
+ 17, 31, 0, -217, 0, 68, -257, -226, 112, 5680,
+ 0, 136, 0, -136, 0, 170, 185, 201, 0, 225,
+ 229, 238, 244, 248, 251, 255, 266, 272, 275, 283,
+ 304, 309, 346, 366, 378, 380, 382, 383, 396, 397,
+ 398, 400, 401, 404, 405, 413, 415, -46, 417, 420,
+ 0, 426, 108, 489, 0, 0, 428, 101, -35, 449,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 432, 0, 0, 430, 0, 5680, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ -190, 450, 0, -234, 62, -13, 41, 41, 40, -252,
+ -121, 109, 109, 1644, -34, 109, 109, 92, -34, -34,
+ -249, -20, -20, -20, -35, 458, -35, 109, 1644, 1644,
+ 1644, -160, -249, -174, 0, 1644, -34, 288, -35, 0,
+ 0, 439, 414, 109, 467, 0, -22, 0, 421, 0,
+ -9, 0, -14, 0, 163, 0, 385, 0, 0, 0,
+ -136, 0, 0, 423, 465, 0, 471, 473, 475, 0,
+ 0, 137, 0, 0, 490, 271, 0, 441, 496, 0,
+ 503, 0, 0, 276, 0, 0, 452, 0, 0, 0,
+ 0, 0, 0, 292, 0, 0, 470, 0, 512, 0,
+ 0, 0, 518, 0, 0, 523, 524, 526, -34, -34,
+ 109, 109, 540, 109, 542, 544, 545, 1644, 548, 5537,
+ 0, 0, 533, 0, 331, 0, 500, 0, 555, 558,
+ 559, 564, 347, 0, 571, 582, 0, 0, 0, 0,
+ 367, 584, 379, 592, 594, 595, 141, 596, 402, 597,
+ 588, 611, 0, 0, 0, 0, 0, 0, 0, 0,
+ 617, 0, 0, 628, 385, 638, 640, 0, 593, -35,
+ -35, 644, 0, 649, 159, -35, -35, 0, -35, -35,
+ -35, -35, -35, 651, 650, 0, 141, 465, 5680, 0,
+ 0, 0, 0, 0, 0, 642, -1, 4, 643, 647,
+ 653, 0, 141, 465, 0, 5680, 0, 0, -35, -234,
+ 445, 14, 455, 654, 614, 1644, 678, -35, 38, 476,
+ 338, 682, -35, 688, 385, 690, -35, 109, 385, 109,
+ 1644, 424, 431, 0, 0, 694, 696, 1298, 0, 109,
+ 109, 5435, 0, 360, 704, 1644, 702, -35, -165, -83,
+ 429, 491, 703, -20, 433, 0, 707, -24, 708, -20,
+ -20, -20, -35, 709, 10, 109, -91, -19, -121, 0,
+ 0, 9, 9, 0, 45, 655, -254, 560, 0, 0,
+ 75, 148, 79, 79, 0, 0, 0, 0, -14, 0,
+ 1644, 711, 0, 0, 16, 25, 27, 29, 141, 465,
+ 22, -10, -28, 631, 427, 0, 0, 0, 501, 0,
+ 715, 137, 0, 719, 505, 459, 0, 0, 503, 0,
+ 0, 381, 499, 2, 0, 403, 508, 0, 0, 0,
+ 0, 721, 723, 109, 109, 662, 743, 748, 746, 749,
+ 0, 750, 5448, 0, 701, 0, 751, 752, 753, 0,
+ 0, 554, 536, 0, 0, 754, 0, 726, 0, 774,
+ 0, 0, 775, 579, 785, 0, -165, 0, 581, 796,
+ 583, 798, 800, 0, 802, 535, 0, 0, 0, 0,
+ 0, 804, 0, 591, 806, 807, 521, 598, 0, 810,
+ 385, 0, 811, -35, 0, 0, 465, 801, 815, 0,
+ 814, 0, 0, 0, 0, 604, -35, 0, -234, 0,
+ -21, 0, 824, 0, 57, 0, 98, 0, 23, 0,
+ 0, 0, 825, 621, 0, 0, 827, 0, 493, 839,
+ 0, 0, 0, 0, 0, 0, 0, 823, 826, 0,
+ 828, 0, 830, 0, 0, 832, 0, 0, 0, 0,
+ 0, 841, 0, 848, -121, 641, 0, 857, 590, 1644,
+ 0, -35, -35, 1644, 859, -35, 1644, 1644, 864, 861,
+ 0, -249, 648, -148, 652, 135, 586, 0, 867, -5,
+ 868, 528, 587, 0, -35, 870, -234, 871, 6, 72,
+ 385, 9, 0, 0, 141, 793, 1, 0, 560, 166,
+ 141, 465, 0, 0, 0, 32, 0, 33, 0, 35,
+ -165, 873, 0, 0, 0, -234, -35, -35, -35, 40,
+ 0, 5526, 0, 876, -35, 0, 880, 174, 686, 881,
+ -165, 569, 882, 883, -35, 685, 900, 852, 0, 0,
+ 0, 902, 691, 0, 693, 0, 110, 908, 0, 0,
+ 928, -184, 465, 716, 0, 717, 900, 0, 929, 0,
+ 0, 932, 90, 0, 0, 0, 385, 0, 57, 0,
+ 98, 0, 23, 0, 936, 722, 465, 0, 0, 0,
+ 0, 56, 0, 0, 0, -234, 0, 0, 0, 0,
+ 0, 920, 921, 924, 0, 0, 925, 0, 0, 0,
+ 465, 727, 0, 141, 0, 699, 0, -35, 0, 945,
+ 0, 0, 0, 481, 943, 59, 0, 0, 744, 957,
+ 965, 963, 6, -35, 0, 0, 967, 977, 982, 0,
+ -184, 767, -50, 971, 905, 90, 0, 0, 0, 0,
+ 0, 987, 724, 465, -35, -35, -35, -261, 0, 991,
+ 576, 0, -35, 777, 0, 0, 0, 989, 0, 385,
+ 992, 780, 0, 38, 900, 0, 0, 0, 781, 385,
+ 0, 0, 983, 0, 0, 0, 784, 0, 0, 0,
+ 0, 0, 916, 0, 0, 758, 0, 93, 1004, 59,
+ 0, 0, 788, 1006, 1007, 0, 1010, 0, 0, 5680,
+ 1009, -261, 1016, 675, 1020, 0, 0, 1025, 0, 0,
+ 385, 0, 5680, 0, -165, 0, 0, 0, 1023, 0,
+ 0, 0, 1024, 109, -149, 1026, 0, 0, 876, 109,
+ 1028, 0, 0, 0,
};
-
- /* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int16 yydefgoto[] =
-{
- -1, 3, 4, 5, 6, 191, 81, 836, 862, 734,
- 860, 12, 134, 82, 338, 83, 84, 85, 86, 173,
- 87, 88, 636, 638, 640, 423, 424, 425, 426, 89,
- 409, 699, 90, 91, 389, 92, 93, 174, 627, 766,
- 767, 844, 831, 94, 525, 95, 96, 188, 97, 522,
- 98, 336, 99, 296, 402, 518, 100, 101, 102, 281,
- 272, 103, 801, 104, 842, 352, 500, 516, 679, 688,
- 105, 295, 690, 468, 758, 106, 210, 450, 107, 359,
- 229, 585, 729, 815, 108, 356, 219, 355, 579, 109,
- 110, 111, 112, 113, 114, 115, 116, 117, 118, 615,
- 119, 120, 121, 441, 122, 123, 124, 125, 126, 791,
- 823, 127, 128, 129, 130, 131, 234, 273, 748, 789,
- 790, 237, 487, 491, 730, 672, 492, 196, 278, 253,
- 212, 346, 259, 260, 477, 478, 230, 231, 220, 221,
- 315, 279, 697, 530, 531, 532, 317, 318, 319, 254,
- 376, 183, 291, 582, 333, 334, 335, 513, 266, 267
+short yyrindex[] = { 1071,
+ 0, 0, 0, 5225, 0, 1072, 0, 0, 0, 53,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2985, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3174, 0, 0,
+ 0, 0, 0, 0, 3331, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 182, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 5382, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3520, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1947,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1098, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 136, 0, 0, 0, 0, 0, 720, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 3677, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1033, 0, 241, 247, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 3866, 4023, 0, 951, 0, 0, 0, 0,
+ 0, 0, 0, 984, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2136, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2293,
+ 0, 0, 0, 0, 0, 0, 0, 1037, 0, 0,
+ 0, 0, 374, 531, 0, 0, 0, 0, 0, 0,
+ 0, 553, 0, 0, 0, 0, 0, 0, 42, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 689, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4212, 0, 0, 1035, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4369, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4558, 0, 0, 0,
+ 1039, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2482, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 958, 0, 0, 0, 0, 0,
+ 50, 52, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4715, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2639, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 4904, 0, 0, 0, 959, 0, 0, 0,
+ 0, 0, 961, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1255, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1444, 0, 0, 909, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 961, 0, 0, 0, 0,
+ 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2828, 0, 5061,
+ 0, 0, 0, 0, 959, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1790, 0, 0, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -69,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, -69, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1043, 0, 0, 4715, 0,
+ 0, 0, 0, 0,
};
-
- /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule whose
- number is the opposite. If YYTABLE_NINF, syntax error. */
-static const yytype_int16 yytable[] =
-{
- 185, 211, 300, 197, 509, 182, 401, 238, 239, 611,
- 255, 261, 262, 265, 549, 517, 427, 520, 521, 529,
- 428, 527, 177, 283, 213, 284, 285, 286, 223, 275,
- 276, 277, 297, 177, 16, 761, 177, 305, 320, 303,
- 321, 202, 203, 263, 322, 323, 324, 551, 232, 439,
- 329, 202, 203, 270, 331, 472, 293, 472, 213, 657,
- 177, 213, 189, 813, 422, 641, 456, 498, 305, 459,
- 177, 514, 677, 858, 686, 639, 256, 202, 203, 538,
- 214, 540, 674, 9, 224, 644, 539, 637, 541, 756,
- 691, 202, 203, 287, 11, 814, 325, 288, 289, 257,
- 258, 193, 667, 282, 206, 644, 367, 368, 193, 370,
- 294, 235, 194, 195, 214, 207, 236, 214, 190, 194,
- 195, 132, 485, 306, 13, 207, 486, 859, 233, 316,
- 223, 332, 274, 271, 407, 542, 208, 209, 326, 7,
- 206, 499, 543, 827, 757, 515, 678, 223, 687, 670,
- 706, 327, 1, 2, 215, 328, 671, 193, 225, 8,
- 216, 472, 178, 60, 226, 327, 179, 180, 194, 195,
- 741, 193, 208, 209, 257, 258, 14, 179, 180, 440,
- 179, 180, 194, 195, 133, 519, 224, 519, 215, 178,
- 176, 215, 546, 178, 216, 193, 429, 216, 511, 178,
- 512, 654, 181, 224, 179, 180, 194, 195, 179, 180,
- 475, 476, 445, 181, 179, 180, 181, 217, 218, 771,
- 217, 218, 280, 15, 460, 461, 506, 462, 633, 770,
- 632, 135, 624, 712, 469, 470, 471, 693, 479, 529,
- 181, 769, 482, 523, 181, 488, 406, 489, 490, 764,
- 181, 765, 412, 413, 435, 414, 415, 416, 417, 418,
- 225, 510, 497, 136, 548, 137, 226, 503, 504, 505,
- 563, 544, 306, 430, 564, 565, 528, 225, 545, 448,
- 449, 774, 700, 226, 604, 436, 536, 227, 228, 701,
- 702, 519, 263, 138, 447, 550, 139, 703, 140, 454,
- 268, 269, 704, 458, 227, 228, 141, 202, 203, 705,
- 472, 308, 467, 689, 473, 142, 475, 476, 298, 580,
- 566, 567, 568, 287, 484, 202, 203, 288, 289, 588,
- 589, 143, 692, 287, 309, 569, 330, 288, 289, 397,
- 170, 310, 311, 312, 313, 314, 144, 524, 835, 570,
- 571, -15, 204, 205, 854, 312, 313, 314, 572, 573,
- 574, 575, 576, 145, 316, 146, 202, 203, 695, 696,
- 206, 147, 804, 148, 577, 149, 578, 150, 290, 151,
- 186, 264, 152, 310, 311, 312, 313, 314, 206, 737,
- 365, 366, 738, 310, 311, 312, 313, 314, 184, 207,
- 153, 154, 208, 209, 312, 313, 314, 155, 156, 768,
- 202, 203, 635, 157, 204, 205, 198, 199, 200, 201,
- 208, 209, 240, 241, 242, 243, 244, 158, 245, 206,
- 246, 247, 248, 249, 250, 817, 280, 159, 818, 192,
- 474, 596, 348, 310, 311, 312, 313, 314, 682, 160,
- 181, 786, 787, 788, 161, 162, 658, 163, 164, 165,
- 661, 208, 209, 664, 665, 475, 476, 533, 739, 301,
- 626, 252, 167, 206, 302, 168, 411, 169, 175, 307,
- 709, 710, 711, 534, 207, 187, 684, 634, 304, 310,
- 311, 312, 313, 314, 553, 340, 337, 202, 203, 342,
- 341, 822, 343, 344, 345, 208, 209, 348, 347, 353,
- 350, 829, 348, 349, 351, 708, 310, 311, 312, 313,
- 314, 732, 310, 311, 312, 313, 314, 310, 311, 312,
- 313, 314, 310, 311, 312, 313, 314, 354, 659, 660,
- 357, -201, 663, 310, 311, 312, 313, 314, 358, 360,
- 369, 361, 852, 240, 241, 242, 243, 244, 362, 245,
- 206, 246, 247, 248, 249, 250, 559, 202, 203, 371,
- 363, 251, 310, 311, 312, 313, 314, 364, 372, 467,
- 202, 203, 373, 375, 377, 775, 378, 797, 379, 380,
- 381, 382, 208, 209, 310, 784, 312, 313, 314, 383,
- 562, 735, 252, 384, 385, 386, 387, 388, 810, 811,
- 812, 745, 390, 391, 392, 310, 311, 312, 313, 314,
- 393, 394, 395, 240, 241, 242, 243, 244, 584, 245,
- 206, 246, 247, 248, 249, 250, 240, 241, 242, 243,
- 244, 251, 245, 206, 246, 247, 248, 249, 250, 310,
- 311, 312, 313, 314, 251, 713, 714, 396, 602, 405,
- 398, 399, 208, 209, 742, 400, 715, 716, 717, 403,
- 404, 408, 252, 419, 438, 208, 209, 310, 311, 312,
- 313, 314, 410, 420, 782, 252, 421, 431, 432, 718,
- 433, 719, 720, 721, 722, 723, 724, 725, 726, 727,
- 728, 442, 443, 444, 446, 451, 452, 310, 311, 312,
- 313, 314, 453, 310, 311, 312, 313, 314, 455, 857,
- 457, 463, 464, 465, 466, 864, 480, 493, 483, 819,
- 481, 202, 203, 193, 494, 495, 496, 501, 502, 16,
- 507, 526, -159, 537, 194, 195, 554, 17, 845, 552,
- 18, 19, 20, 21, 22, 23, 24, 25, 26, 555,
- 557, 853, 27, 28, 29, 558, 561, 586, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 583, 39, 40,
- 41, 42, 43, 44, 45, 587, 46, 240, 241, 242,
- 243, 244, 590, 245, 206, 246, 247, 248, 249, 250,
- 592, 47, 597, 601, 591, 251, 593, 594, 48, 49,
- 595, 50, 598, 51, 52, 53, 599, 600, 54, 55,
- 603, 56, 604, 57, 605, 606, 208, 209, 607, 609,
- 608, 612, 610, 613, 614, 616, 252, 617, 618, 62,
- 619, 620, 58, 621, 59, 63, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
- 78, 79, 80, 622, 596, 623, 630, 628, 60, 625,
- 629, 631, 642, 256, 61, 62, 643, 645, 644, 646,
- 647, 63, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79, 80, 171,
- 64, 648, 66, 649, 68, 63, 70, 65, 72, 67,
- 74, 69, 76, 71, 78, 73, 80, 75, 652, 77,
- 650, 79, 651, 653, 655, 656, 467, 662, 666, 667,
- 669, 673, 675, 676, 674, 683, 680, 681, 685, 707,
- 733, 746, 694, 751, 736, 740, 743, 744, 747, 750,
- 749, 752, 754, 755, 759, 760, 781, 762, 773, 763,
- 780, 803, 776, 772, 777, 778, 779, 792, 785, 783,
- 793, 795, 794, 809, 800, 798, 799, 805, 808, 820,
- 816, 821, 806, 824, 825, 828, 830, 832, 834, 837,
- 839, 840, 833, 841, 843, 846, 848, 850, 849, 10,
- 851, 172, 855, 856, 434, 861, 863, 339, 166, 865,
- 508, 807, 560, 292, 796, 802, 753, 299, 826, 222,
- 847, 838, 731, 437, 668, 698, 556, 374, 0, 535,
- 581, 0, 0, 547
+short yygindex[] = { 0,
+ 410, 294, 0, 487, -329, -480, 0, 0, 438, 645,
+ 330, 0, 0, 0, 0, -474, 0, 0, 0, 0,
+ 0, -86, -287, 0, 0, 901, 0, 273, -629, 657,
+ 1047, -296, -297, -509, 264, -504, -494, 0, 0, 0,
+ 0, 0, 0, 0, 0, 242, -384, -137, 849, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1046, 934, -371,
+ 0, 0, 0, 684, 710, 0, -48, 0, 0, 0,
+ 351, 0, 1100, 0, 0, 0, -133, 790, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, -58, -130, -355, -375, 679, -84, 0, 0, 0,
+ 0, -167, 0, 345, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 949, 0, 0, 0, 0,
+ 975, 0, 0, 0, 792, 680, 504, 0,
};
-
-static const yytype_int16 yycheck[] =
-{
- 83, 137, 170, 135, 396, 60, 296, 143, 144, 501,
- 145, 147, 148, 149, 432, 400, 328, 403, 404, 409,
- 328, 59, 4, 159, 3, 160, 161, 162, 3, 153,
- 154, 155, 167, 4, 6, 688, 4, 8, 20, 175,
- 22, 59, 60, 44, 26, 27, 28, 433, 59, 3,
- 186, 59, 60, 59, 186, 3, 5, 3, 3, 590,
- 4, 3, 3, 107, 4, 550, 356, 59, 8, 359,
- 4, 59, 59, 5, 59, 548, 133, 59, 60, 131,
- 59, 131, 131, 0, 59, 134, 138, 546, 138, 4,
- 621, 59, 60, 4, 70, 139, 78, 8, 9, 156,
- 157, 139, 131, 158, 122, 134, 242, 243, 139, 245,
- 59, 54, 150, 151, 59, 133, 59, 59, 59, 150,
- 151, 131, 55, 178, 139, 133, 59, 59, 139, 184,
- 3, 186, 133, 139, 302, 131, 154, 155, 120, 132,
- 122, 133, 138, 796, 59, 133, 133, 3, 133, 59,
- 642, 133, 15, 16, 133, 137, 66, 139, 133, 132,
- 139, 3, 133, 135, 139, 133, 148, 149, 150, 151,
- 662, 139, 154, 155, 156, 157, 139, 148, 149, 133,
- 148, 149, 150, 151, 71, 133, 59, 133, 133, 133,
- 141, 133, 137, 133, 139, 139, 328, 139, 57, 133,
- 59, 586, 184, 59, 148, 149, 150, 151, 148, 149,
- 158, 159, 347, 184, 148, 149, 184, 162, 163, 704,
- 162, 163, 133, 132, 360, 361, 394, 362, 540, 702,
- 538, 132, 522, 651, 369, 371, 372, 623, 373, 629,
- 184, 700, 377, 87, 184, 59, 301, 61, 62, 89,
- 184, 91, 307, 308, 337, 310, 311, 312, 313, 314,
- 133, 397, 386, 132, 137, 132, 139, 391, 392, 393,
- 4, 131, 327, 328, 8, 9, 408, 133, 138, 64,
- 65, 132, 131, 139, 135, 340, 421, 160, 161, 138,
- 131, 133, 44, 132, 349, 137, 132, 138, 132, 354,
- 150, 151, 131, 358, 160, 161, 132, 59, 60, 138,
- 3, 113, 58, 59, 7, 132, 158, 159, 168, 455,
- 54, 55, 56, 4, 379, 59, 60, 8, 9, 465,
- 466, 132, 622, 4, 136, 69, 186, 8, 9, 131,
- 135, 185, 186, 187, 188, 189, 132, 191, 131, 83,
- 84, 134, 63, 64, 846, 187, 188, 189, 92, 93,
- 94, 95, 96, 132, 419, 132, 59, 60, 144, 145,
- 122, 132, 764, 132, 108, 132, 110, 132, 59, 132,
- 190, 133, 132, 185, 186, 187, 188, 189, 122, 131,
- 240, 241, 134, 185, 186, 187, 188, 189, 133, 133,
- 132, 132, 154, 155, 187, 188, 189, 132, 132, 699,
- 59, 60, 544, 132, 63, 64, 10, 11, 12, 13,
- 154, 155, 115, 116, 117, 118, 119, 132, 121, 122,
- 123, 124, 125, 126, 127, 131, 133, 132, 134, 131,
- 133, 3, 4, 185, 186, 187, 188, 189, 616, 132,
- 184, 32, 33, 34, 132, 132, 591, 132, 132, 132,
- 595, 154, 155, 598, 599, 158, 159, 136, 131, 190,
- 525, 164, 132, 122, 135, 132, 134, 132, 132, 135,
- 648, 649, 650, 136, 133, 132, 618, 542, 133, 185,
- 186, 187, 188, 189, 136, 135, 137, 59, 60, 131,
- 191, 791, 131, 131, 130, 154, 155, 4, 133, 3,
- 131, 801, 4, 135, 131, 647, 185, 186, 187, 188,
- 189, 653, 185, 186, 187, 188, 189, 185, 186, 187,
- 188, 189, 185, 186, 187, 188, 189, 135, 593, 594,
- 3, 137, 597, 185, 186, 187, 188, 189, 135, 131,
- 133, 131, 842, 115, 116, 117, 118, 119, 131, 121,
- 122, 123, 124, 125, 126, 127, 136, 59, 60, 133,
- 131, 133, 185, 186, 187, 188, 189, 131, 133, 58,
- 59, 60, 133, 133, 193, 717, 4, 755, 135, 131,
- 131, 131, 154, 155, 185, 186, 187, 188, 189, 133,
- 136, 656, 164, 4, 131, 131, 131, 6, 776, 777,
- 778, 666, 4, 131, 131, 185, 186, 187, 188, 189,
- 131, 131, 4, 115, 116, 117, 118, 119, 136, 121,
- 122, 123, 124, 125, 126, 127, 115, 116, 117, 118,
- 119, 133, 121, 122, 123, 124, 125, 126, 127, 185,
- 186, 187, 188, 189, 133, 61, 62, 131, 136, 136,
- 131, 131, 154, 155, 136, 131, 72, 73, 74, 131,
- 131, 131, 164, 131, 3, 154, 155, 185, 186, 187,
- 188, 189, 134, 134, 739, 164, 132, 132, 132, 95,
- 132, 97, 98, 99, 100, 101, 102, 103, 104, 105,
- 106, 3, 131, 136, 131, 5, 140, 185, 186, 187,
- 188, 189, 131, 185, 186, 187, 188, 189, 131, 855,
- 131, 58, 58, 131, 131, 861, 128, 67, 131, 784,
- 134, 59, 60, 139, 4, 131, 67, 131, 131, 6,
- 131, 136, 77, 131, 150, 151, 3, 14, 831, 138,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 131,
- 134, 844, 29, 30, 31, 4, 139, 131, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 139, 45, 46,
- 47, 48, 49, 50, 51, 131, 53, 115, 116, 117,
- 118, 119, 192, 121, 122, 123, 124, 125, 126, 127,
- 134, 68, 135, 4, 131, 133, 131, 131, 75, 76,
- 131, 78, 131, 80, 81, 82, 131, 131, 85, 86,
- 131, 88, 135, 90, 131, 131, 154, 155, 4, 4,
- 131, 4, 131, 131, 131, 131, 164, 58, 131, 142,
- 4, 131, 109, 131, 111, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 77, 3, 131, 134, 132, 135, 191,
- 131, 4, 131, 133, 141, 142, 3, 140, 134, 134,
- 132, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 142,
- 149, 132, 151, 132, 153, 148, 155, 150, 157, 152,
- 159, 154, 161, 156, 163, 158, 165, 160, 134, 162,
- 132, 164, 132, 131, 5, 131, 58, 131, 133, 131,
- 4, 4, 67, 131, 131, 131, 139, 67, 131, 131,
- 131, 4, 137, 4, 134, 134, 134, 134, 131, 131,
- 136, 4, 131, 131, 4, 4, 32, 131, 5, 131,
- 3, 7, 132, 134, 132, 132, 132, 4, 131, 134,
- 131, 131, 134, 59, 131, 134, 134, 132, 131, 4,
- 134, 131, 138, 131, 4, 4, 132, 5, 32, 134,
- 4, 134, 192, 134, 134, 131, 134, 134, 129, 5,
- 134, 55, 131, 131, 336, 131, 860, 192, 49, 134,
- 396, 767, 450, 164, 754, 762, 678, 169, 795, 139,
- 833, 821, 653, 341, 603, 629, 443, 249, -1, 419,
- 455, -1, -1, 431
+#define YYTABLESIZE 6091
+short yytable[] = { 186,
+ 181, 299, 211, 195, 177, 255, 252, 400, 237, 238,
+ 507, 518, 260, 261, 266, 499, 608, 177, 206, 273,
+ 514, 283, 284, 285, 282, 177, 206, 313, 296, 224,
+ 424, 423, 311, 309, 677, 310, 528, 312, 177, 639,
+ 302, 206, 637, 327, 59, 686, 519, 520, 518, 279,
+ 635, 332, 26, 439, 334, 26, 548, 760, 526, 537,
+ 231, 214, 518, 269, 267, 268, 188, 455, 539, 516,
+ 541, 459, 543, 755, 7, 699, 701, 550, 703, 224,
+ 214, 313, 297, 308, 292, 122, 311, 309, 8, 310,
+ 523, 312, 124, 123, 549, 125, 214, 286, 281, 812,
+ 335, 287, 288, 274, 275, 276, 9, 366, 367, 857,
+ 369, 313, 547, 773, 656, 313, 311, 309, 305, 310,
+ 311, 312, 189, 813, 317, 312, 333, 12, 756, 313,
+ 192, 263, 232, 406, 311, 270, 834, 224, 293, 312,
+ 538, 193, 194, 484, 545, 690, 603, 485, 206, 540,
+ 192, 542, 289, 544, 364, 365, 700, 702, 13, 704,
+ 705, 193, 194, 858, 669, 826, 122, 532, 14, 14,
+ 348, 670, 348, 124, 123, 643, 125, 313, 673, 131,
+ 740, 26, 311, 309, 313, 310, 234, 312, 132, 311,
+ 309, 235, 310, 770, 312, 313, 769, 430, 169, 410,
+ 311, 309, 327, 310, 768, 312, 643, 286, 444, 666,
+ 313, 287, 288, 15, 737, 311, 309, 736, 310, 510,
+ 312, 511, 176, 461, 458, 505, 460, 134, 471, 487,
+ 468, 488, 489, 623, 477, 176, 469, 470, 481, 304,
+ 533, 405, 135, 176, 633, 634, 222, 411, 412, 434,
+ 413, 414, 415, 416, 417, 653, 422, 528, 136, 562,
+ 304, 176, 509, 563, 564, 471, 692, 286, 305, 429,
+ 438, 287, 288, 26, 711, 26, 527, 262, 212, 471,
+ 435, 360, 137, 535, 360, 328, 138, 361, 498, 446,
+ 361, 201, 202, 513, 453, 139, 222, 212, 457, 201,
+ 202, 140, 223, 203, 204, 141, 26, 676, 142, 565,
+ 566, 567, 143, 212, 201, 202, 201, 202, 685, 483,
+ 579, 26, 26, 144, 568, 197, 198, 199, 200, 145,
+ 587, 588, 146, 691, 213, 495, 1, 2, 569, 570,
+ 147, 502, 503, 504, 785, 786, 787, 571, 572, 573,
+ 574, 575, 223, 213, 222, 447, 448, 307, 178, 179,
+ 317, 148, 205, 576, 853, 577, 149, 256, 257, 213,
+ 192, 178, 179, 347, 225, 474, 475, 205, 803, 178,
+ 179, 193, 194, 466, 688, 522, 207, 208, 192, 262,
+ 694, 695, 178, 179, 180, 226, 227, 178, 179, 193,
+ 194, 207, 208, 150, 201, 202, 215, 180, 632, 767,
+ 223, 347, 474, 475, 347, 180, 347, 347, 347, 347,
+ 176, 201, 202, 151, 225, 215, 203, 204, 180, 216,
+ 217, 180, 763, 180, 764, 152, 320, 153, 321, 154,
+ 155, 215, 322, 323, 324, 226, 227, 681, 216, 217,
+ 26, 26, 657, 156, 157, 158, 660, 159, 160, 663,
+ 664, 161, 162, 313, 347, 625, 347, 205, 311, 309,
+ 163, 310, 164, 312, 166, 201, 202, 167, 631, 708,
+ 709, 710, 225, 168, 205, 174, 683, 175, 183, 184,
+ 185, 207, 208, 191, 325, 313, 347, 279, 347, 300,
+ 311, 309, 821, 310, 301, 312, 303, 336, 207, 208,
+ 340, 306, 828, 339, 341, 707, 342, 313, 343, 552,
+ 344, 731, 311, 309, 26, 783, 26, 312, 347, 346,
+ 348, 348, 352, 658, 659, 313, 326, 662, 205, 349,
+ 311, 309, 353, 310, 313, 312, 350, 192, 356, 311,
+ 309, 558, 310, 851, 312, 358, 178, 179, 193, 194,
+ 357, 360, 207, 208, 256, 257, 361, 362, 348, 363,
+ 376, 348, 313, 348, 348, 348, 348, 311, 309, 368,
+ 310, 370, 312, 371, 372, 774, 796, 374, 377, 342,
+ 378, 561, 180, 342, 342, 342, 734, 342, 379, 342,
+ 583, 380, 381, 382, 383, 313, 744, 809, 810, 811,
+ 311, 309, 313, 310, 384, 312, 817, 311, 309, 816,
+ 310, 348, 312, 348, 313, 385, 386, 388, 601, 311,
+ 309, 396, 310, 347, 312, 390, 389, 391, 392, 393,
+ 395, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 347, 347, 348, 397, 348, 347, 347, 347, 394,
+ 398, 741, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 399, 347, 347, 347, 347, 347, 347, 347, 781,
+ 347, 402, 63, 403, 65, 404, 67, 407, 69, 409,
+ 71, 418, 73, 419, 75, 347, 77, 442, 79, 421,
+ 431, 437, 347, 347, 432, 347, 443, 347, 347, 347,
+ 433, 441, 347, 347, 347, 347, 347, 347, 347, 307,
+ 856, 445, 313, 451, 818, 452, 863, 311, 309, 738,
+ 310, 454, 312, 456, 450, 462, 347, 464, 347, 465,
+ 347, 479, 463, 844, 480, 482, 494, 525, 493, 492,
+ 497, 501, 506, 496, 536, 551, 852, 553, 554, 556,
+ 347, 347, 557, 307, 585, 560, 586, 347, 347, 347,
+ 347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
+ 347, 347, 347, 347, 347, 589, 590, 582, 591, 592,
+ 348, 596, 593, 594, 597, 598, 599, 602, 348, 348,
+ 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
+ 307, 600, 307, 348, 348, 348, 603, 604, 605, 348,
+ 348, 348, 348, 348, 348, 348, 348, 348, 607, 348,
+ 348, 348, 348, 348, 348, 348, 606, 348, 609, 610,
+ 611, 612, 307, 613, 307, 615, 616, 617, 618, 619,
+ 620, 621, 348, 622, 595, 628, 624, 629, 627, 348,
+ 348, 630, 348, 255, 348, 348, 348, 643, 641, 348,
+ 348, 348, 348, 348, 348, 348, 170, 642, 644, 645,
+ 646, 651, 62, 647, 64, 648, 66, 649, 68, 650,
+ 70, 652, 72, 348, 74, 348, 76, 348, 78, 654,
+ 655, 466, 661, 665, 666, 668, 674, 680, 370, 672,
+ 675, 673, 679, 682, 684, 693, 706, 348, 348, 732,
+ 735, 739, 742, 743, 348, 348, 348, 348, 348, 348,
+ 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
+ 348, 348, 745, 746, 748, 749, 370, 61, 750, 370,
+ 751, 753, 370, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 754, 761, 758, 759, 762, 771, 775, 776, 307,
+ 772, 777, 778, 779, 780, 782, 784, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 307, 307, 370,
+ 792, 791, 307, 307, 307, 793, 794, 797, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 798, 307, 307,
+ 307, 307, 307, 307, 307, 799, 307, 802, 804, 805,
+ 807, 815, 820, 370, 819, 823, 808, 824, 827, 832,
+ 829, 307, 831, 833, 836, 838, 839, 840, 307, 307,
+ 842, 307, 845, 307, 307, 307, 847, 848, 307, 307,
+ 849, 307, 307, 307, 307, 850, 854, 855, 864, 860,
+ 1, 3, 364, 365, 172, 26, 315, 358, 188, 359,
+ 148, 284, 307, 16, 307, 139, 752, 825, 667, 728,
+ 801, 338, 837, 559, 165, 846, 373, 385, 555, 171,
+ 862, 298, 534, 795, 508, 11, 307, 307, 420, 546,
+ 806, 291, 221, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 436, 698, 581, 0, 0, 0, 0, 385, 0,
+ 0, 385, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 370, 0,
+ 0, 0, 0, 0, 0, 0, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 385, 0,
+ 0, 370, 370, 370, 0, 0, 0, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 0, 370, 370, 370,
+ 370, 370, 370, 370, 0, 370, 0, 0, 0, 0,
+ 0, 0, 385, 0, 0, 0, 0, 0, 0, 0,
+ 370, 0, 0, 0, 0, 0, 0, 370, 370, 0,
+ 370, 0, 370, 370, 370, 0, 0, 370, 370, 0,
+ 370, 370, 370, 370, 233, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 370, 0, 370, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 370, 370, 0, 233, 0,
+ 0, 0, 370, 370, 370, 370, 370, 370, 370, 370,
+ 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 250, 0, 0,
+ 0, 0, 0, 0, 0, 233, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 385, 0, 0,
+ 0, 0, 0, 0, 0, 385, 385, 385, 385, 385,
+ 385, 385, 385, 385, 385, 385, 385, 233, 0, 233,
+ 385, 385, 385, 0, 0, 0, 385, 385, 385, 385,
+ 385, 385, 385, 385, 385, 0, 385, 385, 385, 385,
+ 385, 385, 385, 0, 385, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 385,
+ 0, 0, 0, 0, 0, 0, 385, 385, 0, 385,
+ 0, 385, 385, 385, 0, 0, 385, 385, 0, 385,
+ 385, 385, 385, 205, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 385, 0, 385, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 385, 385, 0, 205, 0, 0,
+ 0, 385, 385, 385, 385, 385, 385, 385, 385, 385,
+ 385, 385, 385, 385, 385, 385, 385, 385, 385, 0,
+ 0, 0, 0, 0, 233, 0, 0, 0, 0, 0,
+ 0, 0, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 205, 0, 0, 233, 233, 233,
+ 0, 0, 0, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 0, 233, 233, 233, 233, 233, 233, 233,
+ 0, 233, 0, 0, 0, 0, 205, 0, 205, 0,
+ 0, 0, 0, 0, 0, 0, 233, 0, 0, 0,
+ 0, 0, 0, 233, 233, 0, 233, 0, 233, 233,
+ 233, 0, 0, 233, 233, 0, 233, 233, 233, 233,
+ 209, 0, 0, 0, 0, 0, 0, 0, 0, 466,
+ 201, 202, 0, 0, 0, 0, 0, 233, 0, 233,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 233, 233, 0, 209, 0, 0, 0, 233, 233,
+ 233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 239, 240, 241, 242,
+ 243, 0, 244, 205, 245, 246, 247, 248, 249, 0,
+ 0, 0, 0, 250, 0, 0, 0, 0, 0, 0,
+ 0, 209, 0, 0, 0, 0, 0, 207, 208, 0,
+ 0, 0, 0, 205, 0, 0, 0, 251, 0, 0,
+ 0, 205, 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 209, 0, 209, 205, 205, 205, 0,
+ 0, 0, 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 0, 205, 205, 205, 205, 205, 205, 205, 0,
+ 205, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 205, 0, 0, 0, 0,
+ 0, 0, 205, 205, 0, 205, 0, 205, 205, 205,
+ 0, 0, 205, 205, 0, 205, 205, 205, 205, 221,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 205, 0, 205, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 205, 205, 0, 221, 0, 0, 0, 205, 205, 205,
+ 205, 205, 205, 205, 205, 205, 205, 205, 205, 205,
+ 205, 205, 205, 205, 205, 0, 0, 0, 0, 0,
+ 209, 0, 0, 0, 0, 0, 0, 0, 209, 209,
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
+ 221, 0, 0, 209, 209, 209, 0, 0, 0, 209,
+ 209, 209, 209, 209, 209, 209, 209, 209, 0, 209,
+ 209, 209, 209, 209, 209, 209, 0, 209, 0, 0,
+ 0, 0, 221, 0, 221, 0, 0, 0, 0, 0,
+ 0, 0, 209, 0, 0, 0, 0, 0, 0, 209,
+ 209, 0, 209, 0, 209, 209, 209, 0, 0, 209,
+ 209, 0, 209, 209, 209, 209, 199, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 201, 202, 0, 0,
+ 0, 0, 0, 209, 0, 209, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 209, 209, 0,
+ 0, 0, 0, 0, 209, 209, 209, 209, 209, 209,
+ 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
+ 209, 209, 239, 240, 241, 242, 243, 0, 244, 205,
+ 245, 246, 247, 248, 249, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 199, 0, 0,
+ 0, 0, 0, 207, 208, 0, 0, 0, 0, 221,
+ 0, 0, 0, 251, 0, 0, 0, 221, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 221, 221, 200,
+ 0, 199, 221, 221, 221, 0, 0, 0, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 0, 221, 221,
+ 221, 221, 221, 221, 221, 0, 221, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 221, 0, 0, 0, 0, 0, 0, 221, 221,
+ 0, 221, 0, 221, 221, 221, 0, 0, 221, 221,
+ 0, 221, 221, 221, 221, 227, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 221, 0, 221, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 221, 221, 0, 0,
+ 0, 0, 0, 221, 221, 221, 221, 221, 221, 221,
+ 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+ 221, 0, 0, 0, 0, 0, 199, 0, 0, 0,
+ 0, 0, 0, 0, 199, 199, 199, 199, 199, 199,
+ 199, 199, 199, 199, 199, 199, 227, 0, 0, 199,
+ 199, 199, 0, 0, 0, 199, 199, 199, 199, 199,
+ 199, 199, 199, 199, 0, 199, 199, 199, 199, 199,
+ 199, 199, 0, 199, 0, 0, 0, 0, 227, 0,
+ 227, 0, 0, 0, 0, 0, 0, 0, 199, 0,
+ 0, 0, 0, 0, 0, 199, 199, 0, 199, 0,
+ 199, 199, 199, 0, 0, 199, 199, 0, 199, 199,
+ 199, 199, 157, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 199,
+ 0, 199, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 199, 199, 0, 0, 0, 0, 0,
+ 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
+ 199, 199, 199, 199, 199, 199, 199, 199, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 157, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 227, 0, 0, 0, 0,
+ 0, 0, 0, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 0, 0, 157, 227, 227,
+ 227, 0, 0, 0, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 0, 227, 227, 227, 227, 227, 227,
+ 227, 0, 227, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 227, 0, 0,
+ 0, 0, 0, 0, 227, 227, 0, 227, 0, 227,
+ 227, 227, 0, 0, 227, 227, 0, 227, 227, 227,
+ 227, 202, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 227, 0,
+ 227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 227, 227, 0, 0, 0, 0, 0, 227,
+ 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
+ 227, 227, 227, 227, 227, 227, 227, 0, 0, 0,
+ 0, 0, 157, 0, 0, 0, 0, 0, 0, 0,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 202, 0, 0, 157, 157, 157, 0, 0,
+ 0, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 0, 157, 157, 157, 157, 157, 157, 157, 0, 157,
+ 0, 0, 0, 0, 202, 0, 202, 0, 0, 0,
+ 0, 0, 0, 0, 157, 0, 0, 0, 0, 0,
+ 0, 157, 157, 158, 157, 0, 157, 157, 157, 0,
+ 0, 157, 157, 0, 157, 157, 157, 157, 284, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 157, 0, 157, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 157,
+ 157, 0, 0, 0, 0, 0, 157, 157, 157, 157,
+ 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
+ 157, 157, 157, 157, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 284,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 202, 0, 0, 0, 0, 0, 0, 0, 202,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+ 202, 284, 0, 284, 202, 202, 202, 0, 0, 0,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 0,
+ 202, 202, 202, 202, 202, 202, 202, 0, 202, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 202, 0, 0, 0, 0, 0, 0,
+ 202, 202, 0, 202, 0, 202, 202, 202, 0, 0,
+ 202, 202, 0, 202, 202, 202, 202, 286, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 202, 0, 202, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 202, 202,
+ 0, 0, 0, 0, 0, 202, 202, 202, 202, 202,
+ 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+ 202, 202, 202, 0, 0, 0, 0, 0, 284, 0,
+ 0, 0, 0, 0, 0, 0, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 286, 0,
+ 0, 284, 284, 284, 0, 0, 0, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 0, 284, 284, 284,
+ 284, 284, 284, 284, 0, 284, 0, 0, 0, 0,
+ 286, 0, 286, 0, 0, 0, 0, 0, 0, 0,
+ 284, 0, 0, 0, 0, 0, 0, 284, 284, 0,
+ 284, 0, 284, 284, 284, 0, 0, 284, 284, 0,
+ 284, 284, 284, 284, 249, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 284, 0, 284, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 284, 284, 0, 0, 0,
+ 0, 0, 284, 284, 284, 284, 284, 284, 284, 284,
+ 284, 284, 284, 284, 284, 284, 284, 284, 284, 284,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 249, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 286, 0, 0,
+ 0, 0, 0, 0, 0, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 0, 0, 249,
+ 286, 286, 286, 0, 0, 0, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 0, 286, 286, 286, 286,
+ 286, 286, 286, 0, 286, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 286,
+ 0, 0, 0, 0, 0, 0, 286, 286, 0, 286,
+ 0, 286, 286, 286, 0, 0, 286, 286, 0, 286,
+ 286, 286, 286, 279, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 286, 0, 286, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 286, 286, 0, 0, 0, 0,
+ 0, 286, 286, 286, 286, 286, 286, 286, 286, 286,
+ 286, 286, 286, 286, 286, 286, 286, 286, 286, 0,
+ 0, 0, 0, 0, 249, 0, 0, 0, 0, 0,
+ 0, 0, 249, 249, 249, 249, 249, 249, 249, 249,
+ 249, 249, 249, 249, 279, 0, 0, 249, 249, 249,
+ 0, 0, 0, 249, 249, 249, 249, 249, 249, 249,
+ 249, 249, 0, 249, 249, 249, 249, 249, 249, 249,
+ 0, 249, 0, 0, 0, 0, 0, 0, 279, 0,
+ 0, 0, 0, 0, 0, 0, 249, 0, 0, 0,
+ 0, 0, 0, 249, 249, 0, 249, 0, 249, 249,
+ 249, 0, 0, 249, 249, 0, 249, 249, 249, 249,
+ 161, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 249, 0, 249,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 249, 249, 0, 0, 0, 0, 0, 249, 249,
+ 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
+ 249, 249, 249, 249, 249, 249, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 161, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 279, 0, 0, 0, 0, 0, 0,
+ 0, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 279, 279, 0, 0, 161, 279, 279, 279, 0,
+ 0, 0, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 0, 279, 279, 279, 279, 279, 279, 279, 0,
+ 279, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 279, 0, 0, 0, 0,
+ 0, 0, 279, 279, 0, 279, 0, 279, 279, 279,
+ 0, 0, 279, 279, 0, 279, 279, 279, 279, 160,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 279, 0, 279, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 279, 279, 0, 0, 0, 0, 0, 279, 279, 279,
+ 279, 279, 279, 279, 279, 279, 279, 279, 279, 279,
+ 279, 279, 279, 279, 279, 0, 0, 0, 0, 0,
+ 161, 0, 0, 0, 0, 0, 0, 0, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 160, 0, 0, 161, 161, 161, 0, 0, 0, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 0, 161,
+ 161, 161, 161, 161, 161, 161, 0, 161, 0, 0,
+ 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
+ 0, 0, 161, 0, 0, 0, 0, 0, 0, 161,
+ 161, 0, 161, 0, 161, 161, 161, 0, 0, 161,
+ 161, 0, 161, 161, 161, 161, 275, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 161, 0, 161, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 161, 161, 0,
+ 0, 0, 0, 0, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 161, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 160,
+ 0, 0, 0, 0, 0, 0, 0, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 0,
+ 0, 275, 160, 160, 160, 0, 0, 0, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 0, 160, 160,
+ 160, 160, 160, 160, 160, 0, 160, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 160, 0, 0, 0, 0, 0, 0, 160, 160,
+ 0, 160, 0, 160, 160, 160, 0, 0, 160, 160,
+ 0, 160, 160, 160, 160, 97, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 160, 0, 160, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 160, 160, 0, 0,
+ 0, 0, 0, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 0, 0, 0, 0, 0, 275, 0, 0, 0,
+ 0, 0, 0, 0, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 97, 0, 0, 275,
+ 275, 275, 0, 0, 0, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 0, 275, 275, 275, 275, 275,
+ 275, 275, 0, 275, 0, 0, 0, 0, 0, 0,
+ 97, 0, 0, 0, 0, 0, 0, 0, 275, 0,
+ 0, 0, 0, 0, 0, 275, 275, 0, 275, 0,
+ 275, 275, 275, 0, 0, 275, 275, 0, 275, 275,
+ 275, 275, 99, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 275,
+ 0, 275, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 275, 275, 0, 0, 0, 0, 0,
+ 275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
+ 275, 275, 275, 275, 275, 275, 275, 275, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
+ 0, 0, 0, 97, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 0, 0, 99, 97, 97,
+ 97, 0, 0, 0, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 0, 97, 97, 97, 97, 97, 97,
+ 97, 0, 97, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 97, 0, 0,
+ 0, 0, 0, 0, 97, 97, 0, 97, 0, 97,
+ 97, 97, 0, 0, 97, 97, 0, 97, 97, 97,
+ 97, 247, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 97, 0,
+ 97, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 97, 97, 0, 0, 0, 0, 0, 97,
+ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
+ 97, 97, 97, 97, 97, 97, 97, 0, 0, 0,
+ 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 247, 0, 0, 99, 99, 99, 0, 0,
+ 0, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 0, 99, 99, 99, 99, 99, 99, 99, 0, 99,
+ 0, 0, 0, 0, 0, 0, 247, 0, 0, 0,
+ 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
+ 0, 99, 99, 0, 99, 0, 99, 99, 99, 0,
+ 0, 99, 99, 0, 99, 99, 99, 99, 257, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 99, 0, 99, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,
+ 99, 0, 0, 0, 0, 0, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 257,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 247, 0, 0, 0, 0, 0, 0, 0, 247,
+ 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+ 247, 0, 0, 257, 247, 247, 247, 0, 0, 0,
+ 247, 247, 247, 247, 247, 247, 247, 247, 247, 0,
+ 247, 247, 247, 247, 247, 247, 247, 0, 247, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 247, 0, 0, 0, 0, 0, 0,
+ 247, 247, 0, 247, 0, 247, 247, 247, 0, 0,
+ 247, 247, 0, 247, 247, 247, 247, 273, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 247, 0, 247, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 247, 247,
+ 0, 0, 0, 0, 0, 247, 247, 247, 247, 247,
+ 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+ 247, 247, 247, 0, 0, 0, 0, 0, 257, 0,
+ 0, 0, 0, 0, 0, 0, 257, 257, 257, 257,
+ 257, 257, 257, 257, 257, 257, 257, 257, 273, 0,
+ 0, 257, 257, 257, 0, 0, 0, 257, 257, 257,
+ 257, 257, 257, 257, 257, 257, 0, 257, 257, 257,
+ 257, 257, 257, 257, 0, 257, 0, 0, 0, 0,
+ 0, 0, 273, 0, 0, 0, 0, 0, 0, 0,
+ 257, 0, 0, 0, 0, 0, 0, 257, 257, 0,
+ 257, 0, 257, 257, 257, 0, 0, 257, 257, 0,
+ 257, 257, 257, 257, 18, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 257, 0, 257, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 257, 257, 0, 0, 0,
+ 0, 0, 257, 257, 257, 257, 257, 257, 257, 257,
+ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 273, 0, 0,
+ 0, 0, 0, 0, 0, 273, 273, 273, 273, 273,
+ 273, 273, 273, 273, 273, 273, 273, 0, 0, 18,
+ 273, 273, 273, 0, 0, 0, 273, 273, 273, 273,
+ 273, 273, 273, 273, 273, 0, 273, 273, 273, 273,
+ 273, 273, 273, 0, 273, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 273,
+ 0, 0, 0, 0, 0, 0, 273, 273, 0, 273,
+ 0, 273, 273, 273, 0, 0, 273, 273, 0, 273,
+ 273, 273, 273, 277, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 273, 0, 273, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 273, 273, 0, 0, 0, 0,
+ 0, 273, 273, 273, 273, 273, 273, 273, 273, 273,
+ 273, 273, 273, 273, 273, 273, 273, 273, 273, 0,
+ 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
+ 0, 0, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 277, 0, 0, 18, 18, 18,
+ 0, 0, 0, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 0, 18, 18, 18, 18, 18, 18, 18,
+ 0, 18, 0, 0, 0, 0, 0, 0, 277, 0,
+ 0, 0, 0, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 0, 18, 18, 0, 18, 0, 18, 18,
+ 18, 0, 0, 18, 18, 0, 18, 18, 18, 18,
+ 270, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 18, 0, 18,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 18, 18, 0, 0, 0, 0, 0, 18, 18,
+ 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 18, 18, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 270, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 277, 0, 0, 0, 0, 0, 0,
+ 0, 277, 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 0, 0, 270, 277, 277, 277, 0,
+ 0, 0, 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 0, 277, 277, 277, 277, 277, 277, 277, 0,
+ 277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 277, 0, 0, 0, 0,
+ 0, 0, 277, 277, 0, 277, 0, 277, 277, 277,
+ 0, 0, 277, 277, 0, 277, 277, 277, 277, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 277, 0, 277, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 277, 277, 0, 0, 0, 0, 0, 277, 277, 277,
+ 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
+ 277, 277, 277, 277, 277, 22, 0, 0, 0, 0,
+ 270, 0, 0, 0, 0, 0, 0, 0, 270, 270,
+ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
+ 0, 0, 0, 270, 270, 270, 0, 0, 0, 270,
+ 270, 270, 270, 270, 270, 270, 270, 270, 0, 270,
+ 270, 270, 270, 270, 270, 270, 0, 270, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 25, 270, 0, 0, 0, 0, 0, 0, 270,
+ 270, 0, 270, 0, 270, 270, 270, 0, 0, 270,
+ 270, 0, 270, 270, 270, 270, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 270, 0, 270, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 270, 270, 0,
+ 0, 0, 0, 0, 270, 270, 270, 270, 270, 270,
+ 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
+ 270, 270, 25, 0, 473, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 0, 0, 250, 0, 0,
+ 0, 0, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 0, 0, 0, 22, 22, 22,
+ 0, 0, 0, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 0, 22, 22, 22, 22, 22, 22, 22,
+ 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 22, 22, 0, 22, 0, 22, 22,
+ 22, 0, 0, 22, 22, 0, 22, 0, 22, 0,
+ 0, 0, 0, 0, 0, 0, 250, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 22, 0, 22,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 22, 22, 0, 0, 0, 0, 0, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 0, 0, 0, 0,
+ 0, 25, 0, 0, 0, 0, 0, 0, 0, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 0, 0, 0, 25, 25, 25, 0, 0, 0,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 0,
+ 25, 25, 25, 25, 25, 25, 25, 0, 25, 0,
+ 0, 471, 0, 0, 0, 472, 0, 0, 0, 0,
+ 0, 0, 0, 25, 595, 347, 0, 0, 0, 0,
+ 25, 25, 0, 25, 0, 25, 25, 25, 0, 0,
+ 25, 25, 0, 25, 0, 25, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 25, 201, 202, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 201, 202, 0, 0, 0, 0, 0, 0, 25, 25,
+ 59, 0, 0, 0, 0, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 0, 347, 0, 0, 0, 0, 0,
+ 0, 0, 0, 239, 240, 241, 242, 243, 0, 244,
+ 205, 245, 246, 247, 248, 249, 239, 240, 241, 242,
+ 243, 0, 244, 205, 245, 246, 247, 248, 249, 0,
+ 0, 0, 0, 0, 207, 208, 0, 0, 474, 475,
+ 712, 713, 0, 0, 251, 0, 0, 207, 208, 201,
+ 202, 714, 715, 716, 0, 0, 0, 251, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 717, 0, 718, 719, 720, 721,
+ 722, 723, 724, 725, 726, 727, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 239, 240, 241, 242, 243,
+ 192, 244, 205, 245, 246, 247, 248, 249, 0, 0,
+ 0, 193, 194, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 207, 208, 0, 15,
+ 0, 0, 0, 0, 0, 0, 251, 16, 0, 0,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 0,
+ 0, 0, 26, 27, 28, 0, 0, 0, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 0, 38, 39,
+ 40, 41, 42, 43, 44, 0, 45, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 46, 0, 0, 0, 0, 0, 0, 47, 48,
+ 0, 49, 0, 50, 51, 52, 0, 0, 53, 54,
+ 0, 55, 0, 56, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 57, 0, 58, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 60, 61, 0, 0,
+ 0, 0, 0, 62, 63, 64, 65, 66, 67, 68,
+ 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+ 79,
};
-
- /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_uint16 yystos[] =
-{
- 0, 15, 16, 195, 196, 197, 198, 132, 132, 0,
- 196, 70, 205, 139, 139, 132, 6, 14, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 29, 30, 31,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 45,
- 46, 47, 48, 49, 50, 51, 53, 68, 75, 76,
- 78, 80, 81, 82, 85, 86, 88, 90, 109, 111,
- 135, 141, 142, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 200, 207, 209, 210, 211, 212, 214, 215, 223,
- 226, 227, 229, 230, 237, 239, 240, 242, 244, 246,
- 250, 251, 252, 255, 257, 264, 269, 272, 278, 283,
- 284, 285, 286, 287, 288, 289, 290, 291, 292, 294,
- 295, 296, 298, 299, 300, 301, 302, 305, 306, 307,
- 308, 309, 131, 71, 206, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 229, 132, 132, 132,
- 135, 142, 211, 213, 231, 132, 141, 4, 133, 148,
- 149, 184, 335, 345, 133, 207, 190, 132, 241, 3,
- 59, 199, 131, 139, 150, 151, 321, 334, 10, 11,
- 12, 13, 59, 60, 63, 64, 122, 133, 154, 155,
- 270, 323, 324, 3, 59, 133, 139, 162, 163, 280,
- 332, 333, 280, 3, 59, 133, 139, 160, 161, 274,
- 330, 331, 59, 139, 310, 54, 59, 315, 323, 323,
- 115, 116, 117, 118, 119, 121, 123, 124, 125, 126,
- 127, 133, 164, 323, 343, 344, 133, 156, 157, 326,
- 327, 323, 323, 44, 133, 323, 352, 353, 326, 326,
- 59, 139, 254, 311, 133, 352, 352, 352, 322, 335,
- 133, 253, 335, 323, 344, 344, 344, 4, 8, 9,
- 59, 346, 254, 5, 59, 265, 247, 344, 326, 210,
- 322, 190, 135, 323, 133, 8, 335, 135, 113, 136,
- 185, 186, 187, 188, 189, 334, 335, 340, 341, 342,
- 20, 22, 26, 27, 28, 78, 120, 133, 137, 323,
- 326, 334, 335, 348, 349, 350, 245, 137, 208, 206,
- 135, 191, 131, 131, 131, 130, 325, 133, 4, 135,
- 131, 131, 259, 3, 135, 281, 279, 3, 135, 273,
- 131, 131, 131, 131, 131, 326, 326, 323, 323, 133,
- 323, 133, 133, 133, 343, 133, 344, 193, 4, 135,
- 131, 131, 131, 133, 4, 131, 131, 131, 6, 228,
- 4, 131, 131, 131, 131, 4, 131, 131, 131, 131,
- 131, 208, 248, 131, 131, 136, 335, 322, 131, 224,
- 134, 134, 335, 335, 335, 335, 335, 335, 335, 131,
- 134, 132, 4, 219, 220, 221, 222, 324, 327, 334,
- 335, 132, 132, 132, 209, 207, 335, 321, 3, 3,
- 133, 297, 3, 131, 136, 344, 131, 335, 64, 65,
- 271, 5, 140, 131, 335, 131, 208, 131, 335, 208,
- 323, 323, 344, 58, 58, 131, 131, 58, 267, 344,
- 323, 323, 3, 7, 133, 158, 159, 328, 329, 344,
- 128, 134, 344, 131, 335, 55, 59, 316, 59, 61,
- 62, 317, 320, 67, 4, 131, 67, 352, 59, 133,
- 260, 131, 131, 352, 352, 352, 322, 131, 253, 346,
- 323, 57, 59, 351, 59, 133, 261, 315, 249, 133,
- 328, 328, 243, 87, 191, 238, 136, 59, 334, 212,
- 337, 338, 339, 136, 136, 340, 344, 131, 131, 138,
- 131, 138, 131, 138, 131, 138, 137, 332, 137, 330,
- 137, 328, 138, 136, 3, 131, 325, 134, 4, 136,
- 259, 139, 136, 4, 8, 9, 54, 55, 56, 69,
- 83, 84, 92, 93, 94, 95, 96, 108, 110, 282,
- 323, 345, 347, 139, 136, 275, 131, 131, 323, 323,
- 192, 131, 134, 131, 131, 131, 3, 135, 131, 131,
- 131, 4, 136, 131, 135, 131, 131, 4, 131, 4,
- 131, 316, 4, 131, 131, 293, 131, 58, 131, 4,
- 131, 131, 77, 131, 208, 191, 335, 232, 132, 131,
- 134, 4, 327, 324, 335, 334, 216, 333, 217, 331,
- 218, 329, 131, 3, 134, 140, 134, 132, 132, 132,
- 132, 132, 134, 131, 315, 5, 131, 267, 344, 335,
- 335, 344, 131, 335, 344, 344, 133, 131, 311, 4,
- 59, 66, 319, 4, 131, 67, 131, 59, 133, 262,
- 139, 67, 322, 131, 334, 131, 59, 133, 263, 59,
- 266, 267, 208, 328, 137, 144, 145, 336, 337, 225,
- 131, 138, 131, 138, 131, 138, 316, 131, 334, 322,
- 322, 322, 330, 61, 62, 72, 73, 74, 95, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 106, 276,
- 318, 320, 334, 131, 203, 335, 134, 131, 134, 131,
- 134, 316, 136, 134, 134, 335, 4, 131, 312, 136,
- 131, 4, 4, 270, 131, 131, 4, 59, 268, 4,
- 4, 312, 131, 131, 89, 91, 233, 234, 208, 333,
- 331, 329, 134, 5, 132, 334, 132, 132, 132, 132,
- 3, 32, 335, 134, 186, 131, 32, 33, 34, 313,
- 314, 303, 4, 131, 134, 131, 263, 322, 134, 134,
- 131, 256, 268, 7, 346, 132, 138, 233, 131, 59,
- 322, 322, 322, 107, 139, 277, 134, 131, 134, 335,
- 4, 131, 208, 304, 131, 4, 271, 312, 4, 208,
- 132, 236, 5, 192, 32, 131, 201, 134, 313, 4,
- 134, 134, 258, 134, 235, 207, 131, 277, 134, 129,
- 134, 134, 208, 207, 316, 131, 131, 323, 5, 59,
- 204, 131, 202, 203, 323, 134
+short yycheck[] = { 86,
+ 59, 169, 136, 134, 40, 40, 144, 295, 142, 143,
+ 395, 40, 146, 147, 148, 40, 497, 40, 40, 40,
+ 40, 159, 160, 161, 158, 40, 40, 37, 166, 40,
+ 328, 328, 42, 43, 40, 45, 408, 47, 40, 549,
+ 174, 40, 547, 40, 91, 40, 402, 403, 40, 40,
+ 545, 185, 0, 40, 185, 125, 432, 687, 313, 44,
+ 313, 40, 40, 313, 149, 150, 257, 355, 44, 399,
+ 44, 359, 44, 258, 58, 44, 44, 433, 44, 40,
+ 40, 37, 167, 93, 259, 44, 42, 43, 58, 45,
+ 46, 47, 44, 44, 123, 44, 40, 258, 157, 361,
+ 185, 262, 263, 152, 153, 154, 324, 241, 242, 259,
+ 244, 37, 123, 58, 589, 37, 42, 43, 177, 45,
+ 42, 47, 313, 385, 183, 47, 185, 385, 313, 37,
+ 385, 40, 385, 301, 42, 385, 44, 40, 313, 47,
+ 125, 396, 397, 309, 123, 620, 91, 313, 40, 125,
+ 385, 125, 313, 125, 239, 240, 125, 125, 385, 125,
+ 641, 396, 397, 313, 313, 795, 125, 93, 41, 58,
+ 43, 320, 45, 125, 125, 41, 125, 37, 44, 44,
+ 661, 0, 42, 43, 37, 45, 308, 47, 325, 42,
+ 43, 313, 45, 703, 47, 37, 701, 328, 91, 41,
+ 42, 43, 40, 45, 699, 47, 41, 258, 346, 44,
+ 37, 262, 263, 260, 41, 42, 43, 44, 45, 311,
+ 47, 313, 258, 361, 358, 393, 360, 58, 257, 313,
+ 368, 315, 316, 521, 372, 258, 370, 371, 376, 262,
+ 93, 300, 58, 258, 541, 543, 257, 306, 307, 336,
+ 309, 310, 311, 312, 313, 585, 258, 629, 58, 258,
+ 262, 258, 396, 262, 263, 257, 622, 258, 327, 328,
+ 257, 262, 263, 343, 650, 345, 407, 298, 257, 257,
+ 339, 41, 58, 421, 44, 123, 58, 41, 313, 348,
+ 44, 313, 314, 313, 353, 58, 257, 257, 357, 313,
+ 314, 58, 313, 317, 318, 58, 125, 313, 58, 308,
+ 309, 310, 58, 257, 313, 314, 313, 314, 313, 378,
+ 454, 269, 270, 58, 323, 264, 265, 266, 267, 58,
+ 464, 465, 58, 621, 313, 384, 269, 270, 337, 338,
+ 58, 390, 391, 392, 286, 287, 288, 346, 347, 348,
+ 349, 350, 313, 313, 257, 318, 319, 367, 394, 395,
+ 419, 58, 376, 362, 845, 364, 58, 402, 403, 313,
+ 385, 394, 395, 0, 385, 404, 405, 376, 763, 394,
+ 395, 396, 397, 312, 313, 341, 400, 401, 385, 298,
+ 390, 391, 394, 395, 430, 406, 407, 394, 395, 396,
+ 397, 400, 401, 58, 313, 314, 385, 430, 539, 697,
+ 313, 38, 404, 405, 41, 430, 43, 44, 45, 46,
+ 258, 313, 314, 58, 385, 385, 317, 318, 430, 408,
+ 409, 430, 343, 430, 345, 58, 274, 58, 276, 58,
+ 58, 385, 280, 281, 282, 406, 407, 615, 408, 409,
+ 269, 270, 590, 58, 58, 58, 594, 58, 58, 597,
+ 598, 58, 58, 37, 91, 524, 93, 376, 42, 43,
+ 58, 45, 58, 47, 58, 313, 314, 58, 537, 647,
+ 648, 649, 385, 58, 376, 58, 617, 387, 40, 58,
+ 61, 400, 401, 44, 332, 37, 123, 40, 125, 61,
+ 42, 43, 790, 45, 91, 47, 40, 123, 400, 401,
+ 46, 91, 800, 91, 44, 646, 44, 37, 44, 93,
+ 384, 652, 42, 43, 343, 45, 345, 47, 258, 40,
+ 0, 91, 257, 592, 593, 37, 374, 596, 376, 44,
+ 42, 43, 91, 45, 37, 47, 44, 385, 257, 42,
+ 43, 93, 45, 841, 47, 44, 394, 395, 396, 397,
+ 91, 44, 400, 401, 402, 403, 44, 44, 38, 44,
+ 38, 41, 37, 43, 44, 45, 46, 42, 43, 40,
+ 45, 40, 47, 40, 40, 716, 754, 40, 258, 37,
+ 91, 93, 430, 41, 42, 43, 655, 45, 44, 47,
+ 93, 44, 44, 40, 258, 37, 665, 775, 776, 777,
+ 42, 43, 37, 45, 44, 47, 41, 42, 43, 44,
+ 45, 91, 47, 93, 37, 44, 260, 44, 93, 42,
+ 43, 44, 45, 260, 47, 44, 258, 44, 44, 44,
+ 44, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 123, 44, 125, 283, 284, 285, 258,
+ 44, 93, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, 44, 299, 300, 301, 302, 303, 304, 305, 738,
+ 307, 44, 395, 44, 397, 93, 399, 44, 401, 41,
+ 403, 41, 405, 44, 407, 322, 409, 44, 411, 58,
+ 58, 257, 329, 330, 58, 332, 93, 334, 335, 336,
+ 58, 257, 339, 340, 341, 342, 343, 344, 345, 0,
+ 854, 44, 37, 386, 783, 44, 860, 42, 43, 44,
+ 45, 44, 47, 44, 259, 312, 363, 44, 365, 44,
+ 367, 382, 312, 830, 41, 44, 44, 93, 258, 321,
+ 44, 44, 44, 321, 44, 125, 843, 257, 44, 41,
+ 387, 388, 258, 44, 44, 385, 44, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 124, 44, 385, 41, 44,
+ 260, 91, 44, 44, 44, 44, 44, 44, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 91, 258, 93, 283, 284, 285, 91, 44, 44, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 44, 299,
+ 300, 301, 302, 303, 304, 305, 258, 307, 258, 44,
+ 258, 44, 123, 44, 125, 44, 312, 44, 258, 44,
+ 44, 331, 322, 44, 257, 41, 46, 44, 58, 329,
+ 330, 258, 332, 40, 334, 335, 336, 41, 44, 339,
+ 340, 341, 342, 343, 344, 345, 388, 257, 386, 41,
+ 58, 41, 394, 58, 396, 58, 398, 58, 400, 58,
+ 402, 44, 404, 363, 406, 365, 408, 367, 410, 259,
+ 44, 312, 44, 40, 44, 258, 321, 321, 0, 258,
+ 44, 44, 385, 44, 44, 123, 44, 387, 388, 44,
+ 41, 41, 41, 41, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 258, 44, 93, 44, 38, 388, 258, 41,
+ 258, 44, 44, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 44, 44, 258, 258, 44, 41, 58, 58, 260,
+ 259, 58, 58, 257, 286, 41, 44, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 91,
+ 44, 258, 283, 284, 285, 41, 44, 41, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 41, 299, 300,
+ 301, 302, 303, 304, 305, 44, 307, 261, 58, 125,
+ 44, 41, 44, 125, 258, 44, 313, 258, 258, 124,
+ 58, 322, 259, 286, 41, 258, 41, 41, 329, 330,
+ 41, 332, 44, 334, 335, 336, 41, 383, 339, 340,
+ 41, 342, 343, 344, 345, 41, 44, 44, 41, 44,
+ 0, 0, 41, 41, 386, 125, 93, 41, 44, 41,
+ 123, 123, 363, 41, 365, 125, 677, 794, 602, 652,
+ 761, 191, 820, 449, 48, 832, 248, 0, 442, 54,
+ 859, 168, 419, 753, 395, 6, 387, 388, 319, 431,
+ 766, 163, 138, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, 340, 629, 454, -1, -1, -1, -1, 41, -1,
+ -1, 44, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 260, -1,
+ -1, -1, -1, -1, -1, -1, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 91, -1,
+ -1, 283, 284, 285, -1, -1, -1, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, -1, 299, 300, 301,
+ 302, 303, 304, 305, -1, 307, -1, -1, -1, -1,
+ -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
+ 322, -1, -1, -1, -1, -1, -1, 329, 330, -1,
+ 332, -1, 334, 335, 336, -1, -1, 339, 340, -1,
+ 342, 343, 344, 345, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 363, -1, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 387, 388, -1, 44, -1,
+ -1, -1, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 40, -1, -1,
+ -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
+ -1, -1, -1, -1, -1, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 123, -1, 125,
+ 283, 284, 285, -1, -1, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, -1, 299, 300, 301, 302,
+ 303, 304, 305, -1, 307, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 322,
+ -1, -1, -1, -1, -1, -1, 329, 330, -1, 332,
+ -1, 334, 335, 336, -1, -1, 339, 340, -1, 342,
+ 343, 344, 345, 0, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 363, -1, 365, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 387, 388, -1, 44, -1, -1,
+ -1, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
+ -1, -1, -1, -1, 260, -1, -1, -1, -1, -1,
+ -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 91, -1, -1, 283, 284, 285,
+ -1, -1, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, -1, 299, 300, 301, 302, 303, 304, 305,
+ -1, 307, -1, -1, -1, -1, 123, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, 322, -1, -1, -1,
+ -1, -1, -1, 329, 330, -1, 332, -1, 334, 335,
+ 336, -1, -1, 339, 340, -1, 342, 343, 344, 345,
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, 312,
+ 313, 314, -1, -1, -1, -1, -1, 363, -1, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 387, 388, -1, 44, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 369, 370, 371, 372,
+ 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
+ -1, -1, -1, 40, -1, -1, -1, -1, -1, -1,
+ -1, 91, -1, -1, -1, -1, -1, 400, 401, -1,
+ -1, -1, -1, 260, -1, -1, -1, 410, -1, -1,
+ -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, 123, -1, 125, 283, 284, 285, -1,
+ -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, -1, 299, 300, 301, 302, 303, 304, 305, -1,
+ 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 322, -1, -1, -1, -1,
+ -1, -1, 329, 330, -1, 332, -1, 334, 335, 336,
+ -1, -1, 339, 340, -1, 342, 343, 344, 345, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 363, -1, 365, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 387, 388, -1, 44, -1, -1, -1, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, -1, -1, -1, -1, -1,
+ 260, -1, -1, -1, -1, -1, -1, -1, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 91, -1, -1, 283, 284, 285, -1, -1, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ 300, 301, 302, 303, 304, 305, -1, 307, -1, -1,
+ -1, -1, 123, -1, 125, -1, -1, -1, -1, -1,
+ -1, -1, 322, -1, -1, -1, -1, -1, -1, 329,
+ 330, -1, 332, -1, 334, 335, 336, -1, -1, 339,
+ 340, -1, 342, 343, 344, 345, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 313, 314, -1, -1,
+ -1, -1, -1, 363, -1, 365, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 387, 388, -1,
+ -1, -1, -1, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 369, 370, 371, 372, 373, -1, 375, 376,
+ 377, 378, 379, 380, 381, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
+ -1, -1, -1, 400, 401, -1, -1, -1, -1, 260,
+ -1, -1, -1, 410, -1, -1, -1, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 123,
+ -1, 125, 283, 284, 285, -1, -1, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, 300,
+ 301, 302, 303, 304, 305, -1, 307, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 322, -1, -1, -1, -1, -1, -1, 329, 330,
+ -1, 332, -1, 334, 335, 336, -1, -1, 339, 340,
+ -1, 342, 343, 344, 345, 0, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 363, -1, 365, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 387, 388, -1, -1,
+ -1, -1, -1, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, -1, -1, -1, -1, -1, 260, -1, -1, -1,
+ -1, -1, -1, -1, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 91, -1, -1, 283,
+ 284, 285, -1, -1, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, 300, 301, 302, 303,
+ 304, 305, -1, 307, -1, -1, -1, -1, 123, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, 322, -1,
+ -1, -1, -1, -1, -1, 329, 330, -1, 332, -1,
+ 334, 335, 336, -1, -1, 339, 340, -1, 342, 343,
+ 344, 345, 0, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 363,
+ -1, 365, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 387, 388, -1, -1, -1, -1, -1,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, -1, -1, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, -1, 125, 283, 284,
+ 285, -1, -1, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, -1, 299, 300, 301, 302, 303, 304,
+ 305, -1, 307, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 322, -1, -1,
+ -1, -1, -1, -1, 329, 330, -1, 332, -1, 334,
+ 335, 336, -1, -1, 339, 340, -1, 342, 343, 344,
+ 345, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 363, -1,
+ 365, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 387, 388, -1, -1, -1, -1, -1, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, -1, -1, -1,
+ -1, -1, 260, -1, -1, -1, -1, -1, -1, -1,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 91, -1, -1, 283, 284, 285, -1, -1,
+ -1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ -1, 299, 300, 301, 302, 303, 304, 305, -1, 307,
+ -1, -1, -1, -1, 123, -1, 125, -1, -1, -1,
+ -1, -1, -1, -1, 322, -1, -1, -1, -1, -1,
+ -1, 329, 330, 331, 332, -1, 334, 335, 336, -1,
+ -1, 339, 340, -1, 342, 343, 344, 345, 0, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 363, -1, 365, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 387,
+ 388, -1, -1, -1, -1, -1, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 260, -1, -1, -1, -1, -1, -1, -1, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, 123, -1, 125, 283, 284, 285, -1, -1, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, 300, 301, 302, 303, 304, 305, -1, 307, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 322, -1, -1, -1, -1, -1, -1,
+ 329, 330, -1, 332, -1, 334, 335, 336, -1, -1,
+ 339, 340, -1, 342, 343, 344, 345, 0, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 363, -1, 365, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 387, 388,
+ -1, -1, -1, -1, -1, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, -1, -1, -1, -1, -1, 260, -1,
+ -1, -1, -1, -1, -1, -1, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 91, -1,
+ -1, 283, 284, 285, -1, -1, -1, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, -1, 299, 300, 301,
+ 302, 303, 304, 305, -1, 307, -1, -1, -1, -1,
+ 123, -1, 125, -1, -1, -1, -1, -1, -1, -1,
+ 322, -1, -1, -1, -1, -1, -1, 329, 330, -1,
+ 332, -1, 334, 335, 336, -1, -1, 339, 340, -1,
+ 342, 343, 344, 345, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 363, -1, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 387, 388, -1, -1, -1,
+ -1, -1, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
+ -1, -1, -1, -1, -1, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, -1, 125,
+ 283, 284, 285, -1, -1, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, -1, 299, 300, 301, 302,
+ 303, 304, 305, -1, 307, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 322,
+ -1, -1, -1, -1, -1, -1, 329, 330, -1, 332,
+ -1, 334, 335, 336, -1, -1, 339, 340, -1, 342,
+ 343, 344, 345, 0, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 363, -1, 365, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 387, 388, -1, -1, -1, -1,
+ -1, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
+ -1, -1, -1, -1, 260, -1, -1, -1, -1, -1,
+ -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 91, -1, -1, 283, 284, 285,
+ -1, -1, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, -1, 299, 300, 301, 302, 303, 304, 305,
+ -1, 307, -1, -1, -1, -1, -1, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, 322, -1, -1, -1,
+ -1, -1, -1, 329, 330, -1, 332, -1, 334, 335,
+ 336, -1, -1, 339, 340, -1, 342, 343, 344, 345,
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 363, -1, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 387, 388, -1, -1, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 260, -1, -1, -1, -1, -1, -1,
+ -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, -1, 125, 283, 284, 285, -1,
+ -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, -1, 299, 300, 301, 302, 303, 304, 305, -1,
+ 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 322, -1, -1, -1, -1,
+ -1, -1, 329, 330, -1, 332, -1, 334, 335, 336,
+ -1, -1, 339, 340, -1, 342, 343, 344, 345, 0,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 363, -1, 365, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 387, 388, -1, -1, -1, -1, -1, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, -1, -1, -1, -1, -1,
+ 260, -1, -1, -1, -1, -1, -1, -1, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 91, -1, -1, 283, 284, 285, -1, -1, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ 300, 301, 302, 303, 304, 305, -1, 307, -1, -1,
+ -1, -1, -1, -1, 125, -1, -1, -1, -1, -1,
+ -1, -1, 322, -1, -1, -1, -1, -1, -1, 329,
+ 330, -1, 332, -1, 334, 335, 336, -1, -1, 339,
+ 340, -1, 342, 343, 344, 345, 0, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 363, -1, 365, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 387, 388, -1,
+ -1, -1, -1, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 91, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 260,
+ -1, -1, -1, -1, -1, -1, -1, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ -1, 125, 283, 284, 285, -1, -1, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, 300,
+ 301, 302, 303, 304, 305, -1, 307, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 322, -1, -1, -1, -1, -1, -1, 329, 330,
+ -1, 332, -1, 334, 335, 336, -1, -1, 339, 340,
+ -1, 342, 343, 344, 345, 0, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 363, -1, 365, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 387, 388, -1, -1,
+ -1, -1, -1, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411, -1, -1, -1, -1, -1, 260, -1, -1, -1,
+ -1, -1, -1, -1, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 91, -1, -1, 283,
+ 284, 285, -1, -1, -1, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, -1, 299, 300, 301, 302, 303,
+ 304, 305, -1, 307, -1, -1, -1, -1, -1, -1,
+ 125, -1, -1, -1, -1, -1, -1, -1, 322, -1,
+ -1, -1, -1, -1, -1, 329, 330, -1, 332, -1,
+ 334, 335, 336, -1, -1, 339, 340, -1, 342, 343,
+ 344, 345, 0, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 363,
+ -1, 365, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 387, 388, -1, -1, -1, -1, -1,
+ 394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 91, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 260, -1, -1, -1, -1,
+ -1, -1, -1, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, -1, -1, 125, 283, 284,
+ 285, -1, -1, -1, 289, 290, 291, 292, 293, 294,
+ 295, 296, 297, -1, 299, 300, 301, 302, 303, 304,
+ 305, -1, 307, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 322, -1, -1,
+ -1, -1, -1, -1, 329, 330, -1, 332, -1, 334,
+ 335, 336, -1, -1, 339, 340, -1, 342, 343, 344,
+ 345, 0, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 363, -1,
+ 365, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 387, 388, -1, -1, -1, -1, -1, 394,
+ 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
+ 405, 406, 407, 408, 409, 410, 411, -1, -1, -1,
+ -1, -1, 260, -1, -1, -1, -1, -1, -1, -1,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 91, -1, -1, 283, 284, 285, -1, -1,
+ -1, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ -1, 299, 300, 301, 302, 303, 304, 305, -1, 307,
+ -1, -1, -1, -1, -1, -1, 125, -1, -1, -1,
+ -1, -1, -1, -1, 322, -1, -1, -1, -1, -1,
+ -1, 329, 330, -1, 332, -1, 334, 335, 336, -1,
+ -1, 339, 340, -1, 342, 343, 344, 345, 0, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 363, -1, 365, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 387,
+ 388, -1, -1, -1, -1, -1, 394, 395, 396, 397,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 260, -1, -1, -1, -1, -1, -1, -1, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, -1, 125, 283, 284, 285, -1, -1, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, 300, 301, 302, 303, 304, 305, -1, 307, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 322, -1, -1, -1, -1, -1, -1,
+ 329, 330, -1, 332, -1, 334, 335, 336, -1, -1,
+ 339, 340, -1, 342, 343, 344, 345, 0, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 363, -1, 365, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 387, 388,
+ -1, -1, -1, -1, -1, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, -1, -1, -1, -1, -1, 260, -1,
+ -1, -1, -1, -1, -1, -1, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 91, -1,
+ -1, 283, 284, 285, -1, -1, -1, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, -1, 299, 300, 301,
+ 302, 303, 304, 305, -1, 307, -1, -1, -1, -1,
+ -1, -1, 125, -1, -1, -1, -1, -1, -1, -1,
+ 322, -1, -1, -1, -1, -1, -1, 329, 330, -1,
+ 332, -1, 334, 335, 336, -1, -1, 339, 340, -1,
+ 342, 343, 344, 345, 0, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 363, -1, 365, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 387, 388, -1, -1, -1,
+ -1, -1, 394, 395, 396, 397, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 91, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 260, -1, -1,
+ -1, -1, -1, -1, -1, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, -1, -1, 125,
+ 283, 284, 285, -1, -1, -1, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, -1, 299, 300, 301, 302,
+ 303, 304, 305, -1, 307, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 322,
+ -1, -1, -1, -1, -1, -1, 329, 330, -1, 332,
+ -1, 334, 335, 336, -1, -1, 339, 340, -1, 342,
+ 343, 344, 345, 0, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 363, -1, 365, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 387, 388, -1, -1, -1, -1,
+ -1, 394, 395, 396, 397, 398, 399, 400, 401, 402,
+ 403, 404, 405, 406, 407, 408, 409, 410, 411, -1,
+ -1, -1, -1, -1, 260, -1, -1, -1, -1, -1,
+ -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 91, -1, -1, 283, 284, 285,
+ -1, -1, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, -1, 299, 300, 301, 302, 303, 304, 305,
+ -1, 307, -1, -1, -1, -1, -1, -1, 125, -1,
+ -1, -1, -1, -1, -1, -1, 322, -1, -1, -1,
+ -1, -1, -1, 329, 330, -1, 332, -1, 334, 335,
+ 336, -1, -1, 339, 340, -1, 342, 343, 344, 345,
+ 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 363, -1, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 387, 388, -1, -1, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 260, -1, -1, -1, -1, -1, -1,
+ -1, 268, 269, 270, 271, 272, 273, 274, 275, 276,
+ 277, 278, 279, -1, -1, 125, 283, 284, 285, -1,
+ -1, -1, 289, 290, 291, 292, 293, 294, 295, 296,
+ 297, -1, 299, 300, 301, 302, 303, 304, 305, -1,
+ 307, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 0, 322, -1, -1, -1, -1,
+ -1, -1, 329, 330, -1, 332, -1, 334, 335, 336,
+ -1, -1, 339, 340, -1, 342, 343, 344, 345, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 363, -1, 365, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 387, 388, -1, -1, -1, -1, -1, 394, 395, 396,
+ 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
+ 407, 408, 409, 410, 411, 91, -1, -1, -1, -1,
+ 260, -1, -1, -1, -1, -1, -1, -1, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ -1, -1, -1, 283, 284, 285, -1, -1, -1, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, -1, 299,
+ 300, 301, 302, 303, 304, 305, -1, 307, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, 322, -1, -1, -1, -1, -1, -1, 329,
+ 330, -1, 332, -1, 334, 335, 336, -1, -1, 339,
+ 340, -1, 342, 343, 344, 345, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 363, -1, 365, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 387, 388, -1,
+ -1, -1, -1, -1, 394, 395, 396, 397, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 91, -1, 40, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 260, -1, -1, 40, -1, -1,
+ -1, -1, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, -1, -1, -1, 283, 284, 285,
+ -1, -1, -1, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, -1, 299, 300, 301, 302, 303, 304, 305,
+ -1, 307, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 322, -1, -1, -1,
+ -1, -1, -1, 329, 330, -1, 332, -1, 334, 335,
+ 336, -1, -1, 339, 340, -1, 342, -1, 344, -1,
+ -1, -1, -1, -1, -1, -1, 40, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 363, -1, 365,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 387, 388, -1, -1, -1, -1, -1, 394, 395,
+ 396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, -1, -1, -1, -1,
+ -1, 260, -1, -1, -1, -1, -1, -1, -1, 268,
+ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
+ 279, -1, -1, -1, 283, 284, 285, -1, -1, -1,
+ 289, 290, 291, 292, 293, 294, 295, 296, 297, -1,
+ 299, 300, 301, 302, 303, 304, 305, -1, 307, -1,
+ -1, 257, -1, -1, -1, 261, -1, -1, -1, -1,
+ -1, -1, -1, 322, 257, 258, -1, -1, -1, -1,
+ 329, 330, -1, 332, -1, 334, 335, 336, -1, -1,
+ 339, 340, -1, 342, -1, 344, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 363, -1, 365, 313, 314, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 313, 314, -1, -1, -1, -1, -1, -1, 387, 388,
+ 91, -1, -1, -1, -1, 394, 395, 396, 397, 398,
+ 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
+ 409, 410, 411, -1, 258, -1, -1, -1, -1, -1,
+ -1, -1, -1, 369, 370, 371, 372, 373, -1, 375,
+ 376, 377, 378, 379, 380, 381, 369, 370, 371, 372,
+ 373, -1, 375, 376, 377, 378, 379, 380, 381, -1,
+ -1, -1, -1, -1, 400, 401, -1, -1, 404, 405,
+ 315, 316, -1, -1, 410, -1, -1, 400, 401, 313,
+ 314, 326, 327, 328, -1, -1, -1, 410, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 349, -1, 351, 352, 353, 354,
+ 355, 356, 357, 358, 359, 360, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 369, 370, 371, 372, 373,
+ 385, 375, 376, 377, 378, 379, 380, 381, -1, -1,
+ -1, 396, 397, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 400, 401, -1, 260,
+ -1, -1, -1, -1, -1, -1, 410, 268, -1, -1,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, -1,
+ -1, -1, 283, 284, 285, -1, -1, -1, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, -1, 299, 300,
+ 301, 302, 303, 304, 305, -1, 307, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 322, -1, -1, -1, -1, -1, -1, 329, 330,
+ -1, 332, -1, 334, 335, 336, -1, -1, 339, 340,
+ -1, 342, -1, 344, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 363, -1, 365, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 387, 388, -1, -1,
+ -1, -1, -1, 394, 395, 396, 397, 398, 399, 400,
+ 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
+ 411,
};
-
- /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint16 yyr1[] =
-{
- 0, 194, 195, 195, 196, 196, 197, 198, 198, 199,
- 199, 200, 200, 200, 200, 201, 201, 202, 202, 203,
- 203, 204, 204, 205, 205, 206, 206, 207, 207, 208,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
- 209, 209, 209, 209, 210, 210, 210, 210, 210, 210,
- 210, 210, 210, 211, 211, 211, 211, 211, 211, 211,
- 211, 211, 212, 212, 212, 213, 213, 214, 215, 215,
- 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
- 215, 215, 215, 216, 216, 217, 217, 218, 218, 219,
- 219, 220, 220, 221, 221, 222, 222, 224, 225, 223,
- 226, 227, 228, 228, 229, 229, 229, 231, 232, 230,
- 233, 233, 235, 234, 236, 234, 237, 238, 238, 239,
- 241, 240, 243, 242, 245, 244, 247, 246, 248, 249,
- 248, 250, 251, 251, 251, 252, 252, 253, 254, 256,
- 255, 258, 257, 259, 259, 260, 260, 261, 261, 262,
- 262, 263, 263, 264, 264, 265, 265, 266, 266, 267,
- 267, 268, 268, 269, 269, 269, 270, 270, 271, 271,
- 272, 273, 272, 274, 275, 275, 276, 276, 276, 276,
- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
- 276, 276, 277, 277, 277, 278, 279, 278, 280, 281,
- 281, 282, 282, 282, 282, 282, 282, 282, 282, 282,
- 282, 282, 282, 282, 282, 282, 283, 284, 285, 285,
- 286, 286, 287, 288, 289, 290, 291, 292, 293, 293,
- 294, 295, 296, 297, 297, 298, 299, 300, 301, 303,
- 302, 304, 304, 305, 306, 306, 306, 307, 308, 309,
- 309, 310, 310, 311, 311, 312, 312, 313, 313, 314,
- 314, 314, 315, 315, 316, 316, 317, 317, 317, 318,
- 318, 318, 319, 319, 320, 321, 321, 321, 322, 323,
- 323, 323, 323, 324, 324, 324, 325, 325, 326, 326,
- 326, 327, 328, 328, 328, 329, 329, 330, 330, 330,
- 331, 331, 331, 331, 332, 332, 332, 333, 333, 333,
- 333, 334, 334, 335, 335, 335, 335, 335, 335, 335,
- 335, 335, 335, 335, 336, 336, 337, 338, 338, 339,
- 339, 340, 340, 341, 341, 342, 342, 343, 343, 343,
- 343, 343, 343, 343, 343, 343, 343, 343, 343, 343,
- 343, 343, 343, 343, 343, 343, 344, 344, 345, 346,
- 346, 346, 347, 347, 347, 347, 348, 348, 349, 349,
- 350, 350, 351, 351, 352, 352, 353
+#define YYFINAL 3
+#ifndef YYDEBUG
+#define YYDEBUG 0
+#endif
+#define YYMAXTOKEN 430
+#if YYDEBUG
+char *yyname[] = {
+"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'","','","'-'","'.'","'/'",0,0,0,0,0,0,
+0,0,0,0,"':'",0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,"'['",0,"']'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",
+"'|'","'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"CHAR","INTEGER","BOOLEAN","PERCENT",
+"SPERCENT","MINUS_INTEGER","PLUS_INTEGER","MAZE_GRID_ID","SOLID_FILL_ID",
+"MINES_ID","ROGUELEV_ID","MESSAGE_ID","MAZE_ID","LEVEL_ID","LEV_INIT_ID",
+"GEOMETRY_ID","NOMAP_ID","OBJECT_ID","COBJECT_ID","MONSTER_ID","TRAP_ID",
+"DOOR_ID","DRAWBRIDGE_ID","object_ID","monster_ID","terrain_ID","MAZEWALK_ID",
+"WALLIFY_ID","REGION_ID","FILLING","IRREGULAR","JOINED","ALTAR_ID","LADDER_ID",
+"STAIR_ID","NON_DIGGABLE_ID","NON_PASSWALL_ID","ROOM_ID","PORTAL_ID",
+"TELEPRT_ID","BRANCH_ID","LEV","MINERALIZE_ID","CORRIDOR_ID","GOLD_ID",
+"ENGRAVING_ID","FOUNTAIN_ID","POOL_ID","SINK_ID","NONE","RAND_CORRIDOR_ID",
+"DOOR_STATE","LIGHT_STATE","CURSE_TYPE","ENGRAVING_TYPE","DIRECTION",
+"RANDOM_TYPE","RANDOM_TYPE_BRACKET","A_REGISTER","ALIGNMENT","LEFT_OR_RIGHT",
+"CENTER","TOP_OR_BOT","ALTAR_TYPE","UP_OR_DOWN","SUBROOM_ID","NAME_ID",
+"FLAGS_ID","FLAG_TYPE","MON_ATTITUDE","MON_ALERTNESS","MON_APPEARANCE",
+"ROOMDOOR_ID","IF_ID","ELSE_ID","TERRAIN_ID","HORIZ_OR_VERT",
+"REPLACE_TERRAIN_ID","EXIT_ID","SHUFFLE_ID","QUANTITY_ID","BURIED_ID","LOOP_ID",
+"FOR_ID","TO_ID","SWITCH_ID","CASE_ID","BREAK_ID","DEFAULT_ID","ERODED_ID",
+"TRAPPED_STATE","RECHARGED_ID","INVIS_ID","GREASED_ID","FEMALE_ID",
+"CANCELLED_ID","REVIVED_ID","AVENGE_ID","FLEEING_ID","BLINDED_ID",
+"PARALYZED_ID","STUNNED_ID","CONFUSED_ID","SEENTRAPS_ID","ALL_ID","MONTYPE_ID",
+"GRAVE_ID","ERODEPROOF_ID","FUNCTION_ID","MSG_OUTPUT_TYPE","COMPARE_TYPE",
+"UNKNOWN_TYPE","rect_ID","fillrect_ID","line_ID","randline_ID","grow_ID",
+"selection_ID","flood_ID","rndcoord_ID","circle_ID","ellipse_ID","filter_ID",
+"complement_ID","gradient_ID","GRADIENT_TYPE","LIMITED","HUMIDITY_TYPE",
+"STRING","MAP_ID","NQSTRING","VARSTRING","CFUNC","CFUNC_INT","CFUNC_STR",
+"CFUNC_COORD","CFUNC_REGION","VARSTRING_INT","VARSTRING_INT_ARRAY",
+"VARSTRING_STRING","VARSTRING_STRING_ARRAY","VARSTRING_VAR",
+"VARSTRING_VAR_ARRAY","VARSTRING_COORD","VARSTRING_COORD_ARRAY",
+"VARSTRING_REGION","VARSTRING_REGION_ARRAY","VARSTRING_MAPCHAR",
+"VARSTRING_MAPCHAR_ARRAY","VARSTRING_MONST","VARSTRING_MONST_ARRAY",
+"VARSTRING_OBJ","VARSTRING_OBJ_ARRAY","VARSTRING_SEL","VARSTRING_SEL_ARRAY",
+"METHOD_INT","METHOD_INT_ARRAY","METHOD_STRING","METHOD_STRING_ARRAY",
+"METHOD_VAR","METHOD_VAR_ARRAY","METHOD_COORD","METHOD_COORD_ARRAY",
+"METHOD_REGION","METHOD_REGION_ARRAY","METHOD_MAPCHAR","METHOD_MAPCHAR_ARRAY",
+"METHOD_MONST","METHOD_MONST_ARRAY","METHOD_OBJ","METHOD_OBJ_ARRAY",
+"METHOD_SEL","METHOD_SEL_ARRAY","DICE",
};
-
- /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 0, 1, 1, 2, 3, 3, 5, 1,
- 1, 5, 5, 3, 16, 0, 2, 0, 2, 0,
- 2, 1, 1, 0, 3, 3, 1, 0, 2, 3,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 3, 3, 5,
- 3, 5, 5, 5, 3, 3, 5, 5, 5, 7,
- 7, 7, 5, 1, 3, 1, 3, 1, 3, 1,
- 3, 1, 3, 1, 3, 1, 3, 0, 0, 8,
- 4, 1, 0, 1, 1, 5, 3, 0, 0, 9,
- 0, 2, 0, 5, 0, 4, 1, 2, 1, 6,
- 0, 3, 0, 6, 0, 4, 0, 4, 1, 0,
- 4, 3, 1, 3, 3, 5, 5, 7, 4, 0,
- 10, 0, 12, 0, 2, 5, 1, 5, 1, 5,
- 1, 5, 1, 9, 5, 1, 1, 1, 1, 1,
- 3, 1, 1, 1, 7, 5, 1, 1, 1, 1,
- 3, 0, 5, 4, 0, 3, 1, 1, 1, 1,
- 2, 1, 1, 1, 1, 1, 3, 3, 3, 1,
- 1, 3, 1, 1, 3, 3, 0, 5, 2, 0,
- 3, 1, 3, 1, 3, 3, 1, 1, 3, 1,
- 1, 1, 3, 1, 1, 1, 5, 7, 5, 8,
- 1, 3, 5, 5, 7, 7, 6, 5, 0, 2,
- 3, 3, 3, 1, 5, 9, 5, 3, 3, 0,
- 10, 0, 1, 7, 5, 5, 3, 5, 7, 9,
- 1, 1, 1, 1, 1, 0, 2, 1, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 3, 1, 1, 4, 1, 1, 4, 1, 1,
- 4, 1, 4, 5, 1, 3, 1, 3, 1, 1,
- 4, 9, 1, 1, 4, 1, 5, 1, 1, 4,
- 1, 1, 5, 1, 1, 1, 4, 1, 1, 5,
- 1, 1, 3, 1, 1, 3, 1, 4, 3, 3,
- 3, 3, 3, 3, 1, 1, 3, 1, 3, 0,
- 1, 1, 1, 1, 3, 0, 1, 1, 2, 2,
- 4, 6, 4, 6, 6, 6, 6, 2, 6, 8,
- 8, 10, 14, 2, 1, 3, 1, 3, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 10, 9
+char *yyrule[] = {
+"$accept : file",
+"file :",
+"file : levels",
+"levels : level",
+"levels : level levels",
+"level : level_def flags levstatements",
+"level_def : LEVEL_ID ':' STRING",
+"level_def : MAZE_ID ':' STRING ',' mazefiller",
+"mazefiller : RANDOM_TYPE",
+"mazefiller : CHAR",
+"lev_init : LEV_INIT_ID ':' SOLID_FILL_ID ',' terrain_type",
+"lev_init : LEV_INIT_ID ':' MAZE_GRID_ID ',' CHAR",
+"lev_init : LEV_INIT_ID ':' ROGUELEV_ID",
+"lev_init : LEV_INIT_ID ':' MINES_ID ',' CHAR ',' CHAR ',' BOOLEAN ',' BOOLEAN ',' light_state ',' walled opt_fillchar",
+"opt_limited :",
+"opt_limited : ',' LIMITED",
+"opt_coord_or_var :",
+"opt_coord_or_var : ',' coord_or_var",
+"opt_fillchar :",
+"opt_fillchar : ',' CHAR",
+"walled : BOOLEAN",
+"walled : RANDOM_TYPE",
+"flags :",
+"flags : FLAGS_ID ':' flag_list",
+"flag_list : FLAG_TYPE ',' flag_list",
+"flag_list : FLAG_TYPE",
+"levstatements :",
+"levstatements : levstatement levstatements",
+"stmt_block : '{' levstatements '}'",
+"levstatement : message",
+"levstatement : lev_init",
+"levstatement : altar_detail",
+"levstatement : grave_detail",
+"levstatement : branch_region",
+"levstatement : corridor",
+"levstatement : variable_define",
+"levstatement : shuffle_detail",
+"levstatement : diggable_detail",
+"levstatement : door_detail",
+"levstatement : drawbridge_detail",
+"levstatement : engraving_detail",
+"levstatement : mineralize",
+"levstatement : fountain_detail",
+"levstatement : gold_detail",
+"levstatement : switchstatement",
+"levstatement : forstatement",
+"levstatement : loopstatement",
+"levstatement : ifstatement",
+"levstatement : chancestatement",
+"levstatement : exitstatement",
+"levstatement : breakstatement",
+"levstatement : function_define",
+"levstatement : function_call",
+"levstatement : ladder_detail",
+"levstatement : map_definition",
+"levstatement : mazewalk_detail",
+"levstatement : monster_detail",
+"levstatement : object_detail",
+"levstatement : passwall_detail",
+"levstatement : pool_detail",
+"levstatement : portal_region",
+"levstatement : random_corridors",
+"levstatement : region_detail",
+"levstatement : room_def",
+"levstatement : subroom_def",
+"levstatement : sink_detail",
+"levstatement : terrain_detail",
+"levstatement : replace_terrain_detail",
+"levstatement : stair_detail",
+"levstatement : stair_region",
+"levstatement : teleprt_region",
+"levstatement : trap_detail",
+"levstatement : wallify_detail",
+"any_var_array : VARSTRING_INT_ARRAY",
+"any_var_array : VARSTRING_STRING_ARRAY",
+"any_var_array : VARSTRING_VAR_ARRAY",
+"any_var_array : VARSTRING_COORD_ARRAY",
+"any_var_array : VARSTRING_REGION_ARRAY",
+"any_var_array : VARSTRING_MAPCHAR_ARRAY",
+"any_var_array : VARSTRING_MONST_ARRAY",
+"any_var_array : VARSTRING_OBJ_ARRAY",
+"any_var_array : VARSTRING_SEL_ARRAY",
+"any_var : VARSTRING_INT",
+"any_var : VARSTRING_STRING",
+"any_var : VARSTRING_VAR",
+"any_var : VARSTRING_COORD",
+"any_var : VARSTRING_REGION",
+"any_var : VARSTRING_MAPCHAR",
+"any_var : VARSTRING_MONST",
+"any_var : VARSTRING_OBJ",
+"any_var : VARSTRING_SEL",
+"any_var_or_arr : any_var_array",
+"any_var_or_arr : any_var",
+"any_var_or_arr : VARSTRING",
+"any_var_or_unk : VARSTRING",
+"any_var_or_unk : any_var",
+"shuffle_detail : SHUFFLE_ID ':' any_var_array",
+"variable_define : any_var_or_arr '=' math_expr_var",
+"variable_define : any_var_or_arr '=' selection_ID ':' ter_selection",
+"variable_define : any_var_or_arr '=' string_expr",
+"variable_define : any_var_or_arr '=' terrainid ':' mapchar_or_var",
+"variable_define : any_var_or_arr '=' monsterid ':' monster_or_var",
+"variable_define : any_var_or_arr '=' objectid ':' object_or_var",
+"variable_define : any_var_or_arr '=' coord_or_var",
+"variable_define : any_var_or_arr '=' region_or_var",
+"variable_define : any_var_or_arr '=' '{' integer_list '}'",
+"variable_define : any_var_or_arr '=' '{' encodecoord_list '}'",
+"variable_define : any_var_or_arr '=' '{' encoderegion_list '}'",
+"variable_define : any_var_or_arr '=' terrainid ':' '{' mapchar_list '}'",
+"variable_define : any_var_or_arr '=' monsterid ':' '{' encodemonster_list '}'",
+"variable_define : any_var_or_arr '=' objectid ':' '{' encodeobj_list '}'",
+"variable_define : any_var_or_arr '=' '{' string_list '}'",
+"encodeobj_list : encodeobj",
+"encodeobj_list : encodeobj_list ',' encodeobj",
+"encodemonster_list : encodemonster",
+"encodemonster_list : encodemonster_list ',' encodemonster",
+"mapchar_list : mapchar",
+"mapchar_list : mapchar_list ',' mapchar",
+"encoderegion_list : encoderegion",
+"encoderegion_list : encoderegion_list ',' encoderegion",
+"encodecoord_list : encodecoord",
+"encodecoord_list : encodecoord_list ',' encodecoord",
+"integer_list : math_expr_var",
+"integer_list : integer_list ',' math_expr_var",
+"string_list : string_expr",
+"string_list : string_list ',' string_expr",
+"$$1 :",
+"$$2 :",
+"function_define : FUNCTION_ID NQSTRING '(' $$1 func_params_list ')' $$2 stmt_block",
+"function_call : NQSTRING '(' func_call_params_list ')'",
+"exitstatement : EXIT_ID",
+"opt_percent :",
+"opt_percent : PERCENT",
+"comparestmt : PERCENT",
+"comparestmt : '[' math_expr_var COMPARE_TYPE math_expr_var ']'",
+"comparestmt : '[' math_expr_var ']'",
+"$$3 :",
+"$$4 :",
+"switchstatement : SWITCH_ID $$3 '[' integer_or_var ']' $$4 '{' switchcases '}'",
+"switchcases :",
+"switchcases : switchcase switchcases",
+"$$5 :",
+"switchcase : CASE_ID all_integers ':' $$5 levstatements",
+"$$6 :",
+"switchcase : DEFAULT_ID ':' $$6 levstatements",
+"breakstatement : BREAK_ID",
+"for_to_span : '.' '.'",
+"for_to_span : TO_ID",
+"forstmt_start : FOR_ID any_var_or_unk '=' math_expr_var for_to_span math_expr_var",
+"$$7 :",
+"forstatement : forstmt_start $$7 stmt_block",
+"$$8 :",
+"loopstatement : LOOP_ID '[' integer_or_var ']' $$8 stmt_block",
+"$$9 :",
+"chancestatement : comparestmt ':' $$9 levstatement",
+"$$10 :",
+"ifstatement : IF_ID comparestmt $$10 if_ending",
+"if_ending : stmt_block",
+"$$11 :",
+"if_ending : stmt_block $$11 ELSE_ID stmt_block",
+"message : MESSAGE_ID ':' string_expr",
+"random_corridors : RAND_CORRIDOR_ID",
+"random_corridors : RAND_CORRIDOR_ID ':' all_integers",
+"random_corridors : RAND_CORRIDOR_ID ':' RANDOM_TYPE",
+"corridor : CORRIDOR_ID ':' corr_spec ',' corr_spec",
+"corridor : CORRIDOR_ID ':' corr_spec ',' all_integers",
+"corr_spec : '(' INTEGER ',' DIRECTION ',' door_pos ')'",
+"room_begin : room_type opt_percent ',' light_state",
+"$$12 :",
+"subroom_def : SUBROOM_ID ':' room_begin ',' subroom_pos ',' room_size optroomregionflags $$12 stmt_block",
+"$$13 :",
+"room_def : ROOM_ID ':' room_begin ',' room_pos ',' room_align ',' room_size optroomregionflags $$13 stmt_block",
+"roomfill :",
+"roomfill : ',' BOOLEAN",
+"room_pos : '(' INTEGER ',' INTEGER ')'",
+"room_pos : RANDOM_TYPE",
+"subroom_pos : '(' INTEGER ',' INTEGER ')'",
+"subroom_pos : RANDOM_TYPE",
+"room_align : '(' h_justif ',' v_justif ')'",
+"room_align : RANDOM_TYPE",
+"room_size : '(' INTEGER ',' INTEGER ')'",
+"room_size : RANDOM_TYPE",
+"door_detail : ROOMDOOR_ID ':' secret ',' door_state ',' door_wall ',' door_pos",
+"door_detail : DOOR_ID ':' door_state ',' ter_selection",
+"secret : BOOLEAN",
+"secret : RANDOM_TYPE",
+"door_wall : dir_list",
+"door_wall : RANDOM_TYPE",
+"dir_list : DIRECTION",
+"dir_list : DIRECTION '|' dir_list",
+"door_pos : INTEGER",
+"door_pos : RANDOM_TYPE",
+"map_definition : NOMAP_ID",
+"map_definition : GEOMETRY_ID ':' h_justif ',' v_justif roomfill MAP_ID",
+"map_definition : GEOMETRY_ID ':' coord_or_var roomfill MAP_ID",
+"h_justif : LEFT_OR_RIGHT",
+"h_justif : CENTER",
+"v_justif : TOP_OR_BOT",
+"v_justif : CENTER",
+"monster_detail : MONSTER_ID ':' monster_desc",
+"$$14 :",
+"monster_detail : MONSTER_ID ':' monster_desc $$14 stmt_block",
+"monster_desc : monster_or_var ',' coord_or_var monster_infos",
+"monster_infos :",
+"monster_infos : monster_infos ',' monster_info",
+"monster_info : string_expr",
+"monster_info : MON_ATTITUDE",
+"monster_info : MON_ALERTNESS",
+"monster_info : alignment_prfx",
+"monster_info : MON_APPEARANCE string_expr",
+"monster_info : FEMALE_ID",
+"monster_info : INVIS_ID",
+"monster_info : CANCELLED_ID",
+"monster_info : REVIVED_ID",
+"monster_info : AVENGE_ID",
+"monster_info : FLEEING_ID ':' integer_or_var",
+"monster_info : BLINDED_ID ':' integer_or_var",
+"monster_info : PARALYZED_ID ':' integer_or_var",
+"monster_info : STUNNED_ID",
+"monster_info : CONFUSED_ID",
+"monster_info : SEENTRAPS_ID ':' seen_trap_mask",
+"seen_trap_mask : STRING",
+"seen_trap_mask : ALL_ID",
+"seen_trap_mask : STRING '|' seen_trap_mask",
+"object_detail : OBJECT_ID ':' object_desc",
+"$$15 :",
+"object_detail : COBJECT_ID ':' object_desc $$15 stmt_block",
+"object_desc : object_or_var object_infos",
+"object_infos :",
+"object_infos : object_infos ',' object_info",
+"object_info : CURSE_TYPE",
+"object_info : MONTYPE_ID ':' monster_or_var",
+"object_info : all_ints_push",
+"object_info : NAME_ID ':' string_expr",
+"object_info : QUANTITY_ID ':' integer_or_var",
+"object_info : BURIED_ID",
+"object_info : LIGHT_STATE",
+"object_info : ERODED_ID ':' integer_or_var",
+"object_info : ERODEPROOF_ID",
+"object_info : DOOR_STATE",
+"object_info : TRAPPED_STATE",
+"object_info : RECHARGED_ID ':' integer_or_var",
+"object_info : INVIS_ID",
+"object_info : GREASED_ID",
+"object_info : coord_or_var",
+"trap_detail : TRAP_ID ':' trap_name ',' coord_or_var",
+"drawbridge_detail : DRAWBRIDGE_ID ':' coord_or_var ',' DIRECTION ',' door_state",
+"mazewalk_detail : MAZEWALK_ID ':' coord_or_var ',' DIRECTION",
+"mazewalk_detail : MAZEWALK_ID ':' coord_or_var ',' DIRECTION ',' BOOLEAN opt_fillchar",
+"wallify_detail : WALLIFY_ID",
+"wallify_detail : WALLIFY_ID ':' ter_selection",
+"ladder_detail : LADDER_ID ':' coord_or_var ',' UP_OR_DOWN",
+"stair_detail : STAIR_ID ':' coord_or_var ',' UP_OR_DOWN",
+"stair_region : STAIR_ID ':' lev_region ',' lev_region ',' UP_OR_DOWN",
+"portal_region : PORTAL_ID ':' lev_region ',' lev_region ',' STRING",
+"teleprt_region : TELEPRT_ID ':' lev_region ',' lev_region teleprt_detail",
+"branch_region : BRANCH_ID ':' lev_region ',' lev_region",
+"teleprt_detail :",
+"teleprt_detail : ',' UP_OR_DOWN",
+"fountain_detail : FOUNTAIN_ID ':' ter_selection",
+"sink_detail : SINK_ID ':' ter_selection",
+"pool_detail : POOL_ID ':' ter_selection",
+"terrain_type : CHAR",
+"terrain_type : '(' CHAR ',' light_state ')'",
+"replace_terrain_detail : REPLACE_TERRAIN_ID ':' region_or_var ',' mapchar_or_var ',' mapchar_or_var ',' SPERCENT",
+"terrain_detail : TERRAIN_ID ':' ter_selection ',' mapchar_or_var",
+"diggable_detail : NON_DIGGABLE_ID ':' region_or_var",
+"passwall_detail : NON_PASSWALL_ID ':' region_or_var",
+"$$16 :",
+"region_detail : REGION_ID ':' region_or_var ',' light_state ',' room_type optroomregionflags $$16 region_detail_end",
+"region_detail_end :",
+"region_detail_end : stmt_block",
+"altar_detail : ALTAR_ID ':' coord_or_var ',' alignment ',' altar_type",
+"grave_detail : GRAVE_ID ':' coord_or_var ',' string_expr",
+"grave_detail : GRAVE_ID ':' coord_or_var ',' RANDOM_TYPE",
+"grave_detail : GRAVE_ID ':' coord_or_var",
+"gold_detail : GOLD_ID ':' math_expr_var ',' coord_or_var",
+"engraving_detail : ENGRAVING_ID ':' coord_or_var ',' engraving_type ',' string_expr",
+"mineralize : MINERALIZE_ID ':' integer_or_var ',' integer_or_var ',' integer_or_var ',' integer_or_var",
+"mineralize : MINERALIZE_ID",
+"trap_name : STRING",
+"trap_name : RANDOM_TYPE",
+"room_type : STRING",
+"room_type : RANDOM_TYPE",
+"optroomregionflags :",
+"optroomregionflags : ',' roomregionflags",
+"roomregionflags : roomregionflag",
+"roomregionflags : roomregionflag ',' roomregionflags",
+"roomregionflag : FILLING",
+"roomregionflag : IRREGULAR",
+"roomregionflag : JOINED",
+"door_state : DOOR_STATE",
+"door_state : RANDOM_TYPE",
+"light_state : LIGHT_STATE",
+"light_state : RANDOM_TYPE",
+"alignment : ALIGNMENT",
+"alignment : a_register",
+"alignment : RANDOM_TYPE",
+"alignment_prfx : ALIGNMENT",
+"alignment_prfx : a_register",
+"alignment_prfx : A_REGISTER ':' RANDOM_TYPE",
+"altar_type : ALTAR_TYPE",
+"altar_type : RANDOM_TYPE",
+"a_register : A_REGISTER '[' INTEGER ']'",
+"string_or_var : STRING",
+"string_or_var : VARSTRING_STRING",
+"string_or_var : VARSTRING_STRING_ARRAY '[' math_expr_var ']'",
+"integer_or_var : math_expr_var",
+"coord_or_var : encodecoord",
+"coord_or_var : rndcoord_ID '(' ter_selection ')'",
+"coord_or_var : VARSTRING_COORD",
+"coord_or_var : VARSTRING_COORD_ARRAY '[' math_expr_var ']'",
+"encodecoord : '(' INTEGER ',' INTEGER ')'",
+"encodecoord : RANDOM_TYPE",
+"encodecoord : RANDOM_TYPE_BRACKET humidity_flags ']'",
+"humidity_flags : HUMIDITY_TYPE",
+"humidity_flags : HUMIDITY_TYPE ',' humidity_flags",
+"region_or_var : encoderegion",
+"region_or_var : VARSTRING_REGION",
+"region_or_var : VARSTRING_REGION_ARRAY '[' math_expr_var ']'",
+"encoderegion : '(' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ')'",
+"mapchar_or_var : mapchar",
+"mapchar_or_var : VARSTRING_MAPCHAR",
+"mapchar_or_var : VARSTRING_MAPCHAR_ARRAY '[' math_expr_var ']'",
+"mapchar : CHAR",
+"mapchar : '(' CHAR ',' light_state ')'",
+"monster_or_var : encodemonster",
+"monster_or_var : VARSTRING_MONST",
+"monster_or_var : VARSTRING_MONST_ARRAY '[' math_expr_var ']'",
+"encodemonster : STRING",
+"encodemonster : CHAR",
+"encodemonster : '(' CHAR ',' STRING ')'",
+"encodemonster : RANDOM_TYPE",
+"object_or_var : encodeobj",
+"object_or_var : VARSTRING_OBJ",
+"object_or_var : VARSTRING_OBJ_ARRAY '[' math_expr_var ']'",
+"encodeobj : STRING",
+"encodeobj : CHAR",
+"encodeobj : '(' CHAR ',' STRING ')'",
+"encodeobj : RANDOM_TYPE",
+"string_expr : string_or_var",
+"string_expr : string_expr '.' string_or_var",
+"math_expr_var : INTEGER",
+"math_expr_var : dice",
+"math_expr_var : '(' MINUS_INTEGER ')'",
+"math_expr_var : VARSTRING_INT",
+"math_expr_var : VARSTRING_INT_ARRAY '[' math_expr_var ']'",
+"math_expr_var : math_expr_var '+' math_expr_var",
+"math_expr_var : math_expr_var '-' math_expr_var",
+"math_expr_var : math_expr_var '*' math_expr_var",
+"math_expr_var : math_expr_var '/' math_expr_var",
+"math_expr_var : math_expr_var '%' math_expr_var",
+"math_expr_var : '(' math_expr_var ')'",
+"func_param_type : CFUNC_INT",
+"func_param_type : CFUNC_STR",
+"func_param_part : any_var_or_arr ':' func_param_type",
+"func_param_list : func_param_part",
+"func_param_list : func_param_list ',' func_param_part",
+"func_params_list :",
+"func_params_list : func_param_list",
+"func_call_param_part : math_expr_var",
+"func_call_param_part : string_expr",
+"func_call_param_list : func_call_param_part",
+"func_call_param_list : func_call_param_list ',' func_call_param_part",
+"func_call_params_list :",
+"func_call_params_list : func_call_param_list",
+"ter_selection_x : coord_or_var",
+"ter_selection_x : rect_ID region_or_var",
+"ter_selection_x : fillrect_ID region_or_var",
+"ter_selection_x : line_ID coord_or_var ',' coord_or_var",
+"ter_selection_x : randline_ID coord_or_var ',' coord_or_var ',' math_expr_var",
+"ter_selection_x : grow_ID '(' ter_selection ')'",
+"ter_selection_x : grow_ID '(' dir_list ',' ter_selection ')'",
+"ter_selection_x : filter_ID '(' SPERCENT ',' ter_selection ')'",
+"ter_selection_x : filter_ID '(' ter_selection ',' ter_selection ')'",
+"ter_selection_x : filter_ID '(' mapchar_or_var ',' ter_selection ')'",
+"ter_selection_x : flood_ID coord_or_var",
+"ter_selection_x : circle_ID '(' coord_or_var ',' math_expr_var ')'",
+"ter_selection_x : circle_ID '(' coord_or_var ',' math_expr_var ',' FILLING ')'",
+"ter_selection_x : ellipse_ID '(' coord_or_var ',' math_expr_var ',' math_expr_var ')'",
+"ter_selection_x : ellipse_ID '(' coord_or_var ',' math_expr_var ',' math_expr_var ',' FILLING ')'",
+"ter_selection_x : gradient_ID '(' GRADIENT_TYPE ',' '(' math_expr_var '-' math_expr_var opt_limited ')' ',' coord_or_var opt_coord_or_var ')'",
+"ter_selection_x : complement_ID ter_selection_x",
+"ter_selection_x : VARSTRING_SEL",
+"ter_selection_x : '(' ter_selection ')'",
+"ter_selection : ter_selection_x",
+"ter_selection : ter_selection_x '&' ter_selection",
+"dice : DICE",
+"all_integers : MINUS_INTEGER",
+"all_integers : PLUS_INTEGER",
+"all_integers : INTEGER",
+"all_ints_push : MINUS_INTEGER",
+"all_ints_push : PLUS_INTEGER",
+"all_ints_push : INTEGER",
+"all_ints_push : dice",
+"objectid : object_ID",
+"objectid : OBJECT_ID",
+"monsterid : monster_ID",
+"monsterid : MONSTER_ID",
+"terrainid : terrain_ID",
+"terrainid : TERRAIN_ID",
+"engraving_type : ENGRAVING_TYPE",
+"engraving_type : RANDOM_TYPE",
+"lev_region : region",
+"lev_region : LEV '(' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ')'",
+"region : '(' INTEGER ',' INTEGER ',' INTEGER ',' INTEGER ')'",
};
-
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
-
-/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
+#ifdef YYSTACKSIZE
+#undef YYMAXDEPTH
+#define YYMAXDEPTH YYSTACKSIZE
+#else
+#ifdef YYMAXDEPTH
+#define YYSTACKSIZE YYMAXDEPTH
+#else
+#define YYSTACKSIZE 500
+#define YYMAXDEPTH 500
+#endif
+#endif
+int yydebug;
+int yynerrs;
+int yyerrflag;
+int yychar;
+short *yyssp;
+YYSTYPE *yyvsp;
+YYSTYPE yyval;
+YYSTYPE yylval;
+short yyss[YYSTACKSIZE];
+YYSTYPE yyvs[YYSTACKSIZE];
+#define yystacksize YYSTACKSIZE
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
-
-
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
-
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-{
- FILE *yyo = yyoutput;
- YYUSE (yyo);
- if (!yyvaluep)
- return;
-# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
- YYUSE (yytype);
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-{
- YYFPRINTF (yyoutput, "%s %s (",
- yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
-
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
-}
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+/*lev_comp.y*/
+#define YYABORT goto yyabort
+#define YYREJECT goto yyabort
+#define YYACCEPT goto yyaccept
+#define YYERROR goto yyerrlab
+int
+yyparse()
{
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
+ register int yym, yyn, yystate;
+#if YYDEBUG
+ register char *yys;
+ extern char *getenv();
-static void
-yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule)
-{
- unsigned long int yylno = yyrline[yyrule];
- int yynrhs = yyr2[yyrule];
- int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
+ if ((yys = getenv("YYDEBUG")) != 0)
{
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- );
- YYFPRINTF (stderr, "\n");
+ yyn = *yys;
+ if (yyn >= '0' && yyn <= '9')
+ yydebug = yyn - '0';
}
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, Rule); \
-} while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
#endif
+ yynerrs = 0;
+ yyerrflag = 0;
+ yychar = (-1);
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-static YYSIZE_T
-yystrlen (const char *yystr)
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
+ yyssp = yyss;
+ yyvsp = yyvs;
+ *yyssp = yystate = 0;
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
+yyloop:
+ if ((yyn = yydefred[yystate]) != 0) goto yyreduce;
+ if (yychar < 0)
{
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
+ {
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
+ }
+#endif
}
-
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.
-
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store. */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- yytype_int16 *yyssp, int yytoken)
-{
- YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULLPTR;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
+ if ((yyn = yysindex[yystate]) != 0 && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{
- int yyn = yypact[*yyssp];
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, shifting to state %d\n",
+ YYPREFIX, yystate, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
{
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- {
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- }
+ goto yyoverflow;
}
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ yychar = (-1);
+ if (yyerrflag > 0) --yyerrflag;
+ goto yyloop;
}
-
- switch (yycount)
+ if ((yyn = yyrindex[yystate]) != 0 && (yyn += yychar) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
{
-# define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
+ yyn = yytable[yyn];
+ goto yyreduce;
}
-
- {
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
-
- if (*yymsg_alloc < yysize)
+ if (yyerrflag) goto yyinrecovery;
+ goto yynewerror;
+yynewerror:
+ yyerror("syntax error");
+ goto yyerrlab;
+yyerrlab:
+ ++yynerrs;
+yyinrecovery:
+ if (yyerrflag < 3)
{
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
-
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ yyerrflag = 3;
+ for (;;)
{
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
+ if ((yyn = yysindex[*yyssp]) != 0 && (yyn += YYERRCODE) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, error recovery shifting\
+ to state %d\n", YYPREFIX, *yyssp, yytable[yyn]);
+#endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+ goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+ goto yyloop;
+ }
+ else
+ {
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: error recovery discarding state %d\n",
+ YYPREFIX, *yyssp);
+#endif
+ if (yyssp <= yyss) goto yyabort;
+ --yyssp;
+ --yyvsp;
+ }
}
- else
+ }
+ else
+ {
+ if (yychar == 0) goto yyabort;
+#if YYDEBUG
+ if (yydebug)
{
- yyp++;
- yyformat++;
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, error recovery discards token %d (%s)\n",
+ YYPREFIX, yystate, yychar, yys);
}
- }
- return 0;
-}
-#endif /* YYERROR_VERBOSE */
-
-/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-{
- YYUSE (yyvaluep);
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- YYUSE (yytype);
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-}
-
-
-
-
-/* The lookahead symbol. */
-int yychar;
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-int
-yyparse (void)
-{
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.
-
- Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
-
- YYSIZE_T yystacksize;
-
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;
-
- yyssp = yyss = yyssa;
- yyvsp = yyvs = yyvsa;
- yystacksize = YYINITDEPTH;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
- goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- if (yystate == YYFINAL)
- YYACCEPT;
-
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = yylex ();
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
+ yychar = (-1);
+ goto yyloop;
}
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yytable_value_is_error (yyn))
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
- yystate = yyn;
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 6:
-#line 283 "lev_comp.y" /* yacc.c:1646 */
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: state %d, reducing by rule %d (%s)\n",
+ YYPREFIX, yystate, yyn, yyrule[yyn]);
+#endif
+ yym = yylen[yyn];
+ yyval = yyvsp[1-yym];
+ switch (yyn)
{
+case 5:
+{
if (fatal_error > 0) {
(void) fprintf(stderr,
"%s: %d errors detected for level \"%s\". No output created!\n",
- fname, fatal_error, (yyvsp[-2].map));
+ fname, fatal_error, yyvsp[-2].map);
fatal_error = 0;
got_errors++;
} else if (!got_errors) {
- if (!write_level_file((yyvsp[-2].map), splev)) {
- lc_error("Can't write output file for '%s'!", (yyvsp[-2].map));
+ if (!write_level_file(yyvsp[-2].map, splev)) {
+ lc_error("Can't write output file for '%s'!", yyvsp[-2].map);
exit(EXIT_FAILURE);
}
}
- Free((yyvsp[-2].map));
+ Free(yyvsp[-2].map);
Free(splev);
splev = NULL;
vardef_free_all(variable_definitions);
variable_definitions = NULL;
}
-#line 2465 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 7:
-#line 305 "lev_comp.y" /* yacc.c:1646 */
- {
- start_level_def(&splev, (yyvsp[0].map));
- (yyval.map) = (yyvsp[0].map);
+break;
+case 6:
+{
+ start_level_def(&splev, yyvsp[0].map);
+ yyval.map = yyvsp[0].map;
}
-#line 2474 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 8:
-#line 310 "lev_comp.y" /* yacc.c:1646 */
- {
- start_level_def(&splev, (yyvsp[-2].map));
- if ((yyvsp[0].i) == -1) {
+break;
+case 7:
+{
+ start_level_def(&splev, yyvsp[-2].map);
+ if (yyvsp[0].i == -1) {
add_opvars(splev, "iiiiiiiio",
VA_PASS9(LVLINIT_MAZEGRID,HWALL,0,0,
0,0,0,0, SPO_INITLEVEL));
} else {
- long bg = what_map_char((char) (yyvsp[0].i));
+ long bg = what_map_char((char) yyvsp[0].i);
add_opvars(splev, "iiiiiiiio",
VA_PASS9(LVLINIT_SOLIDFILL, bg, 0,0,
0,0,0,0, SPO_INITLEVEL));
VA_PASS2(MAZELEVEL, SPO_LEVEL_FLAGS));
max_x_map = COLNO-1;
max_y_map = ROWNO;
- (yyval.map) = (yyvsp[-2].map);
+ yyval.map = yyvsp[-2].map;
}
-#line 2497 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 9:
-#line 331 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 8:
+{
+ yyval.i = -1;
}
-#line 2505 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 10:
-#line 335 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = what_map_char((char) (yyvsp[0].i));
+break;
+case 9:
+{
+ yyval.i = what_map_char((char) yyvsp[0].i);
}
-#line 2513 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 11:
-#line 341 "lev_comp.y" /* yacc.c:1646 */
- {
- long filling = (yyvsp[0].terr).ter;
+break;
+case 10:
+{
+ long filling = yyvsp[0].terr.ter;
if (filling == INVALID_TYPE || filling >= MAX_TYPE)
lc_error("INIT_MAP: Invalid fill char type.");
add_opvars(splev, "iiiiiiiio",
- LVLINIT_SOLIDFILL,filling,0,(long)(yyvsp[0].terr).lit, 0,0,0,0, SPO_INITLEVEL);
+ LVLINIT_SOLIDFILL,filling,0,(long)yyvsp[0].terr.lit, 0,0,0,0, SPO_INITLEVEL);
max_x_map = COLNO-1;
max_y_map = ROWNO;
}
-#line 2527 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 12:
-#line 351 "lev_comp.y" /* yacc.c:1646 */
- {
- long filling = what_map_char((char) (yyvsp[0].i));
+break;
+case 11:
+{
+ long filling = what_map_char((char) yyvsp[0].i);
if (filling == INVALID_TYPE || filling >= MAX_TYPE)
lc_error("INIT_MAP: Invalid fill char type.");
add_opvars(splev, "iiiiiiiio",
max_x_map = COLNO-1;
max_y_map = ROWNO;
}
-#line 2542 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 13:
-#line 362 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 12:
+{
add_opvars(splev, "iiiiiiiio",
VA_PASS9(LVLINIT_ROGUE,0,0,0,
0,0,0,0, SPO_INITLEVEL));
}
-#line 2552 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 14:
-#line 368 "lev_comp.y" /* yacc.c:1646 */
- {
- long fg = what_map_char((char) (yyvsp[-11].i));
- long bg = what_map_char((char) (yyvsp[-9].i));
- long smoothed = (yyvsp[-7].i);
- long joined = (yyvsp[-5].i);
- long lit = (yyvsp[-3].i);
- long walled = (yyvsp[-1].i);
- long filling = (yyvsp[0].i);
+break;
+case 13:
+{
+ long fg = what_map_char((char) yyvsp[-11].i);
+ long bg = what_map_char((char) yyvsp[-9].i);
+ long smoothed = yyvsp[-7].i;
+ long joined = yyvsp[-5].i;
+ long lit = yyvsp[-3].i;
+ long walled = yyvsp[-1].i;
+ long filling = yyvsp[0].i;
if (fg == INVALID_TYPE || fg >= MAX_TYPE)
lc_error("INIT_MAP: Invalid foreground type.");
if (bg == INVALID_TYPE || bg >= MAX_TYPE)
max_x_map = COLNO-1;
max_y_map = ROWNO;
}
-#line 2582 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 15:
-#line 396 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 0;
+break;
+case 14:
+{
+ yyval.i = 0;
}
-#line 2590 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 16:
-#line 400 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 15:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 2598 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 17:
-#line 406 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 16:
+{
add_opvars(splev, "o", VA_PASS1(SPO_COPY));
- (yyval.i) = 0;
+ yyval.i = 0;
}
-#line 2607 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 18:
-#line 411 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1;
+break;
+case 17:
+{
+ yyval.i = 1;
}
-#line 2615 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 19:
-#line 417 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 18:
+{
+ yyval.i = -1;
}
-#line 2623 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 20:
-#line 421 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = what_map_char((char) (yyvsp[0].i));
+break;
+case 19:
+{
+ yyval.i = what_map_char((char) yyvsp[0].i);
}
-#line 2631 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 23:
-#line 432 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 22:
+{
add_opvars(splev, "io", VA_PASS2(0, SPO_LEVEL_FLAGS));
}
-#line 2639 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 24:
-#line 436 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "io", VA_PASS2((yyvsp[0].i), SPO_LEVEL_FLAGS));
+break;
+case 23:
+{
+ add_opvars(splev, "io", VA_PASS2(yyvsp[0].i, SPO_LEVEL_FLAGS));
}
-#line 2647 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 25:
-#line 442 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = ((yyvsp[-2].i) | (yyvsp[0].i));
+break;
+case 24:
+{
+ yyval.i = (yyvsp[-2].i | yyvsp[0].i);
}
-#line 2655 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 26:
-#line 446 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 25:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 2663 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 27:
-#line 452 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 0;
+break;
+case 26:
+{
+ yyval.i = 0;
}
-#line 2671 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 28:
-#line 456 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1 + (yyvsp[0].i);
+break;
+case 27:
+{
+ yyval.i = 1 + yyvsp[0].i;
}
-#line 2679 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 29:
-#line 462 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[-1].i);
+break;
+case 28:
+{
+ yyval.i = yyvsp[-1].i;
}
-#line 2687 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 97:
-#line 545 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 96:
+{
struct lc_vardefs *vd;
- if ((vd = vardef_defined(variable_definitions, (yyvsp[0].map), 1))) {
+ if ((vd = vardef_defined(variable_definitions, yyvsp[0].map, 1))) {
if (!(vd->var_type & SPOVAR_ARRAY))
- lc_error("Trying to shuffle non-array variable '%s'", (yyvsp[0].map));
- } else lc_error("Trying to shuffle undefined variable '%s'", (yyvsp[0].map));
- add_opvars(splev, "so", VA_PASS2((yyvsp[0].map), SPO_SHUFFLE_ARRAY));
- Free((yyvsp[0].map));
+ lc_error("Trying to shuffle non-array variable '%s'", yyvsp[0].map);
+ } else lc_error("Trying to shuffle undefined variable '%s'", yyvsp[0].map);
+ add_opvars(splev, "so", VA_PASS2(yyvsp[0].map, SPO_SHUFFLE_ARRAY));
+ Free(yyvsp[0].map);
}
-#line 2701 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 98:
-#line 557 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-2].map), SPOVAR_INT);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-2].map), SPO_VAR_INIT));
- Free((yyvsp[-2].map));
+break;
+case 97:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-2].map, SPOVAR_INT);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-2].map, SPO_VAR_INIT));
+ Free(yyvsp[-2].map);
}
-#line 2711 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 99:
-#line 563 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_SEL);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+break;
+case 98:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_SEL);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2721 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 100:
-#line 569 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-2].map), SPOVAR_STRING);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-2].map), SPO_VAR_INIT));
- Free((yyvsp[-2].map));
+break;
+case 99:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-2].map, SPOVAR_STRING);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-2].map, SPO_VAR_INIT));
+ Free(yyvsp[-2].map);
}
-#line 2731 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 101:
-#line 575 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_MAPCHAR);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+break;
+case 100:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_MAPCHAR);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2741 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 102:
-#line 581 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_MONST);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+break;
+case 101:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_MONST);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2751 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 103:
-#line 587 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_OBJ);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+break;
+case 102:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_OBJ);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2761 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 104:
-#line 593 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-2].map), SPOVAR_COORD);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-2].map), SPO_VAR_INIT));
- Free((yyvsp[-2].map));
+break;
+case 103:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-2].map, SPOVAR_COORD);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-2].map, SPO_VAR_INIT));
+ Free(yyvsp[-2].map);
}
-#line 2771 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 105:
-#line 599 "lev_comp.y" /* yacc.c:1646 */
- {
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-2].map), SPOVAR_REGION);
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-2].map), SPO_VAR_INIT));
- Free((yyvsp[-2].map));
+break;
+case 104:
+{
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-2].map, SPOVAR_REGION);
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-2].map, SPO_VAR_INIT));
+ Free(yyvsp[-2].map);
}
-#line 2781 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 106:
-#line 605 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_INT|SPOVAR_ARRAY);
+break;
+case 105:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_INT|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+ VA_PASS3(n_items, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2793 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 107:
-#line 613 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_COORD|SPOVAR_ARRAY);
+break;
+case 106:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_COORD|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+ VA_PASS3(n_items, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2805 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 108:
-#line 621 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_REGION|SPOVAR_ARRAY);
+break;
+case 107:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_REGION|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+ VA_PASS3(n_items, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2817 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 109:
-#line 629 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-6].map), SPOVAR_MAPCHAR|SPOVAR_ARRAY);
+break;
+case 108:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-6].map, SPOVAR_MAPCHAR|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-6].map), SPO_VAR_INIT));
- Free((yyvsp[-6].map));
+ VA_PASS3(n_items, yyvsp[-6].map, SPO_VAR_INIT));
+ Free(yyvsp[-6].map);
}
-#line 2829 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 110:
-#line 637 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-6].map), SPOVAR_MONST|SPOVAR_ARRAY);
+break;
+case 109:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-6].map, SPOVAR_MONST|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-6].map), SPO_VAR_INIT));
- Free((yyvsp[-6].map));
+ VA_PASS3(n_items, yyvsp[-6].map, SPO_VAR_INIT));
+ Free(yyvsp[-6].map);
}
-#line 2841 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 111:
-#line 645 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-6].map), SPOVAR_OBJ|SPOVAR_ARRAY);
+break;
+case 110:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-6].map, SPOVAR_OBJ|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-6].map), SPO_VAR_INIT));
- Free((yyvsp[-6].map));
+ VA_PASS3(n_items, yyvsp[-6].map, SPO_VAR_INIT));
+ Free(yyvsp[-6].map);
}
-#line 2853 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 112:
-#line 653 "lev_comp.y" /* yacc.c:1646 */
- {
- long n_items = (yyvsp[-1].i);
- variable_definitions = add_vardef_type(variable_definitions, (yyvsp[-4].map), SPOVAR_STRING|SPOVAR_ARRAY);
+break;
+case 111:
+{
+ long n_items = yyvsp[-1].i;
+ variable_definitions = add_vardef_type(variable_definitions, yyvsp[-4].map, SPOVAR_STRING|SPOVAR_ARRAY);
add_opvars(splev, "iso",
- VA_PASS3(n_items, (yyvsp[-4].map), SPO_VAR_INIT));
- Free((yyvsp[-4].map));
+ VA_PASS3(n_items, yyvsp[-4].map, SPO_VAR_INIT));
+ Free(yyvsp[-4].map);
}
-#line 2865 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 113:
-#line 663 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "O", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1;
+break;
+case 112:
+{
+ add_opvars(splev, "O", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1;
}
-#line 2874 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 114:
-#line 668 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "O", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 113:
+{
+ add_opvars(splev, "O", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2883 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 115:
-#line 675 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "M", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1;
+break;
+case 114:
+{
+ add_opvars(splev, "M", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1;
}
-#line 2892 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 116:
-#line 680 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "M", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 115:
+{
+ add_opvars(splev, "M", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2901 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 117:
-#line 687 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "m", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1;
+break;
+case 116:
+{
+ add_opvars(splev, "m", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1;
}
-#line 2910 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 118:
-#line 692 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "m", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 117:
+{
+ add_opvars(splev, "m", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2919 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 119:
-#line 699 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1;
+break;
+case 118:
+{
+ yyval.i = 1;
}
-#line 2927 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 120:
-#line 703 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 119:
+{
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2935 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 121:
-#line 709 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "c", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1;
+break;
+case 120:
+{
+ add_opvars(splev, "c", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1;
}
-#line 2944 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 122:
-#line 714 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "c", VA_PASS1((yyvsp[0].i)));
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 121:
+{
+ add_opvars(splev, "c", VA_PASS1(yyvsp[0].i));
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2953 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 123:
-#line 721 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1;
+break;
+case 122:
+{
+ yyval.i = 1;
}
-#line 2961 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 124:
-#line 725 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 123:
+{
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2969 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 125:
-#line 731 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1;
+break;
+case 124:
+{
+ yyval.i = 1;
}
-#line 2977 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 126:
-#line 735 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1 + (yyvsp[-2].i);
+break;
+case 125:
+{
+ yyval.i = 1 + yyvsp[-2].i;
}
-#line 2985 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 127:
-#line 741 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 126:
+{
struct lc_funcdefs *funcdef;
if (in_function_definition)
- lc_error("Recursively defined functions not allowed (function %s).", (yyvsp[-1].map));
+ lc_error("Recursively defined functions not allowed (function %s).", yyvsp[-1].map);
in_function_definition++;
- if (funcdef_defined(function_definitions, (yyvsp[-1].map), 1))
- lc_error("Function '%s' already defined once.", (yyvsp[-1].map));
+ if (funcdef_defined(function_definitions, yyvsp[-1].map, 1))
+ lc_error("Function '%s' already defined once.", yyvsp[-1].map);
- funcdef = funcdef_new(-1, (yyvsp[-1].map));
+ funcdef = funcdef_new(-1, yyvsp[-1].map);
funcdef->next = function_definitions;
function_definitions = funcdef;
function_splev_backup = splev;
splev = &(funcdef->code);
- Free((yyvsp[-1].map));
+ Free(yyvsp[-1].map);
curr_function = funcdef;
function_tmp_var_defs = variable_definitions;
variable_definitions = NULL;
}
-#line 3011 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 128:
-#line 763 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 127:
+{
/* nothing */
}
-#line 3019 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 129:
-#line 767 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 128:
+{
add_opvars(splev, "io", VA_PASS2(0, SPO_RETURN));
splev = function_splev_backup;
in_function_definition--;
vardef_free_all(variable_definitions);
variable_definitions = function_tmp_var_defs;
}
-#line 3032 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 130:
-#line 778 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 129:
+{
struct lc_funcdefs *tmpfunc;
- tmpfunc = funcdef_defined(function_definitions, (yyvsp[-3].map), 1);
+ tmpfunc = funcdef_defined(function_definitions, yyvsp[-3].map, 1);
if (tmpfunc) {
long l;
- long nparams = strlen( (yyvsp[-1].map) );
+ long nparams = strlen( yyvsp[-1].map );
char *fparamstr = funcdef_paramtypes(tmpfunc);
- if (strcmp((yyvsp[-1].map), fparamstr)) {
+ if (strcmp(yyvsp[-1].map, fparamstr)) {
char *tmps = strdup(decode_parm_str(fparamstr));
- lc_error("Function '%s' requires params '%s', got '%s' instead.", (yyvsp[-3].map), tmps, decode_parm_str((yyvsp[-1].map)));
+ lc_error("Function '%s' requires params '%s', got '%s' instead.", yyvsp[-3].map, tmps, decode_parm_str(yyvsp[-1].map));
Free(tmps);
}
Free(fparamstr);
- Free((yyvsp[-1].map));
+ Free(yyvsp[-1].map);
if (!(tmpfunc->n_called)) {
/* we haven't called the function yet, so insert it in the code */
struct opvar *jmp = New(struct opvar);
VA_PASS3(nparams, l, SPO_CALL));
tmpfunc->n_called++;
} else {
- lc_error("Function '%s' not defined.", (yyvsp[-3].map));
+ lc_error("Function '%s' not defined.", yyvsp[-3].map);
}
- Free((yyvsp[-3].map));
+ Free(yyvsp[-3].map);
}
-#line 3082 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 131:
-#line 826 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 130:
+{
add_opcode(splev, SPO_EXIT, NULL);
}
-#line 3090 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 132:
-#line 832 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 100;
+break;
+case 131:
+{
+ yyval.i = 100;
}
-#line 3098 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 133:
-#line 836 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 132:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 3106 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 134:
-#line 842 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 133:
+{
/* val > rn2(100) */
add_opvars(splev, "iio",
- VA_PASS3((long)(yyvsp[0].i), 100, SPO_RN2));
- (yyval.i) = SPO_JG;
+ VA_PASS3((long)yyvsp[0].i, 100, SPO_RN2));
+ yyval.i = SPO_JG;
}
-#line 3117 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 135:
-#line 849 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[-2].i);
+break;
+case 134:
+{
+ yyval.i = yyvsp[-2].i;
}
-#line 3125 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 136:
-#line 853 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 135:
+{
/* boolean, explicit foo != 0 */
add_opvars(splev, "i", VA_PASS1(0));
- (yyval.i) = SPO_JNE;
+ yyval.i = SPO_JNE;
}
-#line 3135 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 137:
-#line 861 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 136:
+{
is_inconstant_number = 0;
}
-#line 3143 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 138:
-#line 865 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 137:
+{
struct opvar *chkjmp;
if (in_switch_statement > 0)
lc_error("Cannot nest switch-statements.");
add_opcode(splev, SPO_JMP, NULL);
break_stmt_start();
}
-#line 3169 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 139:
-#line 887 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 138:
+{
struct opvar *endjump = New(struct opvar);
int i;
}
-#line 3212 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 142:
-#line 932 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 141:
+{
if (n_switch_case_list < MAX_SWITCH_CASES) {
struct opvar *tmppush = New(struct opvar);
set_opvar_int(tmppush, splev->n_opcodes);
- switch_case_value[n_switch_case_list] = (yyvsp[-1].i);
+ switch_case_value[n_switch_case_list] = yyvsp[-1].i;
switch_case_list[n_switch_case_list++] = tmppush;
} else lc_error("Too many cases in a switch.");
}
-#line 3225 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 143:
-#line 941 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 142:
+{
}
-#line 3232 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 144:
-#line 944 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 143:
+{
struct opvar *tmppush = New(struct opvar);
if (switch_default_case)
set_opvar_int(tmppush, splev->n_opcodes);
switch_default_case = tmppush;
}
-#line 3246 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 145:
-#line 954 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 144:
+{
}
-#line 3253 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 146:
-#line 959 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 145:
+{
if (!allow_break_statements)
lc_error("Cannot use BREAK outside a statement block.");
else {
break_stmt_new(splev, splev->n_opcodes);
}
}
-#line 3265 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 149:
-#line 973 "lev_comp.y" /* yacc.c:1646 */
- {
- char buf[256], buf2[256];
+break;
+case 148:
+{
+ char buf[256], buf2[256];
if (n_forloops >= MAX_NESTED_IFS) {
lc_error("FOR: Too deeply nested loops.");
}
/* first, define a variable for the for-loop end value */
- snprintf(buf, 255, "%s end", (yyvsp[-4].map));
+ snprintf(buf, 255, "%s end", yyvsp[-4].map);
/* the value of which is already in stack (the 2nd math_expr) */
add_opvars(splev, "iso", VA_PASS3(0, buf, SPO_VAR_INIT));
variable_definitions = add_vardef_type(variable_definitions,
- (yyvsp[-4].map), SPOVAR_INT);
+ yyvsp[-4].map, SPOVAR_INT);
/* define the for-loop variable. value is in stack (1st math_expr) */
- add_opvars(splev, "iso", VA_PASS3(0, (yyvsp[-4].map), SPO_VAR_INIT));
+ add_opvars(splev, "iso", VA_PASS3(0, yyvsp[-4].map, SPO_VAR_INIT));
/* calculate value for the loop "step" variable */
- snprintf(buf2, 255, "%s step", (yyvsp[-4].map));
+ snprintf(buf2, 255, "%s step", yyvsp[-4].map);
/* end - start */
add_opvars(splev, "vvo",
- VA_PASS3(buf, (yyvsp[-4].map), SPO_MATH_SUB));
+ VA_PASS3(buf, yyvsp[-4].map, SPO_MATH_SUB));
/* sign of that */
add_opvars(splev, "o", VA_PASS1(SPO_MATH_SIGN));
/* save the sign into the step var */
add_opvars(splev, "iso",
VA_PASS3(0, buf2, SPO_VAR_INIT));
- forloop_list[n_forloops].varname = strdup((yyvsp[-4].map));
+ forloop_list[n_forloops].varname = strdup(yyvsp[-4].map);
forloop_list[n_forloops].jmp_point = splev->n_opcodes;
n_forloops++;
- Free((yyvsp[-4].map));
+ Free(yyvsp[-4].map);
}
-#line 3305 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 150:
-#line 1011 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 149:
+{
/* nothing */
break_stmt_start();
}
-#line 3314 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 151:
-#line 1016 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 150:
+{
char buf[256], buf2[256];
n_forloops--;
snprintf(buf, 255, "%s step", forloop_list[n_forloops].varname);
Free(forloop_list[n_forloops].varname);
break_stmt_end(splev);
}
-#line 3344 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 152:
-#line 1044 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 151:
+{
struct opvar *tmppush = New(struct opvar);
if (n_if_list >= MAX_NESTED_IFS) {
add_opvars(splev, "o", VA_PASS1(SPO_DEC));
break_stmt_start();
}
-#line 3362 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 153:
-#line 1058 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 152:
+{
struct opvar *tmppush;
add_opvars(splev, "oio", VA_PASS3(SPO_COPY, 0, SPO_CMP));
add_opcode(splev, SPO_POP, NULL); /* get rid of the count value in stack */
break_stmt_end(splev);
}
-#line 3379 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 154:
-#line 1073 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 153:
+{
struct opvar *tmppush2 = New(struct opvar);
if (n_if_list >= MAX_NESTED_IFS) {
add_opcode(splev, SPO_PUSH, tmppush2);
- add_opcode(splev, reverse_jmp_opcode( (yyvsp[-1].i) ), NULL);
+ add_opcode(splev, reverse_jmp_opcode( yyvsp[-1].i ), NULL);
}
-#line 3403 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 155:
-#line 1093 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 154:
+{
if (n_if_list > 0) {
struct opvar *tmppush;
tmppush = (struct opvar *) if_list[--n_if_list];
set_opvar_int(tmppush, splev->n_opcodes - tmppush->vardata.l);
} else lc_error("IF: Huh?! No start address?");
}
-#line 3415 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 156:
-#line 1103 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 155:
+{
struct opvar *tmppush2 = New(struct opvar);
if (n_if_list >= MAX_NESTED_IFS) {
add_opcode(splev, SPO_PUSH, tmppush2);
- add_opcode(splev, reverse_jmp_opcode( (yyvsp[0].i) ), NULL);
+ add_opcode(splev, reverse_jmp_opcode( yyvsp[0].i ), NULL);
}
-#line 3439 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 157:
-#line 1123 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 156:
+{
/* do nothing */
}
-#line 3447 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 158:
-#line 1129 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 157:
+{
if (n_if_list > 0) {
struct opvar *tmppush;
tmppush = (struct opvar *) if_list[--n_if_list];
set_opvar_int(tmppush, splev->n_opcodes - tmppush->vardata.l);
} else lc_error("IF: Huh?! No start address?");
}
-#line 3459 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 159:
-#line 1137 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 158:
+{
if (n_if_list > 0) {
struct opvar *tmppush = New(struct opvar);
struct opvar *tmppush2;
if_list[n_if_list++] = tmppush;
} else lc_error("IF: Huh?! No else-part address?");
}
-#line 3480 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 160:
-#line 1154 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 159:
+{
if (n_if_list > 0) {
struct opvar *tmppush;
tmppush = (struct opvar *) if_list[--n_if_list];
set_opvar_int(tmppush, splev->n_opcodes - tmppush->vardata.l);
} else lc_error("IF: Huh?! No end address?");
}
-#line 3492 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 161:
-#line 1164 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 160:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MESSAGE));
}
-#line 3500 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 162:
-#line 1170 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 161:
+{
add_opvars(splev, "iiiiiio",
VA_PASS7(-1, 0, -1, -1, -1, -1, SPO_CORRIDOR));
}
-#line 3509 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 163:
-#line 1175 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 162:
+{
add_opvars(splev, "iiiiiio",
- VA_PASS7(-1, (yyvsp[0].i), -1, -1, -1, -1, SPO_CORRIDOR));
+ VA_PASS7(-1, yyvsp[0].i, -1, -1, -1, -1, SPO_CORRIDOR));
}
-#line 3518 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 164:
-#line 1180 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 163:
+{
add_opvars(splev, "iiiiiio",
VA_PASS7(-1, -1, -1, -1, -1, -1, SPO_CORRIDOR));
}
-#line 3527 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 165:
-#line 1187 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 164:
+{
add_opvars(splev, "iiiiiio",
- VA_PASS7((yyvsp[-2].corpos).room, (yyvsp[-2].corpos).door, (yyvsp[-2].corpos).wall,
- (yyvsp[0].corpos).room, (yyvsp[0].corpos).door, (yyvsp[0].corpos).wall,
+ VA_PASS7(yyvsp[-2].corpos.room, yyvsp[-2].corpos.door, yyvsp[-2].corpos.wall,
+ yyvsp[0].corpos.room, yyvsp[0].corpos.door, yyvsp[0].corpos.wall,
SPO_CORRIDOR));
}
-#line 3538 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 166:
-#line 1194 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 165:
+{
add_opvars(splev, "iiiiiio",
- VA_PASS7((yyvsp[-2].corpos).room, (yyvsp[-2].corpos).door, (yyvsp[-2].corpos).wall,
- -1, -1, (long)(yyvsp[0].i),
+ VA_PASS7(yyvsp[-2].corpos.room, yyvsp[-2].corpos.door, yyvsp[-2].corpos.wall,
+ -1, -1, (long)yyvsp[0].i,
SPO_CORRIDOR));
}
-#line 3549 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 167:
-#line 1203 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.corpos).room = (yyvsp[-5].i);
- (yyval.corpos).wall = (yyvsp[-3].i);
- (yyval.corpos).door = (yyvsp[-1].i);
+break;
+case 166:
+{
+ yyval.corpos.room = yyvsp[-5].i;
+ yyval.corpos.wall = yyvsp[-3].i;
+ yyval.corpos.door = yyvsp[-1].i;
}
-#line 3559 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 168:
-#line 1211 "lev_comp.y" /* yacc.c:1646 */
- {
- if (((yyvsp[-2].i) < 100) && ((yyvsp[-3].i) == OROOM))
+break;
+case 167:
+{
+ if ((yyvsp[-2].i < 100) && (yyvsp[-3].i == OROOM))
lc_error("Only typed rooms can have a chance.");
else {
add_opvars(splev, "iii",
- VA_PASS3((long)(yyvsp[-3].i), (long)(yyvsp[-2].i), (long)(yyvsp[0].i)));
+ VA_PASS3((long)yyvsp[-3].i, (long)yyvsp[-2].i, (long)yyvsp[0].i));
}
}
-#line 3572 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 169:
-#line 1222 "lev_comp.y" /* yacc.c:1646 */
- {
- long rflags = (yyvsp[0].i);
+break;
+case 168:
+{
+ long rflags = yyvsp[0].i;
if (rflags == -1) rflags = (1 << 0);
add_opvars(splev, "iiiiiiio",
VA_PASS8(rflags, ERR, ERR,
- (yyvsp[-3].crd).x, (yyvsp[-3].crd).y, (yyvsp[-1].sze).width, (yyvsp[-1].sze).height,
+ yyvsp[-3].crd.x, yyvsp[-3].crd.y, yyvsp[-1].sze.width, yyvsp[-1].sze.height,
SPO_SUBROOM));
break_stmt_start();
}
-#line 3587 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 170:
-#line 1233 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 169:
+{
break_stmt_end(splev);
add_opcode(splev, SPO_ENDROOM, NULL);
}
-#line 3596 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 171:
-#line 1240 "lev_comp.y" /* yacc.c:1646 */
- {
- long rflags = (yyvsp[-2].i);
+break;
+case 170:
+{
+ long rflags = yyvsp[-2].i;
if (rflags == -1) rflags = (1 << 0);
add_opvars(splev, "iiiiiiio",
VA_PASS8(rflags,
- (yyvsp[-3].crd).x, (yyvsp[-3].crd).y, (yyvsp[-5].crd).x, (yyvsp[-5].crd).y,
- (yyvsp[-1].sze).width, (yyvsp[-1].sze).height, SPO_ROOM));
+ yyvsp[-3].crd.x, yyvsp[-3].crd.y, yyvsp[-5].crd.x, yyvsp[-5].crd.y,
+ yyvsp[-1].sze.width, yyvsp[-1].sze.height, SPO_ROOM));
break_stmt_start();
}
-#line 3611 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 172:
-#line 1251 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 171:
+{
break_stmt_end(splev);
add_opcode(splev, SPO_ENDROOM, NULL);
}
-#line 3620 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 173:
-#line 1258 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 1;
+break;
+case 172:
+{
+ yyval.i = 1;
}
-#line 3628 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 174:
-#line 1262 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 173:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 3636 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 175:
-#line 1268 "lev_comp.y" /* yacc.c:1646 */
- {
- if ( (yyvsp[-3].i) < 1 || (yyvsp[-3].i) > 5 ||
- (yyvsp[-1].i) < 1 || (yyvsp[-1].i) > 5 ) {
- lc_error("Room positions should be between 1-5: (%li,%li)!", (yyvsp[-3].i), (yyvsp[-1].i));
+break;
+case 174:
+{
+ if ( yyvsp[-3].i < 1 || yyvsp[-3].i > 5 ||
+ yyvsp[-1].i < 1 || yyvsp[-1].i > 5 ) {
+ lc_error("Room positions should be between 1-5: (%li,%li)!", yyvsp[-3].i, yyvsp[-1].i);
} else {
- (yyval.crd).x = (yyvsp[-3].i);
- (yyval.crd).y = (yyvsp[-1].i);
+ yyval.crd.x = yyvsp[-3].i;
+ yyval.crd.y = yyvsp[-1].i;
}
}
-#line 3650 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 176:
-#line 1278 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.crd).x = (yyval.crd).y = ERR;
+break;
+case 175:
+{
+ yyval.crd.x = yyval.crd.y = ERR;
}
-#line 3658 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 177:
-#line 1284 "lev_comp.y" /* yacc.c:1646 */
- {
- if ( (yyvsp[-3].i) < 0 || (yyvsp[-1].i) < 0) {
- lc_error("Invalid subroom position (%li,%li)!", (yyvsp[-3].i), (yyvsp[-1].i));
+break;
+case 176:
+{
+ if ( yyvsp[-3].i < 0 || yyvsp[-1].i < 0) {
+ lc_error("Invalid subroom position (%li,%li)!", yyvsp[-3].i, yyvsp[-1].i);
} else {
- (yyval.crd).x = (yyvsp[-3].i);
- (yyval.crd).y = (yyvsp[-1].i);
+ yyval.crd.x = yyvsp[-3].i;
+ yyval.crd.y = yyvsp[-1].i;
}
}
-#line 3671 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 178:
-#line 1293 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.crd).x = (yyval.crd).y = ERR;
+break;
+case 177:
+{
+ yyval.crd.x = yyval.crd.y = ERR;
}
-#line 3679 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 179:
-#line 1299 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.crd).x = (yyvsp[-3].i);
- (yyval.crd).y = (yyvsp[-1].i);
+break;
+case 178:
+{
+ yyval.crd.x = yyvsp[-3].i;
+ yyval.crd.y = yyvsp[-1].i;
}
-#line 3688 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 180:
-#line 1304 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.crd).x = (yyval.crd).y = ERR;
+break;
+case 179:
+{
+ yyval.crd.x = yyval.crd.y = ERR;
}
-#line 3696 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 181:
-#line 1310 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.sze).width = (yyvsp[-3].i);
- (yyval.sze).height = (yyvsp[-1].i);
+break;
+case 180:
+{
+ yyval.sze.width = yyvsp[-3].i;
+ yyval.sze.height = yyvsp[-1].i;
}
-#line 3705 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 182:
-#line 1315 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.sze).height = (yyval.sze).width = ERR;
+break;
+case 181:
+{
+ yyval.sze.height = yyval.sze.width = ERR;
}
-#line 3713 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 183:
-#line 1321 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 182:
+{
/* ERR means random here */
- if ((yyvsp[-2].i) == ERR && (yyvsp[0].i) != ERR) {
+ if (yyvsp[-2].i == ERR && yyvsp[0].i != ERR) {
lc_error("If the door wall is random, so must be its pos!");
} else {
add_opvars(splev, "iiiio",
- VA_PASS5((long)(yyvsp[0].i), (long)(yyvsp[-4].i), (long)(yyvsp[-6].i),
- (long)(yyvsp[-2].i), SPO_ROOM_DOOR));
+ VA_PASS5((long)yyvsp[0].i, (long)yyvsp[-4].i, (long)yyvsp[-6].i,
+ (long)yyvsp[-2].i, SPO_ROOM_DOOR));
}
}
-#line 3728 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 184:
-#line 1332 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "io", VA_PASS2((long)(yyvsp[-2].i), SPO_DOOR));
+break;
+case 183:
+{
+ add_opvars(splev, "io", VA_PASS2((long)yyvsp[-2].i, SPO_DOOR));
}
-#line 3736 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 189:
-#line 1346 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 188:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 3744 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 190:
-#line 1350 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = ((yyvsp[-2].i) | (yyvsp[0].i));
+break;
+case 189:
+{
+ yyval.i = (yyvsp[-2].i | yyvsp[0].i);
}
-#line 3752 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 193:
-#line 1360 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 192:
+{
add_opvars(splev, "ciisiio",
VA_PASS7(0, 0, 1, (char *)0, 0, 0, SPO_MAP));
max_x_map = COLNO-1;
max_y_map = ROWNO;
}
-#line 3763 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 194:
-#line 1367 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 193:
+{
add_opvars(splev, "cii",
- VA_PASS3(SP_COORD_PACK(((yyvsp[-4].i)),((yyvsp[-2].i))),
- 1, (long)(yyvsp[-1].i)));
- scan_map((yyvsp[0].map), splev);
- Free((yyvsp[0].map));
+ VA_PASS3(SP_COORD_PACK((yyvsp[-4].i),(yyvsp[-2].i)),
+ 1, (long)yyvsp[-1].i));
+ scan_map(yyvsp[0].map, splev);
+ Free(yyvsp[0].map);
}
-#line 3775 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 195:
-#line 1375 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "ii", VA_PASS2(2, (long)(yyvsp[-1].i)));
- scan_map((yyvsp[0].map), splev);
- Free((yyvsp[0].map));
+break;
+case 194:
+{
+ add_opvars(splev, "ii", VA_PASS2(2, (long)yyvsp[-1].i));
+ scan_map(yyvsp[0].map, splev);
+ Free(yyvsp[0].map);
}
-#line 3785 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 200:
-#line 1391 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 199:
+{
add_opvars(splev, "io", VA_PASS2(0, SPO_MONSTER));
}
-#line 3793 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 201:
-#line 1395 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 200:
+{
add_opvars(splev, "io", VA_PASS2(1, SPO_MONSTER));
in_container_obj++;
break_stmt_start();
}
-#line 3803 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 202:
-#line 1401 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 201:
+{
break_stmt_end(splev);
in_container_obj--;
add_opvars(splev, "o", VA_PASS1(SPO_END_MONINVENT));
}
-#line 3813 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 203:
-#line 1409 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 202:
+{
/* nothing */
}
-#line 3821 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 204:
-#line 1415 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 203:
+{
struct opvar *stopit = New(struct opvar);
set_opvar_int(stopit, SP_M_V_END);
add_opcode(splev, SPO_PUSH, stopit);
- (yyval.i) = 0x0000;
+ yyval.i = 0x0000;
}
-#line 3832 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 205:
-#line 1422 "lev_comp.y" /* yacc.c:1646 */
- {
- if (( (yyvsp[-2].i) & (yyvsp[0].i) ))
+break;
+case 204:
+{
+ if (( yyvsp[-2].i & yyvsp[0].i ))
lc_error("MONSTER extra info defined twice.");
- (yyval.i) = ( (yyvsp[-2].i) | (yyvsp[0].i) );
+ yyval.i = ( yyvsp[-2].i | yyvsp[0].i );
}
-#line 3842 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 206:
-#line 1430 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 205:
+{
add_opvars(splev, "i", VA_PASS1(SP_M_V_NAME));
- (yyval.i) = 0x0001;
+ yyval.i = 0x0001;
}
-#line 3851 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 207:
-#line 1435 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 206:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[0].i), SP_M_V_PEACEFUL));
- (yyval.i) = 0x0002;
+ VA_PASS2((long)yyvsp[0].i, SP_M_V_PEACEFUL));
+ yyval.i = 0x0002;
}
-#line 3861 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 208:
-#line 1441 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 207:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[0].i), SP_M_V_ASLEEP));
- (yyval.i) = 0x0004;
+ VA_PASS2((long)yyvsp[0].i, SP_M_V_ASLEEP));
+ yyval.i = 0x0004;
}
-#line 3871 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 209:
-#line 1447 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 208:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[0].i), SP_M_V_ALIGN));
- (yyval.i) = 0x0008;
+ VA_PASS2((long)yyvsp[0].i, SP_M_V_ALIGN));
+ yyval.i = 0x0008;
}
-#line 3881 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 210:
-#line 1453 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 209:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[-1].i), SP_M_V_APPEAR));
- (yyval.i) = 0x0010;
+ VA_PASS2((long)yyvsp[-1].i, SP_M_V_APPEAR));
+ yyval.i = 0x0010;
}
-#line 3891 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 211:
-#line 1459 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 210:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_FEMALE));
- (yyval.i) = 0x0020;
+ yyval.i = 0x0020;
}
-#line 3900 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 212:
-#line 1464 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 211:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_INVIS));
- (yyval.i) = 0x0040;
+ yyval.i = 0x0040;
}
-#line 3909 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 213:
-#line 1469 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 212:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_CANCELLED));
- (yyval.i) = 0x0080;
+ yyval.i = 0x0080;
}
-#line 3918 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 214:
-#line 1474 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 213:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_REVIVED));
- (yyval.i) = 0x0100;
+ yyval.i = 0x0100;
}
-#line 3927 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 215:
-#line 1479 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 214:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_AVENGE));
- (yyval.i) = 0x0200;
+ yyval.i = 0x0200;
}
-#line 3936 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 216:
-#line 1484 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 215:
+{
add_opvars(splev, "i", VA_PASS1(SP_M_V_FLEEING));
- (yyval.i) = 0x0400;
+ yyval.i = 0x0400;
}
-#line 3945 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 217:
-#line 1489 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 216:
+{
add_opvars(splev, "i", VA_PASS1(SP_M_V_BLINDED));
- (yyval.i) = 0x0800;
+ yyval.i = 0x0800;
}
-#line 3954 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 218:
-#line 1494 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 217:
+{
add_opvars(splev, "i", VA_PASS1(SP_M_V_PARALYZED));
- (yyval.i) = 0x1000;
+ yyval.i = 0x1000;
}
-#line 3963 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 219:
-#line 1499 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 218:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_STUNNED));
- (yyval.i) = 0x2000;
+ yyval.i = 0x2000;
}
-#line 3972 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 220:
-#line 1504 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 219:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_M_V_CONFUSED));
- (yyval.i) = 0x4000;
+ yyval.i = 0x4000;
}
-#line 3981 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 221:
-#line 1509 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 220:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[0].i), SP_M_V_SEENTRAPS));
- (yyval.i) = 0x8000;
+ VA_PASS2((long)yyvsp[0].i, SP_M_V_SEENTRAPS));
+ yyval.i = 0x8000;
}
-#line 3991 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 222:
-#line 1517 "lev_comp.y" /* yacc.c:1646 */
- {
- int token = get_trap_type((yyvsp[0].map));
+break;
+case 221:
+{
+ int token = get_trap_type(yyvsp[0].map);
if (token == ERR || token == 0)
- lc_error("Unknown trap type '%s'!", (yyvsp[0].map));
- Free((yyvsp[0].map));
- (yyval.i) = (1L << (token - 1));
+ lc_error("Unknown trap type '%s'!", yyvsp[0].map);
+ Free(yyvsp[0].map);
+ yyval.i = (1L << (token - 1));
}
-#line 4003 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 223:
-#line 1525 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (long) ~0;
+break;
+case 222:
+{
+ yyval.i = (long) ~0;
}
-#line 4011 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 224:
-#line 1529 "lev_comp.y" /* yacc.c:1646 */
- {
- int token = get_trap_type((yyvsp[-2].map));
+break;
+case 223:
+{
+ int token = get_trap_type(yyvsp[-2].map);
if (token == ERR || token == 0)
- lc_error("Unknown trap type '%s'!", (yyvsp[-2].map));
+ lc_error("Unknown trap type '%s'!", yyvsp[-2].map);
- if ((1L << (token - 1)) & (yyvsp[0].i))
- lc_error("Monster seen_traps, trap '%s' listed twice.", (yyvsp[-2].map));
- Free((yyvsp[-2].map));
- (yyval.i) = ((1L << (token - 1)) | (yyvsp[0].i));
+ if ((1L << (token - 1)) & yyvsp[0].i)
+ lc_error("Monster seen_traps, trap '%s' listed twice.", yyvsp[-2].map);
+ Free(yyvsp[-2].map);
+ yyval.i = ((1L << (token - 1)) | yyvsp[0].i);
}
-#line 4026 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 225:
-#line 1542 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 224:
+{
long cnt = 0;
if (in_container_obj) cnt |= SP_OBJ_CONTENT;
add_opvars(splev, "io", VA_PASS2(cnt, SPO_OBJECT));
}
-#line 4036 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 226:
-#line 1548 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 225:
+{
long cnt = SP_OBJ_CONTAINER;
if (in_container_obj) cnt |= SP_OBJ_CONTENT;
add_opvars(splev, "io", VA_PASS2(cnt, SPO_OBJECT));
in_container_obj++;
break_stmt_start();
}
-#line 4048 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 227:
-#line 1556 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 226:
+{
break_stmt_end(splev);
in_container_obj--;
add_opcode(splev, SPO_POP_CONTAINER, NULL);
}
-#line 4058 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 228:
-#line 1564 "lev_comp.y" /* yacc.c:1646 */
- {
- if (( (yyvsp[0].i) & 0x4000) && in_container_obj)
+break;
+case 227:
+{
+ 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)
+ else if (!( yyvsp[0].i & 0x4000) && !in_container_obj)
lc_error("Object needs a coord when not contained.");
}
-#line 4069 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 229:
-#line 1573 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 228:
+{
struct opvar *stopit = New(struct opvar);
set_opvar_int(stopit, SP_O_V_END);
add_opcode(splev, SPO_PUSH, stopit);
- (yyval.i) = 0x00;
+ yyval.i = 0x00;
}
-#line 4080 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 230:
-#line 1580 "lev_comp.y" /* yacc.c:1646 */
- {
- if (( (yyvsp[-2].i) & (yyvsp[0].i) ))
+break;
+case 229:
+{
+ 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) );
+ yyval.i = ( yyvsp[-2].i | yyvsp[0].i );
}
-#line 4090 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 231:
-#line 1588 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 230:
+{
add_opvars(splev, "ii",
- VA_PASS2((long)(yyvsp[0].i), SP_O_V_CURSE));
- (yyval.i) = 0x0001;
+ VA_PASS2((long)yyvsp[0].i, SP_O_V_CURSE));
+ yyval.i = 0x0001;
}
-#line 4100 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 232:
-#line 1594 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 231:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_CORPSENM));
- (yyval.i) = 0x0002;
+ yyval.i = 0x0002;
}
-#line 4109 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 233:
-#line 1599 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 232:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_SPE));
- (yyval.i) = 0x0004;
+ yyval.i = 0x0004;
}
-#line 4118 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 234:
-#line 1604 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 233:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_NAME));
- (yyval.i) = 0x0008;
+ yyval.i = 0x0008;
}
-#line 4127 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 235:
-#line 1609 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 234:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_QUAN));
- (yyval.i) = 0x0010;
+ yyval.i = 0x0010;
}
-#line 4136 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 236:
-#line 1614 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 235:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_BURIED));
- (yyval.i) = 0x0020;
+ yyval.i = 0x0020;
}
-#line 4145 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 237:
-#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;
+break;
+case 236:
+{
+ add_opvars(splev, "ii", VA_PASS2((long)yyvsp[0].i, SP_O_V_LIT));
+ yyval.i = 0x0040;
}
-#line 4154 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 238:
-#line 1624 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 237:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_ERODED));
- (yyval.i) = 0x0080;
+ yyval.i = 0x0080;
}
-#line 4163 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 239:
-#line 1629 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 238:
+{
add_opvars(splev, "ii", VA_PASS2(-1, SP_O_V_ERODED));
- (yyval.i) = 0x0080;
+ yyval.i = 0x0080;
}
-#line 4172 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 240:
-#line 1634 "lev_comp.y" /* yacc.c:1646 */
- {
- if ((yyvsp[0].i) == D_LOCKED) {
+break;
+case 239:
+{
+ if (yyvsp[0].i == D_LOCKED) {
add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_LOCKED));
- (yyval.i) = 0x0100;
- } else if ((yyvsp[0].i) == D_BROKEN) {
+ yyval.i = 0x0100;
+ } else if (yyvsp[0].i == D_BROKEN) {
add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_BROKEN));
- (yyval.i) = 0x0200;
+ yyval.i = 0x0200;
} else
lc_error("DOOR state can only be locked or broken.");
}
-#line 4187 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 241:
-#line 1645 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "ii", VA_PASS2((yyvsp[0].i), SP_O_V_TRAPPED));
- (yyval.i) = 0x0400;
+break;
+case 240:
+{
+ add_opvars(splev, "ii", VA_PASS2(yyvsp[0].i, SP_O_V_TRAPPED));
+ yyval.i = 0x0400;
}
-#line 4196 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 242:
-#line 1650 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 241:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_RECHARGED));
- (yyval.i) = 0x0800;
+ yyval.i = 0x0800;
}
-#line 4205 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 243:
-#line 1655 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 242:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_INVIS));
- (yyval.i) = 0x1000;
+ yyval.i = 0x1000;
}
-#line 4214 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 244:
-#line 1660 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 243:
+{
add_opvars(splev, "ii", VA_PASS2(1, SP_O_V_GREASED));
- (yyval.i) = 0x2000;
+ yyval.i = 0x2000;
}
-#line 4223 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 245:
-#line 1665 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 244:
+{
add_opvars(splev, "i", VA_PASS1(SP_O_V_COORD));
- (yyval.i) = 0x4000;
+ yyval.i = 0x4000;
}
-#line 4232 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 246:
-#line 1672 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "io", VA_PASS2((long)(yyvsp[-2].i), SPO_TRAP));
+break;
+case 245:
+{
+ add_opvars(splev, "io", VA_PASS2((long)yyvsp[-2].i, SPO_TRAP));
}
-#line 4240 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 247:
-#line 1678 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 246:
+{
long dir, state = 0;
/* convert dir from a DIRECTION to a DB_DIR */
- dir = (yyvsp[-2].i);
+ dir = yyvsp[-2].i;
switch (dir) {
case W_NORTH: dir = DB_NORTH; break;
case W_SOUTH: dir = DB_SOUTH; break;
break;
}
- if ( (yyvsp[0].i) == D_ISOPEN )
+ if ( yyvsp[0].i == D_ISOPEN )
state = 1;
- else if ( (yyvsp[0].i) == D_CLOSED )
+ else if ( yyvsp[0].i == D_CLOSED )
state = 0;
- else if ( (yyvsp[0].i) == -1 )
+ else if ( yyvsp[0].i == -1 )
state = -1;
else
lc_error("A drawbridge can only be open, closed or random!");
add_opvars(splev, "iio",
VA_PASS3(state, dir, SPO_DRAWBRIDGE));
}
-#line 4271 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 248:
-#line 1707 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 247:
+{
add_opvars(splev, "iiio",
- VA_PASS4((long)(yyvsp[0].i), 1, 0, SPO_MAZEWALK));
+ VA_PASS4((long)yyvsp[0].i, 1, 0, SPO_MAZEWALK));
}
-#line 4280 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 249:
-#line 1712 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 248:
+{
add_opvars(splev, "iiio",
- VA_PASS4((long)(yyvsp[-3].i), (long)(yyvsp[-1].i),
- (long)(yyvsp[0].i), SPO_MAZEWALK));
+ VA_PASS4((long)yyvsp[-3].i, (long)yyvsp[-1].i,
+ (long)yyvsp[0].i, SPO_MAZEWALK));
}
-#line 4290 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 250:
-#line 1720 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 249:
+{
add_opvars(splev, "rio",
VA_PASS3(SP_REGION_PACK(-1,-1,-1,-1),
0, SPO_WALLIFY));
}
-#line 4300 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 251:
-#line 1726 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 250:
+{
add_opvars(splev, "io", VA_PASS2(1, SPO_WALLIFY));
}
-#line 4308 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 252:
-#line 1732 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 251:
+{
add_opvars(splev, "io",
- VA_PASS2((long)(yyvsp[0].i), SPO_LADDER));
+ VA_PASS2((long)yyvsp[0].i, SPO_LADDER));
}
-#line 4317 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 253:
-#line 1739 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 252:
+{
add_opvars(splev, "io",
- VA_PASS2((long)(yyvsp[0].i), SPO_STAIR));
+ VA_PASS2((long)yyvsp[0].i, SPO_STAIR));
}
-#line 4326 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 254:
-#line 1746 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 253:
+{
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,
- (yyvsp[-2].lregn).x1, (yyvsp[-2].lregn).y1, (yyvsp[-2].lregn).x2, (yyvsp[-2].lregn).y2, (yyvsp[-2].lregn).area,
- (long)(((yyvsp[0].i)) ? LR_UPSTAIR : LR_DOWNSTAIR),
+ VA_PASS14(yyvsp[-4].lregn.x1, yyvsp[-4].lregn.y1, yyvsp[-4].lregn.x2, yyvsp[-4].lregn.y2, yyvsp[-4].lregn.area,
+ yyvsp[-2].lregn.x1, yyvsp[-2].lregn.y1, yyvsp[-2].lregn.x2, yyvsp[-2].lregn.y2, yyvsp[-2].lregn.area,
+ (long)((yyvsp[0].i) ? LR_UPSTAIR : LR_DOWNSTAIR),
0, (char *)0, SPO_LEVREGION));
}
-#line 4338 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 255:
-#line 1756 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 254:
+{
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,
- (yyvsp[-2].lregn).x1, (yyvsp[-2].lregn).y1, (yyvsp[-2].lregn).x2, (yyvsp[-2].lregn).y2, (yyvsp[-2].lregn).area,
- LR_PORTAL, 0, (yyvsp[0].map), SPO_LEVREGION));
- Free((yyvsp[0].map));
+ VA_PASS14(yyvsp[-4].lregn.x1, yyvsp[-4].lregn.y1, yyvsp[-4].lregn.x2, yyvsp[-4].lregn.y2, yyvsp[-4].lregn.area,
+ yyvsp[-2].lregn.x1, yyvsp[-2].lregn.y1, yyvsp[-2].lregn.x2, yyvsp[-2].lregn.y2, yyvsp[-2].lregn.area,
+ LR_PORTAL, 0, yyvsp[0].map, SPO_LEVREGION));
+ Free(yyvsp[0].map);
}
-#line 4350 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 256:
-#line 1766 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 255:
+{
long rtyp = 0;
- switch((yyvsp[0].i)) {
+ switch(yyvsp[0].i) {
case -1: rtyp = LR_TELE; break;
case 0: rtyp = LR_DOWNTELE; break;
case 1: rtyp = LR_UPTELE; break;
}
add_opvars(splev, "iiiii iiiii iiso",
- VA_PASS14((yyvsp[-3].lregn).x1, (yyvsp[-3].lregn).y1, (yyvsp[-3].lregn).x2, (yyvsp[-3].lregn).y2, (yyvsp[-3].lregn).area,
- (yyvsp[-1].lregn).x1, (yyvsp[-1].lregn).y1, (yyvsp[-1].lregn).x2, (yyvsp[-1].lregn).y2, (yyvsp[-1].lregn).area,
+ VA_PASS14(yyvsp[-3].lregn.x1, yyvsp[-3].lregn.y1, yyvsp[-3].lregn.x2, yyvsp[-3].lregn.y2, yyvsp[-3].lregn.area,
+ 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 4367 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 257:
-#line 1781 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 256:
+{
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,
- (yyvsp[0].lregn).x1, (yyvsp[0].lregn).y1, (yyvsp[0].lregn).x2, (yyvsp[0].lregn).y2, (yyvsp[0].lregn).area,
+ VA_PASS14(yyvsp[-2].lregn.x1, yyvsp[-2].lregn.y1, yyvsp[-2].lregn.x2, yyvsp[-2].lregn.y2, yyvsp[-2].lregn.area,
+ yyvsp[0].lregn.x1, yyvsp[0].lregn.y1, yyvsp[0].lregn.x2, yyvsp[0].lregn.y2, yyvsp[0].lregn.area,
(long)LR_BRANCH, 0,
(char *)0, SPO_LEVREGION));
}
-#line 4379 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 258:
-#line 1791 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 257:
+{
+ yyval.i = -1;
}
-#line 4387 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 259:
-#line 1795 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 258:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 4395 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 260:
-#line 1801 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 259:
+{
add_opvars(splev, "o", VA_PASS1(SPO_FOUNTAIN));
}
-#line 4403 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 261:
-#line 1807 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 260:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SINK));
}
-#line 4411 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 262:
-#line 1813 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 261:
+{
add_opvars(splev, "o", VA_PASS1(SPO_POOL));
}
-#line 4419 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 263:
-#line 1819 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.terr).lit = -2;
- (yyval.terr).ter = what_map_char((char) (yyvsp[0].i));
+break;
+case 262:
+{
+ yyval.terr.lit = -2;
+ yyval.terr.ter = what_map_char((char) yyvsp[0].i);
}
-#line 4428 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 264:
-#line 1824 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.terr).lit = (yyvsp[-1].i);
- (yyval.terr).ter = what_map_char((char) (yyvsp[-3].i));
+break;
+case 263:
+{
+ yyval.terr.lit = yyvsp[-1].i;
+ yyval.terr.ter = what_map_char((char) yyvsp[-3].i);
}
-#line 4437 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 265:
-#line 1831 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 264:
+{
add_opvars(splev, "io",
- VA_PASS2((yyvsp[0].i), SPO_REPLACETERRAIN));
+ VA_PASS2(yyvsp[0].i, SPO_REPLACETERRAIN));
}
-#line 4446 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 266:
-#line 1838 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 265:
+{
add_opvars(splev, "o", VA_PASS1(SPO_TERRAIN));
}
-#line 4454 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 267:
-#line 1844 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 266:
+{
add_opvars(splev, "o", VA_PASS1(SPO_NON_DIGGABLE));
}
-#line 4462 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 268:
-#line 1850 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 267:
+{
add_opvars(splev, "o", VA_PASS1(SPO_NON_PASSWALL));
}
-#line 4470 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 269:
-#line 1856 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 268:
+{
long irr;
- long rt = (yyvsp[-1].i);
- long rflags = (yyvsp[0].i);
+ long rt = yyvsp[-1].i;
+ long rflags = yyvsp[0].i;
if (rflags == -1) rflags = (1 << 0);
if (!(rflags & 1)) rt += MAXRTYPE+1;
irr = ((rflags & 2) != 0);
add_opvars(splev, "iiio",
- VA_PASS4((long)(yyvsp[-3].i), rt, rflags, SPO_REGION));
- (yyval.i) = (irr || (rflags & 1) || rt != OROOM);
+ VA_PASS4((long)yyvsp[-3].i, rt, rflags, SPO_REGION));
+ yyval.i = (irr || (rflags & 1) || rt != OROOM);
break_stmt_start();
}
-#line 4488 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 270:
-#line 1870 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 269:
+{
break_stmt_end(splev);
- if ( (yyvsp[-1].i) ) {
+ if ( yyvsp[-1].i ) {
add_opcode(splev, SPO_ENDROOM, NULL);
- } else if ( (yyvsp[0].i) )
+ } else if ( yyvsp[0].i )
lc_error("Cannot use lev statements in non-permanent REGION");
}
-#line 4500 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 271:
-#line 1880 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = 0;
+break;
+case 270:
+{
+ yyval.i = 0;
}
-#line 4508 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 272:
-#line 1884 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 271:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 4516 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 273:
-#line 1890 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 272:
+{
add_opvars(splev, "iio",
- VA_PASS3((long)(yyvsp[0].i), (long)(yyvsp[-2].i), SPO_ALTAR));
+ VA_PASS3((long)yyvsp[0].i, (long)yyvsp[-2].i, SPO_ALTAR));
}
-#line 4525 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 274:
-#line 1897 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 273:
+{
add_opvars(splev, "io", VA_PASS2(2, SPO_GRAVE));
}
-#line 4533 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 275:
-#line 1901 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 274:
+{
add_opvars(splev, "sio",
VA_PASS3((char *)0, 1, SPO_GRAVE));
}
-#line 4542 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 276:
-#line 1906 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 275:
+{
add_opvars(splev, "sio",
VA_PASS3((char *)0, 0, SPO_GRAVE));
}
-#line 4551 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 277:
-#line 1913 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 276:
+{
add_opvars(splev, "o", VA_PASS1(SPO_GOLD));
}
-#line 4559 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 278:
-#line 1919 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 277:
+{
add_opvars(splev, "io",
- VA_PASS2((long)(yyvsp[-2].i), SPO_ENGRAVING));
+ VA_PASS2((long)yyvsp[-2].i, SPO_ENGRAVING));
}
-#line 4568 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 279:
-#line 1926 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 278:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MINERALIZE));
}
-#line 4576 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 280:
-#line 1930 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 279:
+{
add_opvars(splev, "iiiio",
VA_PASS5(-1L, -1L, -1L, -1L, SPO_MINERALIZE));
}
-#line 4585 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 281:
-#line 1937 "lev_comp.y" /* yacc.c:1646 */
- {
- int token = get_trap_type((yyvsp[0].map));
+break;
+case 280:
+{
+ int token = get_trap_type(yyvsp[0].map);
if (token == ERR)
- lc_error("Unknown trap type '%s'!", (yyvsp[0].map));
- (yyval.i) = token;
- Free((yyvsp[0].map));
+ lc_error("Unknown trap type '%s'!", yyvsp[0].map);
+ yyval.i = token;
+ Free(yyvsp[0].map);
}
-#line 4597 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 283:
-#line 1948 "lev_comp.y" /* yacc.c:1646 */
- {
- int token = get_room_type((yyvsp[0].map));
+break;
+case 282:
+{
+ int token = get_room_type(yyvsp[0].map);
if (token == ERR) {
- lc_warning("Unknown room type \"%s\"! Making ordinary room...", (yyvsp[0].map));
- (yyval.i) = OROOM;
+ lc_warning("Unknown room type \"%s\"! Making ordinary room...", yyvsp[0].map);
+ yyval.i = OROOM;
} else
- (yyval.i) = token;
- Free((yyvsp[0].map));
+ yyval.i = token;
+ Free(yyvsp[0].map);
}
-#line 4611 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 285:
-#line 1961 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 284:
+{
+ yyval.i = -1;
}
-#line 4619 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 286:
-#line 1965 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 285:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 4627 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 287:
-#line 1971 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 286:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 4635 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 288:
-#line 1975 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[-2].i) | (yyvsp[0].i);
+break;
+case 287:
+{
+ yyval.i = yyvsp[-2].i | yyvsp[0].i;
}
-#line 4643 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 289:
-#line 1982 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = ((yyvsp[0].i) << 0);
+break;
+case 288:
+{
+ yyval.i = (yyvsp[0].i << 0);
}
-#line 4651 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 290:
-#line 1986 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = ((yyvsp[0].i) << 1);
+break;
+case 289:
+{
+ yyval.i = (yyvsp[0].i << 1);
}
-#line 4659 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 291:
-#line 1990 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = ((yyvsp[0].i) << 2);
+break;
+case 290:
+{
+ yyval.i = (yyvsp[0].i << 2);
}
-#line 4667 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 298:
-#line 2006 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = - MAX_REGISTERS - 1;
+break;
+case 297:
+{
+ yyval.i = - MAX_REGISTERS - 1;
}
-#line 4675 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 301:
-#line 2014 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = - MAX_REGISTERS - 1;
+break;
+case 300:
+{
+ yyval.i = - MAX_REGISTERS - 1;
}
-#line 4683 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 304:
-#line 2024 "lev_comp.y" /* yacc.c:1646 */
- {
- if ( (yyvsp[-1].i) >= 3 )
+break;
+case 303:
+{
+ if ( yyvsp[-1].i >= 3 )
lc_error("Register Index overflow!");
else
- (yyval.i) = - (yyvsp[-1].i) - 1;
+ yyval.i = - yyvsp[-1].i - 1;
}
-#line 4694 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 305:
-#line 2033 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "s", VA_PASS1((yyvsp[0].map)));
- Free((yyvsp[0].map));
+break;
+case 304:
+{
+ add_opvars(splev, "s", VA_PASS1(yyvsp[0].map));
+ Free(yyvsp[0].map);
}
-#line 4703 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 306:
-#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));
+break;
+case 305:
+{
+ 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 4714 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 307:
-#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));
+break;
+case 306:
+{
+ 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 4725 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 308:
-#line 2055 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 307:
+{
/* nothing */
}
-#line 4733 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 309:
-#line 2061 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "c", VA_PASS1((yyvsp[0].i)));
+break;
+case 308:
+{
+ add_opvars(splev, "c", VA_PASS1(yyvsp[0].i));
}
-#line 4741 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 310:
-#line 2065 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 309:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_RNDCOORD));
}
-#line 4749 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 311:
-#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));
+break;
+case 310:
+{
+ 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 4760 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 312:
-#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));
+break;
+case 311:
+{
+ 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 4771 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 313:
-#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));
+break;
+case 312:
+{
+ 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 4781 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 314:
-#line 2091 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = SP_COORD_PACK_RANDOM(0);
+break;
+case 313:
+{
+ yyval.i = SP_COORD_PACK_RANDOM(0);
}
-#line 4789 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 315:
-#line 2095 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = SP_COORD_PACK_RANDOM( (yyvsp[-1].i) );
+break;
+case 314:
+{
+ yyval.i = SP_COORD_PACK_RANDOM( yyvsp[-1].i );
}
-#line 4797 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 316:
-#line 2101 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (yyvsp[0].i);
+break;
+case 315:
+{
+ yyval.i = yyvsp[0].i;
}
-#line 4805 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 317:
-#line 2105 "lev_comp.y" /* yacc.c:1646 */
- {
- if (((yyvsp[-2].i) & (yyvsp[0].i)))
+break;
+case 316:
+{
+ if ((yyvsp[-2].i & yyvsp[0].i))
lc_warning("Humidity flag used twice.");
- (yyval.i) = ((yyvsp[-2].i) | (yyvsp[0].i));
+ yyval.i = (yyvsp[-2].i | yyvsp[0].i);
}
-#line 4815 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 318:
-#line 2113 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 317:
+{
/* nothing */
}
-#line 4823 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 319:
-#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));
+break;
+case 318:
+{
+ 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 4834 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 320:
-#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));
+break;
+case 319:
+{
+ 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 4845 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 321:
-#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) )
- lc_error("Region start > end: (%li,%li,%li,%li)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
+break;
+case 320:
+{
+ 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 )
+ lc_error("Region start > end: (%li,%li,%li,%li)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
add_opvars(splev, "r", VA_PASS1(r));
- (yyval.i) = r;
+ yyval.i = r;
}
-#line 4858 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 322:
-#line 2144 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "m", VA_PASS1((yyvsp[0].i)));
+break;
+case 321:
+{
+ add_opvars(splev, "m", VA_PASS1(yyvsp[0].i));
}
-#line 4866 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 323:
-#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));
+break;
+case 322:
+{
+ 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 4877 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 324:
-#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));
+break;
+case 323:
+{
+ 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 4888 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 325:
-#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);
+break;
+case 324:
+{
+ if (what_map_char((char) yyvsp[0].i) != INVALID_TYPE)
+ yyval.i = SP_MAPCHAR_PACK(what_map_char((char) yyvsp[0].i), -2);
else {
- lc_error("Unknown map char type '%c'!", (yyvsp[0].i));
- (yyval.i) = SP_MAPCHAR_PACK(STONE, -2);
+ lc_error("Unknown map char type '%c'!", yyvsp[0].i);
+ yyval.i = SP_MAPCHAR_PACK(STONE, -2);
}
}
-#line 4901 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 326:
-#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));
+break;
+case 325:
+{
+ 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);
else {
- lc_error("Unknown map char type '%c'!", (yyvsp[-3].i));
- (yyval.i) = SP_MAPCHAR_PACK(STONE, (yyvsp[-1].i));
+ lc_error("Unknown map char type '%c'!", yyvsp[-3].i);
+ yyval.i = SP_MAPCHAR_PACK(STONE, yyvsp[-1].i);
}
}
-#line 4914 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 327:
-#line 2184 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "M", VA_PASS1((yyvsp[0].i)));
+break;
+case 326:
+{
+ add_opvars(splev, "M", VA_PASS1(yyvsp[0].i));
}
-#line 4922 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 328:
-#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));
+break;
+case 327:
+{
+ 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 4933 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 329:
-#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));
+break;
+case 328:
+{
+ 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 4944 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 330:
-#line 2204 "lev_comp.y" /* yacc.c:1646 */
- {
- long m = get_monster_id((yyvsp[0].map), (char)0);
+break;
+case 329:
+{
+ long m = get_monster_id(yyvsp[0].map, (char)0);
if (m == ERR) {
- lc_error("Unknown monster \"%s\"!", (yyvsp[0].map));
- (yyval.i) = -1;
+ lc_error("Unknown monster \"%s\"!", yyvsp[0].map);
+ yyval.i = -1;
} else
- (yyval.i) = SP_MONST_PACK(m, def_monsyms[(int)mons[m].mlet].sym);
- Free((yyvsp[0].map));
+ yyval.i = SP_MONST_PACK(m, def_monsyms[(int)mons[m].mlet].sym);
+ Free(yyvsp[0].map);
}
-#line 4958 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 331:
-#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));
+break;
+case 330:
+{
+ if (check_monster_char((char) yyvsp[0].i))
+ yyval.i = SP_MONST_PACK(-1, yyvsp[0].i);
else {
- lc_error("Unknown monster class '%c'!", (yyvsp[0].i));
- (yyval.i) = -1;
+ lc_error("Unknown monster class '%c'!", yyvsp[0].i);
+ yyval.i = -1;
}
}
-#line 4971 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 332:
-#line 2223 "lev_comp.y" /* yacc.c:1646 */
- {
- long m = get_monster_id((yyvsp[-1].map), (char) (yyvsp[-3].i));
+break;
+case 331:
+{
+ long m = get_monster_id(yyvsp[-1].map, (char) yyvsp[-3].i);
if (m == ERR) {
- lc_error("Unknown monster ('%c', \"%s\")!", (yyvsp[-3].i), (yyvsp[-1].map));
- (yyval.i) = -1;
+ lc_error("Unknown monster ('%c', \"%s\")!", yyvsp[-3].i, yyvsp[-1].map);
+ yyval.i = -1;
} else
- (yyval.i) = SP_MONST_PACK(m, (yyvsp[-3].i));
- Free((yyvsp[-1].map));
+ yyval.i = SP_MONST_PACK(m, yyvsp[-3].i);
+ Free(yyvsp[-1].map);
}
-#line 4985 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 333:
-#line 2233 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 332:
+{
+ yyval.i = -1;
}
-#line 4993 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 334:
-#line 2239 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "O", VA_PASS1((yyvsp[0].i)));
+break;
+case 333:
+{
+ add_opvars(splev, "O", VA_PASS1(yyvsp[0].i));
}
-#line 5001 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 335:
-#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));
+break;
+case 334:
+{
+ 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 5012 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 336:
-#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));
+break;
+case 335:
+{
+ 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 5023 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 337:
-#line 2259 "lev_comp.y" /* yacc.c:1646 */
- {
- long m = get_object_id((yyvsp[0].map), (char)0);
+break;
+case 336:
+{
+ long m = get_object_id(yyvsp[0].map, (char)0);
if (m == ERR) {
- lc_error("Unknown object \"%s\"!", (yyvsp[0].map));
- (yyval.i) = -1;
+ lc_error("Unknown object \"%s\"!", yyvsp[0].map);
+ yyval.i = -1;
} else
- (yyval.i) = SP_OBJ_PACK(m, 1); /* obj class != 0 to force generation of a specific item */
- Free((yyvsp[0].map));
+ yyval.i = SP_OBJ_PACK(m, 1); /* obj class != 0 to force generation of a specific item */
+ Free(yyvsp[0].map);
}
-#line 5037 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 338:
-#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));
+break;
+case 337:
+{
+ if (check_object_char((char) yyvsp[0].i))
+ yyval.i = SP_OBJ_PACK(-1, yyvsp[0].i);
else {
- lc_error("Unknown object class '%c'!", (yyvsp[0].i));
- (yyval.i) = -1;
+ lc_error("Unknown object class '%c'!", yyvsp[0].i);
+ yyval.i = -1;
}
}
-#line 5050 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 339:
-#line 2278 "lev_comp.y" /* yacc.c:1646 */
- {
- long m = get_object_id((yyvsp[-1].map), (char) (yyvsp[-3].i));
+break;
+case 338:
+{
+ long m = get_object_id(yyvsp[-1].map, (char) yyvsp[-3].i);
if (m == ERR) {
- lc_error("Unknown object ('%c', \"%s\")!", (yyvsp[-3].i), (yyvsp[-1].map));
- (yyval.i) = -1;
+ lc_error("Unknown object ('%c', \"%s\")!", yyvsp[-3].i, yyvsp[-1].map);
+ yyval.i = -1;
} else
- (yyval.i) = SP_OBJ_PACK(m, (yyvsp[-3].i));
- Free((yyvsp[-1].map));
+ yyval.i = SP_OBJ_PACK(m, yyvsp[-3].i);
+ Free(yyvsp[-1].map);
}
-#line 5064 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 340:
-#line 2288 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = -1;
+break;
+case 339:
+{
+ yyval.i = -1;
}
-#line 5072 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 341:
-#line 2294 "lev_comp.y" /* yacc.c:1646 */
- { }
-#line 5078 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 342:
-#line 2296 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 340:
+{ }
+break;
+case 341:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_ADD));
}
-#line 5086 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 343:
-#line 2302 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "i", VA_PASS1((yyvsp[0].i)));
+break;
+case 342:
+{
+ add_opvars(splev, "i", VA_PASS1(yyvsp[0].i));
}
-#line 5094 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 344:
-#line 2306 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 343:
+{
is_inconstant_number = 1;
}
-#line 5102 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 345:
-#line 2310 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "i", VA_PASS1((yyvsp[-1].i)));
+break;
+case 344:
+{
+ add_opvars(splev, "i", VA_PASS1(yyvsp[-1].i));
}
-#line 5110 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 346:
-#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));
- add_opvars(splev, "v", VA_PASS1((yyvsp[0].map)));
- Free((yyvsp[0].map));
+break;
+case 345:
+{
+ check_vardef_type(variable_definitions, yyvsp[0].map, SPOVAR_INT);
+ vardef_used(variable_definitions, yyvsp[0].map);
+ add_opvars(splev, "v", VA_PASS1(yyvsp[0].map));
+ Free(yyvsp[0].map);
is_inconstant_number = 1;
}
-#line 5122 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 347:
-#line 2322 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 346:
+{
check_vardef_type(variable_definitions,
- (yyvsp[-3].map), SPOVAR_INT|SPOVAR_ARRAY);
- vardef_used(variable_definitions, (yyvsp[-3].map));
- add_opvars(splev, "v", VA_PASS1((yyvsp[-3].map)));
- Free((yyvsp[-3].map));
+ yyvsp[-3].map, SPOVAR_INT|SPOVAR_ARRAY);
+ vardef_used(variable_definitions, yyvsp[-3].map);
+ add_opvars(splev, "v", VA_PASS1(yyvsp[-3].map));
+ Free(yyvsp[-3].map);
is_inconstant_number = 1;
}
-#line 5135 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 348:
-#line 2331 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 347:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_ADD));
}
-#line 5143 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 349:
-#line 2335 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 348:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_SUB));
}
-#line 5151 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 350:
-#line 2339 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 349:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_MUL));
}
-#line 5159 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 351:
-#line 2343 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 350:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_DIV));
}
-#line 5167 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 352:
-#line 2347 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 351:
+{
add_opvars(splev, "o", VA_PASS1(SPO_MATH_MOD));
}
-#line 5175 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 353:
-#line 2350 "lev_comp.y" /* yacc.c:1646 */
- { }
-#line 5181 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 354:
-#line 2354 "lev_comp.y" /* yacc.c:1646 */
- {
- if (!strcmp("int", (yyvsp[0].map)) || !strcmp("integer", (yyvsp[0].map))) {
- (yyval.i) = (int)'i';
+break;
+case 352:
+{ }
+break;
+case 353:
+{
+ 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));
+ lc_error("Unknown function parameter type '%s'", yyvsp[0].map);
}
-#line 5192 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 355:
-#line 2361 "lev_comp.y" /* yacc.c:1646 */
- {
- if (!strcmp("str", (yyvsp[0].map)) || !strcmp("string", (yyvsp[0].map))) {
- (yyval.i) = (int)'s';
+break;
+case 354:
+{
+ 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));
+ lc_error("Unknown function parameter type '%s'", yyvsp[0].map);
}
-#line 5203 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 356:
-#line 2370 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 355:
+{
struct lc_funcdefs_parm *tmp = New(struct lc_funcdefs_parm);
if (!curr_function) {
lc_error("Could not alloc function params.");
} else {
long vt;
- tmp->name = strdup((yyvsp[-2].map));
- tmp->parmtype = (char) (yyvsp[0].i);
+ tmp->name = strdup(yyvsp[-2].map);
+ tmp->parmtype = (char) yyvsp[0].i;
tmp->next = curr_function->params;
curr_function->params = tmp;
curr_function->n_params++;
}
variable_definitions = add_vardef_type(
variable_definitions,
- (yyvsp[-2].map), vt);
+ yyvsp[-2].map, vt);
}
- Free((yyvsp[-2].map));
+ Free(yyvsp[-2].map);
}
-#line 5233 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 361:
-#line 2406 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (int)'i';
+break;
+case 360:
+{
+ yyval.i = (int)'i';
}
-#line 5241 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 362:
-#line 2410 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.i) = (int)'s';
+break;
+case 361:
+{
+ yyval.i = (int)'s';
}
-#line 5249 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 363:
-#line 2417 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 362:
+{
char tmpbuf[2];
- tmpbuf[0] = (char) (yyvsp[0].i);
+ tmpbuf[0] = (char) yyvsp[0].i;
tmpbuf[1] = '\0';
- (yyval.map) = strdup(tmpbuf);
+ yyval.map = strdup(tmpbuf);
}
-#line 5260 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 364:
-#line 2424 "lev_comp.y" /* yacc.c:1646 */
- {
- long len = strlen( (yyvsp[-2].map) );
+break;
+case 363:
+{
+ long len = strlen( yyvsp[-2].map );
char *tmp = (char *)alloc(len + 2);
- sprintf(tmp, "%c%s", (char) (yyvsp[0].i), (yyvsp[-2].map) );
- Free( (yyvsp[-2].map) );
- (yyval.map) = tmp;
+ sprintf(tmp, "%c%s", (char) yyvsp[0].i, yyvsp[-2].map );
+ Free( yyvsp[-2].map );
+ yyval.map = tmp;
}
-#line 5272 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 365:
-#line 2434 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.map) = strdup("");
+break;
+case 364:
+{
+ yyval.map = strdup("");
}
-#line 5280 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 366:
-#line 2438 "lev_comp.y" /* yacc.c:1646 */
- {
- char *tmp = strdup( (yyvsp[0].map) );
- Free( (yyvsp[0].map) );
- (yyval.map) = tmp;
+break;
+case 365:
+{
+ char *tmp = strdup( yyvsp[0].map );
+ Free( yyvsp[0].map );
+ yyval.map = tmp;
}
-#line 5290 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 367:
-#line 2446 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 366:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_POINT));
}
-#line 5298 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 368:
-#line 2450 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 367:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_RECT));
}
-#line 5306 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 369:
-#line 2454 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 368:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_FILLRECT));
}
-#line 5314 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 370:
-#line 2458 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 369:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_LINE));
}
-#line 5322 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 371:
-#line 2462 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 370:
+{
/* randline (x1,y1),(x2,y2), roughness */
add_opvars(splev, "o", VA_PASS1(SPO_SEL_RNDLINE));
}
-#line 5331 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 372:
-#line 2467 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 371:
+{
add_opvars(splev, "io", VA_PASS2(W_ANY, SPO_SEL_GROW));
}
-#line 5339 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 373:
-#line 2471 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "io", VA_PASS2((yyvsp[-3].i), SPO_SEL_GROW));
+break;
+case 372:
+{
+ add_opvars(splev, "io", VA_PASS2(yyvsp[-3].i, SPO_SEL_GROW));
}
-#line 5347 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 374:
-#line 2475 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 373:
+{
add_opvars(splev, "iio",
- VA_PASS3((yyvsp[-3].i), SPOFILTER_PERCENT, SPO_SEL_FILTER));
+ VA_PASS3(yyvsp[-3].i, SPOFILTER_PERCENT, SPO_SEL_FILTER));
}
-#line 5356 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 375:
-#line 2480 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 374:
+{
add_opvars(splev, "io",
VA_PASS2(SPOFILTER_SELECTION, SPO_SEL_FILTER));
}
-#line 5365 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 376:
-#line 2485 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 375:
+{
add_opvars(splev, "io",
VA_PASS2(SPOFILTER_MAPCHAR, SPO_SEL_FILTER));
}
-#line 5374 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 377:
-#line 2490 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 376:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_FLOOD));
}
-#line 5382 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 378:
-#line 2494 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 377:
+{
add_opvars(splev, "oio",
VA_PASS3(SPO_COPY, 1, SPO_SEL_ELLIPSE));
}
-#line 5391 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 379:
-#line 2499 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 378:
+{
add_opvars(splev, "oio",
- VA_PASS3(SPO_COPY, (yyvsp[-1].i), SPO_SEL_ELLIPSE));
+ VA_PASS3(SPO_COPY, yyvsp[-1].i, SPO_SEL_ELLIPSE));
}
-#line 5400 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 380:
-#line 2504 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 379:
+{
add_opvars(splev, "io", VA_PASS2(1, SPO_SEL_ELLIPSE));
}
-#line 5408 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 381:
-#line 2508 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "io", VA_PASS2((yyvsp[-1].i), SPO_SEL_ELLIPSE));
+break;
+case 380:
+{
+ add_opvars(splev, "io", VA_PASS2(yyvsp[-1].i, SPO_SEL_ELLIPSE));
}
-#line 5416 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 382:
-#line 2512 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 381:
+{
add_opvars(splev, "iio",
- VA_PASS3((yyvsp[-5].i), (yyvsp[-11].i), SPO_SEL_GRADIENT));
+ VA_PASS3(yyvsp[-5].i, yyvsp[-11].i, SPO_SEL_GRADIENT));
}
-#line 5425 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 383:
-#line 2517 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 382:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_COMPLEMENT));
}
-#line 5433 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 384:
-#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));
+break;
+case 383:
+{
+ 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 5444 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 385:
-#line 2528 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 384:
+{
/* nothing */
}
-#line 5452 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 386:
-#line 2534 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 385:
+{
/* nothing */
}
-#line 5460 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 387:
-#line 2538 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 386:
+{
add_opvars(splev, "o", VA_PASS1(SPO_SEL_ADD));
}
-#line 5468 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 388:
-#line 2544 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 387:
+{
add_opvars(splev, "iio",
- VA_PASS3((yyvsp[0].dice).num, (yyvsp[0].dice).die, SPO_DICE));
+ VA_PASS3(yyvsp[0].dice.num, yyvsp[0].dice.die, SPO_DICE));
}
-#line 5477 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 392:
-#line 2556 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "i", VA_PASS1((yyvsp[0].i)));
+break;
+case 391:
+{
+ add_opvars(splev, "i", VA_PASS1(yyvsp[0].i));
}
-#line 5485 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 393:
-#line 2560 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "i", VA_PASS1((yyvsp[0].i)));
+break;
+case 392:
+{
+ add_opvars(splev, "i", VA_PASS1(yyvsp[0].i));
}
-#line 5493 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 394:
-#line 2564 "lev_comp.y" /* yacc.c:1646 */
- {
- add_opvars(splev, "i", VA_PASS1((yyvsp[0].i)));
+break;
+case 393:
+{
+ add_opvars(splev, "i", VA_PASS1(yyvsp[0].i));
}
-#line 5501 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 395:
-#line 2568 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 394:
+{
/* nothing */
}
-#line 5509 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 404:
-#line 2590 "lev_comp.y" /* yacc.c:1646 */
- {
- (yyval.lregn) = (yyvsp[0].lregn);
+break;
+case 403:
+{
+ yyval.lregn = yyvsp[0].lregn;
}
-#line 5517 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 405:
-#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));
- else if ((yyvsp[-5].i) < 0 || (yyvsp[-5].i) >= ROWNO)
- lc_error("Region (%li,%li,%li,%li) out of level range (y1)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- else if ((yyvsp[-3].i) <= 0 || (yyvsp[-3].i) >= COLNO)
- lc_error("Region (%li,%li,%li,%li) out of level range (x2)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- else if ((yyvsp[-1].i) < 0 || (yyvsp[-1].i) >= ROWNO)
- lc_error("Region (%li,%li,%li,%li) out of level range (y2)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- (yyval.lregn).x1 = (yyvsp[-7].i);
- (yyval.lregn).y1 = (yyvsp[-5].i);
- (yyval.lregn).x2 = (yyvsp[-3].i);
- (yyval.lregn).y2 = (yyvsp[-1].i);
- (yyval.lregn).area = 1;
- }
-#line 5537 "y.tab.c" /* yacc.c:1646 */
- break;
-
- case 406:
-#line 2612 "lev_comp.y" /* yacc.c:1646 */
- {
+break;
+case 404:
+{
+ 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);
+ else if (yyvsp[-5].i < 0 || yyvsp[-5].i >= ROWNO)
+ lc_error("Region (%li,%li,%li,%li) out of level range (y1)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ else if (yyvsp[-3].i <= 0 || yyvsp[-3].i >= COLNO)
+ lc_error("Region (%li,%li,%li,%li) out of level range (x2)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ else if (yyvsp[-1].i < 0 || yyvsp[-1].i >= ROWNO)
+ lc_error("Region (%li,%li,%li,%li) out of level range (y2)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ yyval.lregn.x1 = yyvsp[-7].i;
+ yyval.lregn.y1 = yyvsp[-5].i;
+ yyval.lregn.x2 = yyvsp[-3].i;
+ yyval.lregn.y2 = yyvsp[-1].i;
+ yyval.lregn.area = 1;
+ }
+break;
+case 405:
+{
/* 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. */
- if ((yyvsp[-7].i) < 0 || (yyvsp[-7].i) > (int)max_x_map)
- lc_error("Region (%li,%li,%li,%li) out of map range (x1)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- else if ((yyvsp[-5].i) < 0 || (yyvsp[-5].i) > (int)max_y_map)
- lc_error("Region (%li,%li,%li,%li) out of map range (y1)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- else if ((yyvsp[-3].i) < 0 || (yyvsp[-3].i) > (int)max_x_map)
- lc_error("Region (%li,%li,%li,%li) out of map range (x2)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- else if ((yyvsp[-1].i) < 0 || (yyvsp[-1].i) > (int)max_y_map)
- lc_error("Region (%li,%li,%li,%li) out of map range (y2)!", (yyvsp[-7].i), (yyvsp[-5].i), (yyvsp[-3].i), (yyvsp[-1].i));
- (yyval.lregn).area = 0;
- (yyval.lregn).x1 = (yyvsp[-7].i);
- (yyval.lregn).y1 = (yyvsp[-5].i);
- (yyval.lregn).x2 = (yyvsp[-3].i);
- (yyval.lregn).y2 = (yyvsp[-1].i);
- }
-#line 5559 "y.tab.c" /* yacc.c:1646 */
- break;
-
-
-#line 5563 "y.tab.c" /* yacc.c:1646 */
- default: break;
+ if (yyvsp[-7].i < 0 || yyvsp[-7].i > (int)max_x_map)
+ lc_error("Region (%li,%li,%li,%li) out of map range (x1)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ else if (yyvsp[-5].i < 0 || yyvsp[-5].i > (int)max_y_map)
+ lc_error("Region (%li,%li,%li,%li) out of map range (y1)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ else if (yyvsp[-3].i < 0 || yyvsp[-3].i > (int)max_x_map)
+ lc_error("Region (%li,%li,%li,%li) out of map range (x2)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ else if (yyvsp[-1].i < 0 || yyvsp[-1].i > (int)max_y_map)
+ lc_error("Region (%li,%li,%li,%li) out of map range (y2)!", yyvsp[-7].i, yyvsp[-5].i, yyvsp[-3].i, yyvsp[-1].i);
+ yyval.lregn.area = 0;
+ yyval.lregn.x1 = yyvsp[-7].i;
+ yyval.lregn.y1 = yyvsp[-5].i;
+ yyval.lregn.x2 = yyvsp[-3].i;
+ yyval.lregn.y2 = yyvsp[-1].i;
+ }
+break;
}
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;
-
- /* Now 'shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*--------------------------------------.
-| yyerrlab -- here on detecting error. |
-`--------------------------------------*/
-yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
+ yyssp -= yym;
+ yystate = *yyssp;
+ yyvsp -= yym;
+ yym = yylhs[yyn];
+ if (yystate == 0 && yym == 0)
{
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (YY_("syntax error"));
-#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
- yyssp, yytoken)
- {
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- yyerror (yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
- }
-# undef YYSYNTAX_ERROR
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state 0 to\
+ state %d\n", YYPREFIX, YYFINAL);
#endif
- }
-
-
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
+ yystate = YYFINAL;
+ *++yyssp = YYFINAL;
+ *++yyvsp = yyval;
+ if (yychar < 0)
{
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ if ((yychar = yylex()) < 0) yychar = 0;
+#if YYDEBUG
+ if (yydebug)
{
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
+ yys = 0;
+ if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
+ if (!yys) yys = "illegal-symbol";
+ printf("%sdebug: state %d, reading %d (%s)\n",
+ YYPREFIX, YYFINAL, yychar, yys);
}
+#endif
}
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
+ if (yychar == 0) goto yyaccept;
+ goto yyloop;
}
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#if !defined yyoverflow || YYERROR_VERBOSE
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
+ if ((yyn = yygindex[yym]) != 0 && (yyn += yystate) >= 0 &&
+ yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
+ yystate = yytable[yyn];
+ else
+ yystate = yydgoto[yym];
+#if YYDEBUG
+ if (yydebug)
+ printf("%sdebug: after reduction, shifting from state %d \
+to state %d\n", YYPREFIX, *yyssp, yystate);
#endif
-
-yyreturn:
- if (yychar != YYEMPTY)
+ if (yyssp >= yyss + yystacksize - 1)
{
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ goto yyoverflow;
}
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
- YYPOPSTACK (1);
- }
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- return yyresult;
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+yyoverflow:
+ yyerror("yacc stack overflow");
+yyabort:
+ return (1);
+yyaccept:
+ return (0);
}
-#line 2632 "lev_comp.y" /* yacc.c:1906 */
-
-
-/*lev_comp.y*/