[BACK]Return to ytab.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / parse

Annotation of OpenXM_contrib2/asir2018/parse/ytab.c, Revision 1.2

1.1       noro        1:
                      2: /* A Bison parser, made by GNU Bison 2.4.1.  */
                      3:
                      4: /* Skeleton implementation for Bison's Yacc-like parsers in C
                      5:
                      6:       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
                      7:    Free Software Foundation, Inc.
                      8:
                      9:    This program is free software: you can redistribute it and/or modify
                     10:    it under the terms of the GNU General Public License as published by
                     11:    the Free Software Foundation, either version 3 of the License, or
                     12:    (at your option) any later version.
                     13:
                     14:    This program is distributed in the hope that it will be useful,
                     15:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                     16:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     17:    GNU General Public License for more details.
                     18:
                     19:    You should have received a copy of the GNU General Public License
                     20:    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
                     21:
                     22: /* As a special exception, you may create a larger work that contains
                     23:    part or all of the Bison parser skeleton and distribute that work
                     24:    under terms of your choice, so long as that work isn't itself a
                     25:    parser generator using the skeleton or a modified version thereof
                     26:    as a parser skeleton.  Alternatively, if you modify or redistribute
                     27:    the parser skeleton itself, you may (at your option) remove this
                     28:    special exception, which will cause the skeleton and the resulting
                     29:    Bison output files to be licensed under the GNU General Public
                     30:    License without this special exception.
                     31:
                     32:    This special exception was added by the Free Software Foundation in
                     33:    version 2.2 of Bison.  */
                     34:
                     35: /* C LALR(1) parser skeleton written by Richard Stallman, by
                     36:    simplifying the original so-called "semantic" parser.  */
                     37:
                     38: /* All symbols defined below should begin with yy or YY, to avoid
                     39:    infringing on user name space.  This should be done even for local
                     40:    variables, as they might otherwise be expanded by user macros.
                     41:    There are some unavoidable exceptions within include files to
                     42:    define necessary library symbols; they are noted "INFRINGES ON
                     43:    USER NAME SPACE" below.  */
                     44:
                     45: /* Identify Bison output.  */
                     46: #define YYBISON 1
                     47:
                     48: /* Bison version.  */
                     49: #define YYBISON_VERSION "2.4.1"
                     50:
                     51: /* Skeleton name.  */
                     52: #define YYSKELETON_NAME "yacc.c"
                     53:
                     54: /* Pure parsers.  */
                     55: #define YYPURE 0
                     56:
                     57: /* Push parsers.  */
                     58: #define YYPUSH 0
                     59:
                     60: /* Pull parsers.  */
                     61: #define YYPULL 1
                     62:
                     63: /* Using locations.  */
                     64: #define YYLSP_NEEDED 0
                     65:
                     66:
                     67:
                     68: /* Copy the first part of user declarations.  */
                     69:
                     70: /* Line 189 of yacc.c  */
                     71: #line 50 "parse.y"
                     72:
                     73: #define malloc(x) Risa_GC_malloc(x)
                     74: #define realloc(x,y) Risa_GC_realloc(x,y)
                     75: #define free(x) Risa_GC_free(x)
                     76:
                     77: #if defined(TOWNS)
                     78: #include <alloca.h>
                     79: #endif
                     80: #include <ctype.h>
                     81: #include "ca.h"
                     82: #include <sys/types.h>
                     83: #include <sys/stat.h>
                     84: #include "parse.h"
                     85:
                     86: #define NOPR (prresult=0)
                     87:
                     88: extern int gdef,mgdef,ldef;
                     89: extern SNODE parse_snode;
                     90: extern int main_parser, allow_create_var;
                     91:
                     92: int prresult,saveresult;
                     93:
                     94: static int ind;
                     95: static FNODE t;
                     96: static NODE a,b;
                     97: static NODE2 a2;
                     98: static pointer val;
                     99: static QUOTE quote;
                    100: extern jmp_buf env;
                    101:
                    102:
                    103: /* Line 189 of yacc.c  */
                    104: #line 105 "y.tab.c"
                    105:
                    106: /* Enabling traces.  */
                    107: #ifndef YYDEBUG
                    108: # define YYDEBUG 0
                    109: #endif
                    110:
                    111: /* Enabling verbose error messages.  */
                    112: #ifdef YYERROR_VERBOSE
                    113: # undef YYERROR_VERBOSE
                    114: # define YYERROR_VERBOSE 1
                    115: #else
                    116: # define YYERROR_VERBOSE 0
                    117: #endif
                    118:
                    119: /* Enabling the token table.  */
                    120: #ifndef YYTOKEN_TABLE
                    121: # define YYTOKEN_TABLE 0
                    122: #endif
                    123:
                    124:
                    125: /* Tokens.  */
                    126: #ifndef YYTOKENTYPE
                    127: # define YYTOKENTYPE
                    128:    /* Put the tokens into the symbol table, so that GDB and other debuggers
                    129:       know about them.  */
                    130:    enum yytokentype {
                    131:      STRUCT = 258,
                    132:      POINT = 259,
                    133:      NEWSTRUCT = 260,
                    134:      ANS = 261,
                    135:      FDEF = 262,
                    136:      PFDEF = 263,
                    137:      MODDEF = 264,
                    138:      MODEND = 265,
                    139:      GLOBAL = 266,
                    140:      MGLOBAL = 267,
                    141:      LOCAL = 268,
                    142:      LOCALF = 269,
                    143:      CMP = 270,
                    144:      OR = 271,
                    145:      AND = 272,
                    146:      CAR = 273,
                    147:      CDR = 274,
                    148:      QUOTED = 275,
                    149:      COLONCOLON = 276,
                    150:      DO = 277,
                    151:      WHILE = 278,
                    152:      FOR = 279,
                    153:      IF = 280,
                    154:      ELSE = 281,
                    155:      BREAK = 282,
                    156:      RETURN = 283,
                    157:      CONTINUE = 284,
                    158:      PARIF = 285,
                    159:      MAP = 286,
                    160:      RECMAP = 287,
                    161:      TIMER = 288,
                    162:      GF2NGEN = 289,
                    163:      GFPNGEN = 290,
                    164:      GFSNGEN = 291,
                    165:      GETOPT = 292,
                    166:      FOP_AND = 293,
                    167:      FOP_OR = 294,
                    168:      FOP_IMPL = 295,
                    169:      FOP_REPL = 296,
                    170:      FOP_EQUIV = 297,
                    171:      FOP_NOT = 298,
                    172:      LOP = 299,
                    173:      FORMULA = 300,
                    174:      UCASE = 301,
                    175:      LCASE = 302,
                    176:      STR = 303,
                    177:      SELF = 304,
                    178:      BOPASS = 305,
                    179:      PLUS = 306,
                    180:      MINUS = 307
                    181:    };
                    182: #endif
                    183: /* Tokens.  */
                    184: #define STRUCT 258
                    185: #define POINT 259
                    186: #define NEWSTRUCT 260
                    187: #define ANS 261
                    188: #define FDEF 262
                    189: #define PFDEF 263
                    190: #define MODDEF 264
                    191: #define MODEND 265
                    192: #define GLOBAL 266
                    193: #define MGLOBAL 267
                    194: #define LOCAL 268
                    195: #define LOCALF 269
                    196: #define CMP 270
                    197: #define OR 271
                    198: #define AND 272
                    199: #define CAR 273
                    200: #define CDR 274
                    201: #define QUOTED 275
                    202: #define COLONCOLON 276
                    203: #define DO 277
                    204: #define WHILE 278
                    205: #define FOR 279
                    206: #define IF 280
                    207: #define ELSE 281
                    208: #define BREAK 282
                    209: #define RETURN 283
                    210: #define CONTINUE 284
                    211: #define PARIF 285
                    212: #define MAP 286
                    213: #define RECMAP 287
                    214: #define TIMER 288
                    215: #define GF2NGEN 289
                    216: #define GFPNGEN 290
                    217: #define GFSNGEN 291
                    218: #define GETOPT 292
                    219: #define FOP_AND 293
                    220: #define FOP_OR 294
                    221: #define FOP_IMPL 295
                    222: #define FOP_REPL 296
                    223: #define FOP_EQUIV 297
                    224: #define FOP_NOT 298
                    225: #define LOP 299
                    226: #define FORMULA 300
                    227: #define UCASE 301
                    228: #define LCASE 302
                    229: #define STR 303
                    230: #define SELF 304
                    231: #define BOPASS 305
                    232: #define PLUS 306
                    233: #define MINUS 307
                    234:
                    235:
                    236:
                    237:
                    238: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
                    239: typedef union YYSTYPE
                    240: {
                    241:
                    242: /* Line 214 of yacc.c  */
                    243: #line 83 "parse.y"
                    244:
                    245:   FNODE f;
                    246:   SNODE s;
                    247:   NODE n;
                    248:   NODE2 n2;
                    249:   int i;
                    250:   pointer p;
                    251:
                    252:
                    253:
                    254: /* Line 214 of yacc.c  */
                    255: #line 256 "y.tab.c"
                    256: } YYSTYPE;
                    257: # define YYSTYPE_IS_TRIVIAL 1
                    258: # define yystype YYSTYPE /* obsolescent; will be withdrawn */
                    259: # define YYSTYPE_IS_DECLARED 1
                    260: #endif
                    261:
                    262:
                    263: /* Copy the second part of user declarations.  */
                    264:
                    265:
                    266: /* Line 264 of yacc.c  */
                    267: #line 268 "y.tab.c"
                    268:
                    269: #ifdef short
                    270: # undef short
                    271: #endif
                    272:
                    273: #ifdef YYTYPE_UINT8
                    274: typedef YYTYPE_UINT8 yytype_uint8;
                    275: #else
                    276: typedef unsigned char yytype_uint8;
                    277: #endif
                    278:
                    279: #ifdef YYTYPE_INT8
                    280: typedef YYTYPE_INT8 yytype_int8;
                    281: #elif (defined __STDC__ || defined __C99__FUNC__ \
                    282:      || defined __cplusplus || defined _MSC_VER)
                    283: typedef signed char yytype_int8;
                    284: #else
                    285: typedef short int yytype_int8;
                    286: #endif
                    287:
                    288: #ifdef YYTYPE_UINT16
                    289: typedef YYTYPE_UINT16 yytype_uint16;
                    290: #else
                    291: typedef unsigned short int yytype_uint16;
                    292: #endif
                    293:
                    294: #ifdef YYTYPE_INT16
                    295: typedef YYTYPE_INT16 yytype_int16;
                    296: #else
                    297: typedef short int yytype_int16;
                    298: #endif
                    299:
                    300: #ifndef YYSIZE_T
                    301: # ifdef __SIZE_TYPE__
                    302: #  define YYSIZE_T __SIZE_TYPE__
                    303: # elif defined size_t
                    304: #  define YYSIZE_T size_t
                    305: # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
                    306:      || defined __cplusplus || defined _MSC_VER)
                    307: #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
                    308: #  define YYSIZE_T size_t
                    309: # else
                    310: #  define YYSIZE_T unsigned int
                    311: # endif
                    312: #endif
                    313:
                    314: #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
                    315:
                    316: #ifndef YY_
                    317: # if YYENABLE_NLS
                    318: #  if ENABLE_NLS
                    319: #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
                    320: #   define YY_(msgid) dgettext ("bison-runtime", msgid)
                    321: #  endif
                    322: # endif
                    323: # ifndef YY_
                    324: #  define YY_(msgid) msgid
                    325: # endif
                    326: #endif
                    327:
                    328: /* Suppress unused-variable warnings by "using" E.  */
                    329: #if ! defined lint || defined __GNUC__
                    330: # define YYUSE(e) ((void) (e))
                    331: #else
                    332: # define YYUSE(e) /* empty */
                    333: #endif
                    334:
                    335: /* Identity function, used to suppress warnings about constant conditions.  */
                    336: #ifndef lint
                    337: # define YYID(n) (n)
                    338: #else
                    339: #if (defined __STDC__ || defined __C99__FUNC__ \
                    340:      || defined __cplusplus || defined _MSC_VER)
                    341: static int
                    342: YYID (int yyi)
                    343: #else
                    344: static int
                    345: YYID (yyi)
                    346:     int yyi;
                    347: #endif
                    348: {
                    349:   return yyi;
                    350: }
                    351: #endif
                    352:
                    353: #if ! defined yyoverflow || YYERROR_VERBOSE
                    354:
                    355: /* The parser invokes alloca or malloc; define the necessary symbols.  */
                    356:
                    357: # ifdef YYSTACK_USE_ALLOCA
                    358: #  if YYSTACK_USE_ALLOCA
                    359: #   ifdef __GNUC__
                    360: #    define YYSTACK_ALLOC __builtin_alloca
                    361: #   elif defined __BUILTIN_VA_ARG_INCR
                    362: #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
                    363: #   elif defined _AIX
                    364: #    define YYSTACK_ALLOC __alloca
                    365: #   elif defined _MSC_VER
                    366: #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
                    367: #    define alloca _alloca
                    368: #   else
                    369: #    define YYSTACK_ALLOC alloca
                    370: #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
                    371:      || defined __cplusplus || defined _MSC_VER)
                    372: #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
                    373: #     ifndef _STDLIB_H
                    374: #      define _STDLIB_H 1
                    375: #     endif
                    376: #    endif
                    377: #   endif
                    378: #  endif
                    379: # endif
                    380:
                    381: # ifdef YYSTACK_ALLOC
                    382:    /* Pacify GCC's `empty if-body' warning.  */
                    383: #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
                    384: #  ifndef YYSTACK_ALLOC_MAXIMUM
                    385:     /* The OS might guarantee only one guard page at the bottom of the stack,
                    386:        and a page size can be as small as 4096 bytes.  So we cannot safely
                    387:        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
                    388:        to allow for a few compiler-allocated temporary stack slots.  */
                    389: #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
                    390: #  endif
                    391: # else
                    392: #  define YYSTACK_ALLOC YYMALLOC
                    393: #  define YYSTACK_FREE YYFREE
                    394: #  ifndef YYSTACK_ALLOC_MAXIMUM
                    395: #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
                    396: #  endif
                    397: #  if (defined __cplusplus && ! defined _STDLIB_H \
                    398:        && ! ((defined YYMALLOC || defined malloc) \
                    399:        && (defined YYFREE || defined free)))
                    400: #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
                    401: #   ifndef _STDLIB_H
                    402: #    define _STDLIB_H 1
                    403: #   endif
                    404: #  endif
                    405: #  ifndef YYMALLOC
                    406: #   define YYMALLOC malloc
                    407: #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
                    408:      || defined __cplusplus || defined _MSC_VER)
                    409: void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
                    410: #   endif
                    411: #  endif
                    412: #  ifndef YYFREE
                    413: #   define YYFREE free
                    414: #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
                    415:      || defined __cplusplus || defined _MSC_VER)
                    416: void free (void *); /* INFRINGES ON USER NAME SPACE */
                    417: #   endif
                    418: #  endif
                    419: # endif
                    420: #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
                    421:
                    422:
                    423: #if (! defined yyoverflow \
                    424:      && (! defined __cplusplus \
                    425:    || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
                    426:
                    427: /* A type that is properly aligned for any stack member.  */
                    428: union yyalloc
                    429: {
                    430:   yytype_int16 yyss_alloc;
                    431:   YYSTYPE yyvs_alloc;
                    432: };
                    433:
                    434: /* The size of the maximum gap between one aligned stack and the next.  */
                    435: # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
                    436:
                    437: /* The size of an array large to enough to hold all stacks, each with
                    438:    N elements.  */
                    439: # define YYSTACK_BYTES(N) \
                    440:      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
                    441:       + YYSTACK_GAP_MAXIMUM)
                    442:
                    443: /* Copy COUNT objects from FROM to TO.  The source and destination do
                    444:    not overlap.  */
                    445: # ifndef YYCOPY
                    446: #  if defined __GNUC__ && 1 < __GNUC__
                    447: #   define YYCOPY(To, From, Count) \
                    448:       __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
                    449: #  else
                    450: #   define YYCOPY(To, From, Count)    \
                    451:       do          \
                    452:   {          \
                    453:     YYSIZE_T yyi;        \
                    454:     for (yyi = 0; yyi < (Count); yyi++)  \
                    455:       (To)[yyi] = (From)[yyi];    \
                    456:   }          \
                    457:       while (YYID (0))
                    458: #  endif
                    459: # endif
                    460:
                    461: /* Relocate STACK from its old location to the new one.  The
                    462:    local variables YYSIZE and YYSTACKSIZE give the old and new number of
                    463:    elements in the stack, and YYPTR gives the new location of the
                    464:    stack.  Advance YYPTR to a properly aligned location for the next
                    465:    stack.  */
                    466: # define YYSTACK_RELOCATE(Stack_alloc, Stack)        \
                    467:     do                  \
                    468:       {                  \
                    469:   YYSIZE_T yynewbytes;            \
                    470:   YYCOPY (&yyptr->Stack_alloc, Stack, yysize);      \
                    471:   Stack = &yyptr->Stack_alloc;          \
                    472:   yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
                    473:   yyptr += yynewbytes / sizeof (*yyptr);        \
                    474:       }                  \
                    475:     while (YYID (0))
                    476:
                    477: #endif
                    478:
                    479: /* YYFINAL -- State number of the termination state.  */
                    480: #define YYFINAL  101
                    481: /* YYLAST -- Last index in YYTABLE.  */
                    482: #define YYLAST   1284
                    483:
                    484: /* YYNTOKENS -- Number of terminals.  */
                    485: #define YYNTOKENS  77
                    486: /* YYNNTS -- Number of nonterminals.  */
                    487: #define YYNNTS  26
                    488: /* YYNRULES -- Number of rules.  */
                    489: #define YYNRULES  114
                    490: /* YYNRULES -- Number of states.  */
                    491: #define YYNSTATES  283
                    492:
                    493: /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
                    494: #define YYUNDEFTOK  2
                    495: #define YYMAXUTOK   307
                    496:
                    497: #define YYTRANSLATE(YYX)            \
                    498:   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
                    499:
                    500: /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
                    501: static const yytype_uint8 yytranslate[] =
                    502: {
                    503:        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    504:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    505:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    506:        2,     2,     2,    64,     2,     2,    70,    56,    61,     2,
                    507:       67,    68,    53,    51,    71,    52,     2,    54,     2,     2,
                    508:        2,     2,     2,     2,     2,     2,     2,     2,    59,    69,
                    509:       75,    57,    76,    58,     2,     2,     2,     2,     2,     2,
                    510:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    511:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    512:        2,    73,     2,    74,    55,     2,    60,     2,     2,     2,
                    513:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    514:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    515:        2,     2,     2,    65,    72,    66,     2,     2,     2,     2,
                    516:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    517:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    518:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    519:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    520:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    521:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    522:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    523:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    524:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    525:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    526:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    527:        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    528:        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
                    529:        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
                    530:       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
                    531:       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
                    532:       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
                    533:       45,    46,    47,    48,    49,    50,    62,    63
                    534: };
                    535:
                    536: #if YYDEBUG
                    537: /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
                    538:    YYRHS.  */
                    539: static const yytype_uint16 yyprhs[] =
                    540: {
                    541:        0,     0,     3,     5,     7,     8,     9,    15,    16,    17,
                    542:       23,    24,    25,    31,    35,    42,    45,    47,    50,    53,
                    543:       56,    60,    66,    74,    84,    90,    98,   107,   114,   115,
                    544:      116,   117,   130,   134,   137,   140,   142,   144,   145,   147,
                    545:      151,   153,   157,   159,   163,   165,   169,   170,   173,   174,
                    546:      176,   178,   182,   184,   188,   190,   192,   196,   198,   200,
                    547:      202,   204,   206,   208,   210,   215,   222,   229,   236,   244,
                    548:      249,   253,   262,   267,   274,   282,   292,   297,   302,   307,
                    549:      311,   313,   318,   322,   324,   330,   334,   338,   341,   344,
                    550:      348,   351,   354,   358,   362,   366,   370,   374,   378,   382,
                    551:      385,   389,   393,   396,   400,   404,   408,   412,   416,   420,
                    552:      426,   430,   435,   440,   446
                    553: };
                    554:
                    555: /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
                    556: static const yytype_int8 yyrhs[] =
                    557: {
                    558:       78,     0,    -1,    79,    -1,    89,    -1,    -1,    -1,    11,
                    559:       80,    94,    81,    89,    -1,    -1,    -1,    12,    82,    94,
                    560:       83,    89,    -1,    -1,    -1,    13,    84,    94,    85,    89,
                    561:       -1,    14,    93,    89,    -1,     3,    99,    65,    92,    66,
                    562:       89,    -1,   102,    89,    -1,    91,    -1,    27,    89,    -1,
                    563:       29,    89,    -1,    28,    89,    -1,    28,   102,    89,    -1,
                    564:       25,    67,    96,    68,    79,    -1,    25,    67,    96,    68,
                    565:       79,    26,    79,    -1,    24,    67,    96,    69,    96,    69,
                    566:       96,    68,    79,    -1,    23,    67,    96,    68,    79,    -1,
                    567:       22,    79,    23,    67,    96,    68,    89,    -1,    47,    67,
                    568:       96,    68,    59,    57,   102,    89,    -1,     8,    47,    67,
                    569:       96,    68,    89,    -1,    -1,    -1,    -1,     7,    47,    86,
                    570:       67,    87,    96,    88,    68,    90,    65,    95,    66,    -1,
                    571:        9,    47,    89,    -1,    10,    89,    -1,     1,    89,    -1,
                    572:       69,    -1,    70,    -1,    -1,    48,    -1,    65,    95,    66,
                    573:       -1,    99,    -1,    92,    71,    99,    -1,    47,    -1,    93,
                    574:       71,    47,    -1,    46,    -1,    94,    71,    46,    -1,    -1,
                    575:       95,    79,    -1,    -1,    97,    -1,   102,    -1,    97,    71,
                    576:      102,    -1,   100,    -1,    98,    71,   100,    -1,    46,    -1,
                    577:       47,    -1,    99,    57,   102,    -1,    48,    -1,    45,    -1,
                    578:        6,    -1,    34,    -1,    35,    -1,    36,    -1,    47,    -1,
                    579:       47,    67,    96,    68,    -1,    47,    67,    96,    72,    98,
                    580:       68,    -1,    31,    67,    47,    71,    96,    68,    -1,    32,
                    581:       67,    47,    71,    96,    68,    -1,    47,    65,    96,    66,
                    582:       67,    96,    68,    -1,    37,    67,    99,    68,    -1,    37,
                    583:       67,    68,    -1,    33,    67,   102,    71,   102,    71,   102,
                    584:       68,    -1,    30,    67,    47,    68,    -1,    30,    67,    47,
                    585:       71,    96,    68,    -1,    67,    53,   102,    68,    67,    96,
                    586:       68,    -1,    67,    53,   102,    68,    67,    96,    72,    98,
                    587:       68,    -1,    46,    67,    96,    68,    -1,    18,    67,   102,
                    588:       68,    -1,    19,    67,   102,    68,    -1,    67,   102,    68,
                    589:       -1,    46,    -1,   101,    73,   102,    74,    -1,   101,     4,
                    590:       99,    -1,   101,    -1,    67,     3,    99,    68,   101,    -1,
                    591:      102,    57,   102,    -1,   102,    50,   102,    -1,   102,    49,
                    592:       -1,    49,   102,    -1,    73,    96,    74,    -1,    51,   102,
                    593:       -1,    52,   102,    -1,   102,    51,   102,    -1,   102,    52,
                    594:      102,    -1,   102,    53,   102,    -1,   102,    54,   102,    -1,
                    595:      102,    56,   102,    -1,   102,    55,   102,    -1,   102,    15,
                    596:      102,    -1,    64,   102,    -1,   102,    16,   102,    -1,   102,
                    597:       17,   102,    -1,    43,   102,    -1,   102,    38,   102,    -1,
                    598:      102,    39,   102,    -1,   102,    40,   102,    -1,   102,    41,
                    599:      102,    -1,   102,    42,   102,    -1,   102,    44,   102,    -1,
                    600:      102,    58,   102,    59,   102,    -1,    75,    96,    76,    -1,
                    601:        5,    67,    99,    68,    -1,    20,    67,   102,    68,    -1,
                    602:       73,    96,    72,   102,    74,    -1,    60,   102,    -1
                    603: };
                    604:
                    605: /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
                    606: static const yytype_uint16 yyrline[] =
                    607: {
                    608:        0,   130,   130,   139,   141,   141,   141,   143,   143,   143,
                    609:      145,   145,   145,   147,   149,   151,   153,   155,   157,   159,
                    610:      161,   163,   165,   167,   169,   171,   173,   175,   177,   177,
                    611:      177,   177,   183,   189,   191,   194,   196,   200,   201,   204,
                    612:      207,   209,   212,   214,   217,   219,   223,   224,   228,   229,
                    613:      232,   234,   237,   239,   242,   244,   247,   250,   252,   254,
                    614:      256,   258,   260,   262,   283,   290,   297,   303,   309,   314,
                    615:      318,   322,   326,   333,   340,   344,   349,   363,   365,   367,
                    616:      369,   382,   392,   395,   397,   399,   401,   403,   405,   407,
                    617:      409,   411,   413,   415,   417,   419,   421,   423,   425,   427,
                    618:      429,   431,   433,   435,   437,   439,   441,   443,   445,   447,
                    619:      449,   451,   453,   455,   457
                    620: };
                    621: #endif
                    622:
                    623: #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
                    624: /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
                    625:    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
                    626: static const char *const yytname[] =
                    627: {
                    628:   "$end", "error", "$undefined", "STRUCT", "POINT", "NEWSTRUCT", "ANS",
                    629:   "FDEF", "PFDEF", "MODDEF", "MODEND", "GLOBAL", "MGLOBAL", "LOCAL",
                    630:   "LOCALF", "CMP", "OR", "AND", "CAR", "CDR", "QUOTED", "COLONCOLON", "DO",
                    631:   "WHILE", "FOR", "IF", "ELSE", "BREAK", "RETURN", "CONTINUE", "PARIF",
                    632:   "MAP", "RECMAP", "TIMER", "GF2NGEN", "GFPNGEN", "GFSNGEN", "GETOPT",
                    633:   "FOP_AND", "FOP_OR", "FOP_IMPL", "FOP_REPL", "FOP_EQUIV", "FOP_NOT",
                    634:   "LOP", "FORMULA", "UCASE", "LCASE", "STR", "SELF", "BOPASS", "'+'",
                    635:   "'-'", "'*'", "'/'", "'^'", "'%'", "'='", "'?'", "':'", "'`'", "'&'",
                    636:   "PLUS", "MINUS", "'!'", "'{'", "'}'", "'('", "')'", "';'", "'$'", "','",
                    637:   "'|'", "'['", "']'", "'<'", "'>'", "$accept", "start", "stat", "$@1",
                    638:   "$@2", "$@3", "$@4", "$@5", "$@6", "$@7", "$@8", "$@9", "tail", "desc",
                    639:   "complex", "members", "vars", "pvars", "stats", "node", "_node",
                    640:   "optlist", "rawstr", "opt", "pexpr", "expr", 0
                    641: };
                    642: #endif
                    643:
                    644: # ifdef YYPRINT
                    645: /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
                    646:    token YYLEX-NUM.  */
                    647: static const yytype_uint16 yytoknum[] =
                    648: {
                    649:        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
                    650:      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
                    651:      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
                    652:      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
                    653:      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
                    654:      305,    43,    45,    42,    47,    94,    37,    61,    63,    58,
                    655:       96,    38,   306,   307,    33,   123,   125,    40,    41,    59,
                    656:       36,    44,   124,    91,    93,    60,    62
                    657: };
                    658: # endif
                    659:
                    660: /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
                    661: static const yytype_uint8 yyr1[] =
                    662: {
                    663:        0,    77,    78,    79,    80,    81,    79,    82,    83,    79,
                    664:       84,    85,    79,    79,    79,    79,    79,    79,    79,    79,
                    665:       79,    79,    79,    79,    79,    79,    79,    79,    86,    87,
                    666:       88,    79,    79,    79,    79,    89,    89,    90,    90,    91,
                    667:       92,    92,    93,    93,    94,    94,    95,    95,    96,    96,
                    668:       97,    97,    98,    98,    99,    99,   100,   101,   101,   101,
                    669:      101,   101,   101,   101,   101,   101,   101,   101,   101,   101,
                    670:      101,   101,   101,   101,   101,   101,   101,   101,   101,   101,
                    671:      101,   101,   101,   102,   102,   102,   102,   102,   102,   102,
                    672:      102,   102,   102,   102,   102,   102,   102,   102,   102,   102,
                    673:      102,   102,   102,   102,   102,   102,   102,   102,   102,   102,
                    674:      102,   102,   102,   102,   102
                    675: };
                    676:
                    677: /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
                    678: static const yytype_uint8 yyr2[] =
                    679: {
                    680:        0,     2,     1,     1,     0,     0,     5,     0,     0,     5,
                    681:        0,     0,     5,     3,     6,     2,     1,     2,     2,     2,
                    682:        3,     5,     7,     9,     5,     7,     8,     6,     0,     0,
                    683:        0,    12,     3,     2,     2,     1,     1,     0,     1,     3,
                    684:        1,     3,     1,     3,     1,     3,     0,     2,     0,     1,
                    685:        1,     3,     1,     3,     1,     1,     3,     1,     1,     1,
                    686:        1,     1,     1,     1,     4,     6,     6,     6,     7,     4,
                    687:        3,     8,     4,     6,     7,     9,     4,     4,     4,     3,
                    688:        1,     4,     3,     1,     5,     3,     3,     2,     2,     3,
                    689:        2,     2,     3,     3,     3,     3,     3,     3,     3,     2,
                    690:        3,     3,     2,     3,     3,     3,     3,     3,     3,     5,
                    691:        3,     4,     4,     5,     2
                    692: };
                    693:
                    694: /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
                    695:    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
                    696:    means the default is an error.  */
                    697: static const yytype_uint8 yydefact[] =
                    698: {
                    699:        0,     0,     0,     0,    59,     0,     0,     0,     0,     4,
                    700:        7,    10,     0,     0,     0,     0,     0,     0,     0,     0,
                    701:        0,     0,     0,     0,     0,     0,     0,    60,    61,    62,
                    702:        0,     0,    58,    80,    63,    57,     0,     0,     0,     0,
                    703:        0,    46,     0,    35,    36,    48,    48,     0,     2,     3,
                    704:       16,    83,     0,    34,    54,    55,     0,     0,    28,     0,
                    705:        0,    33,     0,     0,     0,    42,     0,     0,     0,     0,
                    706:        0,    48,    48,    48,    17,    63,    19,     0,    18,     0,
                    707:        0,     0,     0,     0,   102,    48,    48,    48,    88,    90,
                    708:       91,   114,    99,     0,     0,     0,     0,     0,    49,    50,
                    709:        0,     1,     0,     0,     0,     0,     0,     0,     0,     0,
                    710:        0,     0,     0,    87,     0,     0,     0,     0,     0,     0,
                    711:        0,     0,     0,    15,     0,     0,     0,    48,    32,    44,
                    712:        5,     8,    11,     0,    13,     0,     0,     0,     0,     0,
                    713:        0,     0,    48,    20,     0,     0,     0,     0,    70,     0,
                    714:        0,     0,     0,    39,    47,     0,     0,    79,     0,    89,
                    715:        0,   110,    82,     0,    98,   100,   101,   103,   104,   105,
                    716:      106,   107,   108,    86,    92,    93,    94,    95,    97,    96,
                    717:       85,     0,     0,    40,   111,    29,     0,     0,     0,     0,
                    718:        0,    43,    77,    78,   112,    48,     0,    48,     0,     0,
                    719:       72,    48,    48,    48,     0,    69,    76,     0,    64,     0,
                    720:        0,     0,     0,    51,    81,     0,     0,     0,    48,     0,
                    721:       45,     6,     9,    12,     0,    24,     0,    21,    64,     0,
                    722:        0,     0,     0,    48,     0,     0,     0,    52,     0,    84,
                    723:       48,   113,   109,    14,    41,    30,    27,     0,    48,     0,
                    724:       73,    66,    67,     0,     0,     0,    65,     0,     0,     0,
                    725:        0,    25,     0,    22,     0,    68,     0,    53,    56,    74,
                    726:        0,    37,     0,    71,    26,     0,    38,     0,    23,    75,
                    727:       46,     0,    31
                    728: };
                    729:
                    730: /* YYDEFGOTO[NTERM-NUM].  */
                    731: static const yytype_int16 yydefgoto[] =
                    732: {
                    733:       -1,    47,   154,    62,   188,    63,   189,    64,   190,   126,
                    734:      218,   260,    49,   277,    50,   182,    66,   130,    93,    97,
                    735:       98,   235,   236,   237,    51,    99
                    736: };
                    737:
                    738: /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
                    739:    STATE-NUM.  */
                    740: #define YYPACT_NINF -65
                    741: static const yytype_int16 yypact[] =
                    742: {
                    743:      476,   -36,    83,   -64,   -65,   -27,     3,    18,   -36,   -65,
                    744:      -65,   -65,    26,    13,    21,    24,   476,    35,    60,    64,
                    745:      -36,   597,   -36,    68,    71,    72,    74,   -65,   -65,   -65,
                    746:       75,   707,   -65,    76,    25,   -65,   707,   707,   707,   707,
                    747:      707,   -65,   547,   -65,   -65,   707,   707,   137,   -65,   -65,
                    748:      -65,    -2,   864,   -65,   -65,   -65,    79,    83,   -65,    78,
                    749:      -36,   -65,   100,   100,   100,   -65,   -12,   707,   707,   707,
                    750:      124,   707,   707,   707,   -65,    58,   -65,   864,   -65,   101,
                    751:      102,   104,   707,   -33,  1184,   707,   707,   707,   106,   -26,
                    752:      -26,  1184,   106,   334,    83,   707,   908,    54,    85,  1124,
                    753:       81,   -65,    83,   707,   707,   707,   707,   707,   707,   707,
                    754:      707,   707,   707,   -65,   707,   707,   707,   707,   707,   707,
                    755:      707,   707,   707,   -65,    83,    91,   105,   707,   -65,   -65,
                    756:      103,   103,   103,   126,   -65,   939,   970,  1001,   111,   115,
                    757:      116,   127,   707,   -65,   -17,   129,   131,   776,   -65,   140,
                    758:      141,   144,   -53,   -65,   -65,   143,  1032,   -65,   707,   -65,
                    759:      707,   -65,   -65,   260,    23,   273,   135,  1228,   210,  1203,
                    760:      190,    45,    -8,  1124,   -26,   -26,   -45,   -45,   -45,   -45,
                    761:     1124,  1094,   -60,   -65,   -65,   -65,   145,   157,   -36,   -36,
                    762:      -36,   -65,   -65,   -65,   -65,   707,   476,   707,   476,   -50,
                    763:      -65,   707,   707,   707,   707,   -65,   -65,   147,   153,    83,
                    764:      134,   149,   745,  1124,   -65,   707,   -36,    83,   707,   -36,
                    765:      -65,   -65,   -65,   -65,   150,   -65,   152,   193,   -65,   154,
                    766:      156,   163,   820,   707,   176,   -16,   178,   -65,   657,    -2,
                    767:      707,   -65,  1154,   -65,   -65,   -65,   -65,   -36,   707,   476,
                    768:      -65,   -65,   -65,   707,   168,   707,   -65,    83,   707,   -19,
                    769:      169,   -65,   172,   -65,  1063,   -65,   864,   -65,  1124,   -65,
                    770:       83,   204,   476,   -65,   -65,    -5,   -65,   191,   -65,   -65,
                    771:      -65,   405,   -65
                    772: };
                    773:
                    774: /* YYPGOTO[NTERM-NUM].  */
                    775: static const yytype_int8 yypgoto[] =
                    776: {
                    777:      -65,   -65,     1,   -65,   -65,   -65,   -65,   -65,   -65,   -65,
                    778:      -65,   -65,     4,   -65,   -65,   -65,   -65,    70,   -23,    90,
                    779:      -65,   -10,    30,    10,    59,     0
                    780: };
                    781:
                    782: /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
                    783:    positive, shift that token.  If negative, reduce the rule which
                    784:    number is the opposite.  If zero, do what YYDEFACT says.
                    785:    If YYTABLE_NINF, syntax error.  */
                    786: #define YYTABLE_NINF -1
                    787: static const yytype_uint16 yytable[] =
                    788: {
                    789:       52,    48,   102,    57,   113,    53,   216,   104,   105,   106,
                    790:      119,   217,    61,    54,    55,   208,    52,    70,   228,   209,
                    791:       58,    77,   209,   113,    74,    76,    78,   117,   118,   119,
                    792:      120,    84,    56,    43,    44,   148,    88,    89,    90,    91,
                    793:       92,   113,    96,   115,   116,   117,   118,   119,   120,   269,
                    794:       59,   200,   256,   270,   201,   257,   123,    43,    44,   133,
                    795:      104,   105,   106,   279,   128,    60,   257,   135,   136,   137,
                    796:      134,   103,   113,    65,   115,   116,   117,   118,   119,   120,
                    797:       67,   143,   147,   107,   108,   109,   110,   125,    68,   112,
                    798:       86,    69,    87,    52,   113,   156,   115,   116,   117,   118,
                    799:      119,   120,    71,   163,   164,   165,   166,   167,   168,   169,
                    800:      170,   171,   172,   149,   173,   174,   175,   176,   177,   178,
                    801:      179,   180,   181,    86,   155,   142,   158,    72,   159,    54,
                    802:       55,    73,   162,   131,   132,    79,   100,   101,    80,    81,
                    803:        4,    82,    83,    85,   124,   127,   129,   138,   144,   145,
                    804:      104,   146,    13,    14,   183,   113,   160,   161,   212,   184,
                    805:      213,   139,   140,   141,    23,    24,    25,    26,    27,    28,
                    806:       29,    30,   185,   191,   187,   150,   151,   152,   195,    32,
                    807:       33,    75,    35,   196,   113,   197,   115,   116,   117,   118,
                    808:      119,   120,   221,   222,   223,   198,    52,   225,    52,   227,
                    809:      202,   238,   203,   220,   232,   104,   105,   106,   205,   206,
                    810:      207,   210,   234,   219,   233,   242,   240,   186,   247,   249,
                    811:      243,   248,   250,   246,   251,   104,   105,   106,   107,   108,
                    812:      109,   252,   199,   255,   112,   258,   265,   271,    96,   113,
                    813:      272,   115,   116,   117,   118,   119,   120,   244,   107,    52,
                    814:      263,   261,   276,   264,   112,   266,   280,   281,   268,   113,
                    815:      275,   115,   116,   117,   118,   119,   120,   267,     0,   239,
                    816:      274,     0,    52,   278,     0,   104,   105,   106,     0,     0,
                    817:        0,    52,     0,     0,     0,   224,     0,   226,   104,     0,
                    818:      106,   229,   230,   231,     0,     0,     0,     0,   107,   108,
                    819:      109,   110,   111,     0,   112,     0,     0,     0,   245,   113,
                    820:      114,   115,   116,   117,   118,   119,   120,   121,   122,     0,
                    821:        0,     0,   113,   254,   115,   116,   117,   118,   119,   120,
                    822:      259,     0,     0,     0,   214,     1,     0,     2,   262,     3,
                    823:        4,     5,     6,     7,     8,     9,    10,    11,    12,     0,
                    824:        0,     0,    13,    14,    15,     0,    16,    17,    18,    19,
                    825:        0,    20,    21,    22,    23,    24,    25,    26,    27,    28,
                    826:       29,    30,     0,     0,     0,     0,     0,    31,     0,    32,
                    827:       33,    34,    35,    36,     0,    37,    38,     0,     0,     0,
                    828:        0,     0,     0,     0,    39,     0,     0,     0,    40,    41,
                    829:      153,    42,     0,    43,    44,     0,     1,    45,     2,    46,
                    830:        3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
                    831:        0,     0,     0,    13,    14,    15,     0,    16,    17,    18,
                    832:       19,     0,    20,    21,    22,    23,    24,    25,    26,    27,
                    833:       28,    29,    30,     0,     0,     0,     0,     0,    31,     0,
                    834:       32,    33,    34,    35,    36,     0,    37,    38,     0,     0,
                    835:        0,     0,     0,     0,     0,    39,     0,     0,     0,    40,
                    836:       41,   282,    42,     0,    43,    44,     0,     1,    45,     2,
                    837:       46,     3,     4,     5,     6,     7,     8,     9,    10,    11,
                    838:       12,     0,     0,     0,    13,    14,    15,     0,    16,    17,
                    839:       18,    19,     0,    20,    21,    22,    23,    24,    25,    26,
                    840:       27,    28,    29,    30,     0,     0,     0,     0,     0,    31,
                    841:        0,    32,    33,    34,    35,    36,     0,    37,    38,     0,
                    842:        0,     0,     0,     0,     0,     0,    39,     0,     0,     0,
                    843:       40,    41,     0,    42,     0,    43,    44,     0,     0,    45,
                    844:       94,    46,     3,     4,     0,     0,     0,     0,     0,     0,
                    845:        0,     0,     0,     0,     0,    13,    14,    15,     0,     0,
                    846:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
                    847:       26,    27,    28,    29,    30,     0,     0,     0,     0,     0,
                    848:       31,     0,    32,    33,    75,    35,    36,     0,    37,    38,
                    849:       95,     0,     3,     4,     0,     0,     0,    39,     0,     0,
                    850:        0,    40,     0,     0,    42,    13,    14,    15,     0,     0,
                    851:       45,     0,    46,     0,     0,     0,     0,    23,    24,    25,
                    852:       26,    27,    28,    29,    30,     0,     0,     0,     0,     0,
                    853:       31,     0,    32,    33,    75,    35,    36,     0,    37,    38,
                    854:        0,     0,     0,     0,     0,     0,     0,    39,     0,     0,
                    855:        0,    40,     3,     4,    42,     0,    43,    44,     0,     0,
                    856:       45,     0,    46,     0,     0,    13,    14,    15,     0,     0,
                    857:        0,     0,     0,     0,     0,     0,     0,    23,    24,    25,
                    858:       26,    27,    28,    29,    30,     0,     0,     0,     0,     0,
                    859:       31,     0,    32,    33,    75,    35,    36,     0,    37,    38,
                    860:       95,     0,     3,     4,     0,     0,     0,    39,     0,     0,
                    861:        0,    40,     0,     0,    42,    13,    14,    15,     0,     0,
                    862:       45,     0,    46,     0,     0,     0,     0,    23,    24,    25,
                    863:       26,    27,    28,    29,    30,     0,     0,     0,     0,     0,
                    864:       31,     0,    32,    33,    75,    35,    36,     0,    37,    38,
                    865:      104,   105,   106,     0,     0,     0,     0,    39,     0,     0,
                    866:        0,    40,     0,     0,    42,     0,     0,     0,     0,     0,
                    867:       45,     0,    46,   107,   108,   109,   110,   111,     0,   112,
                    868:        0,   104,   105,   106,   113,   114,   115,   116,   117,   118,
                    869:      119,   120,   121,   122,     0,     0,     0,     0,     0,     0,
                    870:        0,     0,     0,     0,   107,   108,   109,   110,   111,   241,
                    871:      112,     0,     0,     0,     0,   113,   114,   115,   116,   117,
                    872:      118,   119,   120,   121,   122,   104,   105,   106,     0,     0,
                    873:        0,     0,     0,     0,     0,     0,     0,   204,     0,     0,
                    874:        0,     0,     0,     0,     0,     0,     0,     0,   107,   108,
                    875:      109,   110,   111,     0,   112,     0,     0,     0,     0,   113,
                    876:      114,   115,   116,   117,   118,   119,   120,   121,   122,   104,
                    877:      105,   106,     0,     0,     0,     0,     0,     0,     0,     0,
                    878:        0,   253,     0,     0,     0,     0,     0,     0,     0,     0,
                    879:        0,     0,   107,   108,   109,   110,   111,     0,   112,     0,
                    880:        0,     0,     0,   113,   114,   115,   116,   117,   118,   119,
                    881:      120,   121,   122,   104,   105,   106,     0,     0,     0,     0,
                    882:        0,     0,     0,    43,    44,     0,     0,     0,     0,     0,
                    883:        0,     0,     0,     0,     0,     0,   107,   108,   109,   110,
                    884:      111,     0,   112,     0,   104,   105,   106,   113,   114,   115,
                    885:      116,   117,   118,   119,   120,   121,   122,     0,     0,     0,
                    886:        0,     0,     0,     0,     0,     0,   157,   107,   108,   109,
                    887:      110,   111,     0,   112,     0,   104,   105,   106,   113,   114,
                    888:      115,   116,   117,   118,   119,   120,   121,   122,     0,     0,
                    889:        0,     0,     0,     0,     0,     0,     0,   192,   107,   108,
                    890:      109,   110,   111,     0,   112,     0,   104,   105,   106,   113,
                    891:      114,   115,   116,   117,   118,   119,   120,   121,   122,     0,
                    892:        0,     0,     0,     0,     0,     0,     0,     0,   193,   107,
                    893:      108,   109,   110,   111,     0,   112,     0,   104,   105,   106,
                    894:      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
                    895:        0,     0,     0,     0,     0,     0,     0,     0,     0,   194,
                    896:      107,   108,   109,   110,   111,     0,   112,     0,   104,   105,
                    897:      106,   113,   114,   115,   116,   117,   118,   119,   120,   121,
                    898:      122,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                    899:      211,   107,   108,   109,   110,   111,     0,   112,     0,   104,
                    900:      105,   106,   113,   114,   115,   116,   117,   118,   119,   120,
                    901:      121,   122,     0,     0,     0,     0,     0,     0,     0,     0,
                    902:        0,   273,   107,   108,   109,   110,   111,     0,   112,   104,
                    903:      105,   106,     0,   113,   114,   115,   116,   117,   118,   119,
                    904:      120,   121,   122,   215,     0,     0,     0,     0,     0,     0,
                    905:        0,     0,   107,   108,   109,   110,   111,     0,   112,   104,
                    906:      105,   106,     0,   113,   114,   115,   116,   117,   118,   119,
                    907:      120,   121,   122,     0,     0,     0,     0,     0,     0,     0,
                    908:        0,     0,   107,   108,   109,   110,   111,     0,   112,   104,
                    909:      105,   106,     0,   113,     0,   115,   116,   117,   118,   119,
                    910:      120,     0,   122,     0,     0,     0,     0,     0,   104,   105,
                    911:      106,     0,   107,   108,   109,   110,   111,     0,   112,     0,
                    912:        0,     0,     0,   113,     0,   115,   116,   117,   118,   119,
                    913:      120,   107,   108,   104,   105,   106,     0,   112,     0,     0,
                    914:        0,     0,   113,     0,   115,   116,   117,   118,   119,   120,
                    915:        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                    916:        0,     0,   112,     0,     0,     0,     0,   113,     0,   115,
                    917:      116,   117,   118,   119,   120
                    918: };
                    919:
                    920: static const yytype_int16 yycheck[] =
                    921: {
                    922:        0,     0,     4,    67,    49,     1,    66,    15,    16,    17,
                    923:       55,    71,     8,    46,    47,    68,    16,    16,    68,    72,
                    924:       47,    21,    72,    49,    20,    21,    22,    53,    54,    55,
                    925:       56,    31,     2,    69,    70,    68,    36,    37,    38,    39,
                    926:       40,    49,    42,    51,    52,    53,    54,    55,    56,    68,
                    927:       47,    68,    68,    72,    71,    71,    52,    69,    70,    71,
                    928:       15,    16,    17,    68,    60,    47,    71,    67,    68,    69,
                    929:       66,    73,    49,    47,    51,    52,    53,    54,    55,    56,
                    930:       67,    77,    82,    38,    39,    40,    41,    57,    67,    44,
                    931:       65,    67,    67,    93,    49,    95,    51,    52,    53,    54,
                    932:       55,    56,    67,   103,   104,   105,   106,   107,   108,   109,
                    933:      110,   111,   112,    83,   114,   115,   116,   117,   118,   119,
                    934:      120,   121,   122,    65,    94,    67,    72,    67,    74,    46,
                    935:       47,    67,   102,    63,    64,    67,    46,     0,    67,    67,
                    936:        6,    67,    67,    67,    65,    67,    46,    23,    47,    47,
                    937:       15,    47,    18,    19,   124,    49,    71,    76,   158,    68,
                    938:      160,    71,    72,    73,    30,    31,    32,    33,    34,    35,
                    939:       36,    37,    67,    47,    71,    85,    86,    87,    67,    45,
                    940:       46,    47,    48,    68,    49,    69,    51,    52,    53,    54,
                    941:       55,    56,   188,   189,   190,    68,   196,   196,   198,   198,
                    942:       71,    67,    71,    46,   204,    15,    16,    17,    68,    68,
                    943:       66,    68,    59,    68,    67,   215,    67,   127,    68,    26,
                    944:      216,    69,    68,   219,    68,    15,    16,    17,    38,    39,
                    945:       40,    68,   142,    57,    44,    57,    68,    68,   238,    49,
                    946:       68,    51,    52,    53,    54,    55,    56,   217,    38,   249,
                    947:      249,   247,    48,   253,    44,   255,    65,   280,   258,    49,
                    948:      270,    51,    52,    53,    54,    55,    56,   257,    -1,   210,
                    949:      266,    -1,   272,   272,    -1,    15,    16,    17,    -1,    -1,
                    950:       -1,   281,    -1,    -1,    -1,   195,    -1,   197,    15,    -1,
                    951:       17,   201,   202,   203,    -1,    -1,    -1,    -1,    38,    39,
                    952:       40,    41,    42,    -1,    44,    -1,    -1,    -1,   218,    49,
                    953:       50,    51,    52,    53,    54,    55,    56,    57,    58,    -1,
                    954:       -1,    -1,    49,   233,    51,    52,    53,    54,    55,    56,
                    955:      240,    -1,    -1,    -1,    74,     1,    -1,     3,   248,     5,
                    956:        6,     7,     8,     9,    10,    11,    12,    13,    14,    -1,
                    957:       -1,    -1,    18,    19,    20,    -1,    22,    23,    24,    25,
                    958:       -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    959:       36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,
                    960:       46,    47,    48,    49,    -1,    51,    52,    -1,    -1,    -1,
                    961:       -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,    65,
                    962:       66,    67,    -1,    69,    70,    -1,     1,    73,     3,    75,
                    963:        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
                    964:       -1,    -1,    -1,    18,    19,    20,    -1,    22,    23,    24,
                    965:       25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
                    966:       35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43,    -1,
                    967:       45,    46,    47,    48,    49,    -1,    51,    52,    -1,    -1,
                    968:       -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    64,
                    969:       65,    66,    67,    -1,    69,    70,    -1,     1,    73,     3,
                    970:       75,     5,     6,     7,     8,     9,    10,    11,    12,    13,
                    971:       14,    -1,    -1,    -1,    18,    19,    20,    -1,    22,    23,
                    972:       24,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
                    973:       34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,    43,
                    974:       -1,    45,    46,    47,    48,    49,    -1,    51,    52,    -1,
                    975:       -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
                    976:       64,    65,    -1,    67,    -1,    69,    70,    -1,    -1,    73,
                    977:        3,    75,     5,     6,    -1,    -1,    -1,    -1,    -1,    -1,
                    978:       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    -1,    -1,
                    979:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
                    980:       33,    34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,
                    981:       43,    -1,    45,    46,    47,    48,    49,    -1,    51,    52,
                    982:       53,    -1,     5,     6,    -1,    -1,    -1,    60,    -1,    -1,
                    983:       -1,    64,    -1,    -1,    67,    18,    19,    20,    -1,    -1,
                    984:       73,    -1,    75,    -1,    -1,    -1,    -1,    30,    31,    32,
                    985:       33,    34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,
                    986:       43,    -1,    45,    46,    47,    48,    49,    -1,    51,    52,
                    987:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
                    988:       -1,    64,     5,     6,    67,    -1,    69,    70,    -1,    -1,
                    989:       73,    -1,    75,    -1,    -1,    18,    19,    20,    -1,    -1,
                    990:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    30,    31,    32,
                    991:       33,    34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,
                    992:       43,    -1,    45,    46,    47,    48,    49,    -1,    51,    52,
                    993:       53,    -1,     5,     6,    -1,    -1,    -1,    60,    -1,    -1,
                    994:       -1,    64,    -1,    -1,    67,    18,    19,    20,    -1,    -1,
                    995:       73,    -1,    75,    -1,    -1,    -1,    -1,    30,    31,    32,
                    996:       33,    34,    35,    36,    37,    -1,    -1,    -1,    -1,    -1,
                    997:       43,    -1,    45,    46,    47,    48,    49,    -1,    51,    52,
                    998:       15,    16,    17,    -1,    -1,    -1,    -1,    60,    -1,    -1,
                    999:       -1,    64,    -1,    -1,    67,    -1,    -1,    -1,    -1,    -1,
                   1000:       73,    -1,    75,    38,    39,    40,    41,    42,    -1,    44,
                   1001:       -1,    15,    16,    17,    49,    50,    51,    52,    53,    54,
                   1002:       55,    56,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,
                   1003:       -1,    -1,    -1,    -1,    38,    39,    40,    41,    42,    74,
                   1004:       44,    -1,    -1,    -1,    -1,    49,    50,    51,    52,    53,
                   1005:       54,    55,    56,    57,    58,    15,    16,    17,    -1,    -1,
                   1006:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,
                   1007:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    38,    39,
                   1008:       40,    41,    42,    -1,    44,    -1,    -1,    -1,    -1,    49,
                   1009:       50,    51,    52,    53,    54,    55,    56,    57,    58,    15,
                   1010:       16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1011:       -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1012:       -1,    -1,    38,    39,    40,    41,    42,    -1,    44,    -1,
                   1013:       -1,    -1,    -1,    49,    50,    51,    52,    53,    54,    55,
                   1014:       56,    57,    58,    15,    16,    17,    -1,    -1,    -1,    -1,
                   1015:       -1,    -1,    -1,    69,    70,    -1,    -1,    -1,    -1,    -1,
                   1016:       -1,    -1,    -1,    -1,    -1,    -1,    38,    39,    40,    41,
                   1017:       42,    -1,    44,    -1,    15,    16,    17,    49,    50,    51,
                   1018:       52,    53,    54,    55,    56,    57,    58,    -1,    -1,    -1,
                   1019:       -1,    -1,    -1,    -1,    -1,    -1,    68,    38,    39,    40,
                   1020:       41,    42,    -1,    44,    -1,    15,    16,    17,    49,    50,
                   1021:       51,    52,    53,    54,    55,    56,    57,    58,    -1,    -1,
                   1022:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    38,    39,
                   1023:       40,    41,    42,    -1,    44,    -1,    15,    16,    17,    49,
                   1024:       50,    51,    52,    53,    54,    55,    56,    57,    58,    -1,
                   1025:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    38,
                   1026:       39,    40,    41,    42,    -1,    44,    -1,    15,    16,    17,
                   1027:       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
                   1028:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
                   1029:       38,    39,    40,    41,    42,    -1,    44,    -1,    15,    16,
                   1030:       17,    49,    50,    51,    52,    53,    54,    55,    56,    57,
                   1031:       58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1032:       68,    38,    39,    40,    41,    42,    -1,    44,    -1,    15,
                   1033:       16,    17,    49,    50,    51,    52,    53,    54,    55,    56,
                   1034:       57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1035:       -1,    68,    38,    39,    40,    41,    42,    -1,    44,    15,
                   1036:       16,    17,    -1,    49,    50,    51,    52,    53,    54,    55,
                   1037:       56,    57,    58,    59,    -1,    -1,    -1,    -1,    -1,    -1,
                   1038:       -1,    -1,    38,    39,    40,    41,    42,    -1,    44,    15,
                   1039:       16,    17,    -1,    49,    50,    51,    52,    53,    54,    55,
                   1040:       56,    57,    58,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1041:       -1,    -1,    38,    39,    40,    41,    42,    -1,    44,    15,
                   1042:       16,    17,    -1,    49,    -1,    51,    52,    53,    54,    55,
                   1043:       56,    -1,    58,    -1,    -1,    -1,    -1,    -1,    15,    16,
                   1044:       17,    -1,    38,    39,    40,    41,    42,    -1,    44,    -1,
                   1045:       -1,    -1,    -1,    49,    -1,    51,    52,    53,    54,    55,
                   1046:       56,    38,    39,    15,    16,    17,    -1,    44,    -1,    -1,
                   1047:       -1,    -1,    49,    -1,    51,    52,    53,    54,    55,    56,
                   1048:       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   1049:       -1,    -1,    44,    -1,    -1,    -1,    -1,    49,    -1,    51,
                   1050:       52,    53,    54,    55,    56
                   1051: };
                   1052:
                   1053: /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
                   1054:    symbol of state STATE-NUM.  */
                   1055: static const yytype_uint8 yystos[] =
                   1056: {
                   1057:        0,     1,     3,     5,     6,     7,     8,     9,    10,    11,
                   1058:       12,    13,    14,    18,    19,    20,    22,    23,    24,    25,
                   1059:       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
                   1060:       37,    43,    45,    46,    47,    48,    49,    51,    52,    60,
                   1061:       64,    65,    67,    69,    70,    73,    75,    78,    79,    89,
                   1062:       91,   101,   102,    89,    46,    47,    99,    67,    47,    47,
                   1063:       47,    89,    80,    82,    84,    47,    93,    67,    67,    67,
                   1064:       79,    67,    67,    67,    89,    47,    89,   102,    89,    67,
                   1065:       67,    67,    67,    67,   102,    67,    65,    67,   102,   102,
                   1066:      102,   102,   102,    95,     3,    53,   102,    96,    97,   102,
                   1067:       96,     0,     4,    73,    15,    16,    17,    38,    39,    40,
                   1068:       41,    42,    44,    49,    50,    51,    52,    53,    54,    55,
                   1069:       56,    57,    58,    89,    65,    99,    86,    67,    89,    46,
                   1070:       94,    94,    94,    71,    89,   102,   102,   102,    23,    96,
                   1071:       96,    96,    67,    89,    47,    47,    47,   102,    68,    99,
                   1072:       96,    96,    96,    66,    79,    99,   102,    68,    72,    74,
                   1073:       71,    76,    99,   102,   102,   102,   102,   102,   102,   102,
                   1074:      102,   102,   102,   102,   102,   102,   102,   102,   102,   102,
                   1075:      102,   102,    92,    99,    68,    67,    96,    71,    81,    83,
                   1076:       85,    47,    68,    68,    68,    67,    68,    69,    68,    96,
                   1077:       68,    71,    71,    71,    71,    68,    68,    66,    68,    72,
                   1078:       68,    68,   102,   102,    74,    59,    66,    71,    87,    68,
                   1079:       46,    89,    89,    89,    96,    79,    96,    79,    68,    96,
                   1080:       96,    96,   102,    67,    59,    98,    99,   100,    67,   101,
                   1081:       67,    74,   102,    89,    99,    96,    89,    68,    69,    26,
                   1082:       68,    68,    68,    71,    96,    57,    68,    71,    57,    96,
                   1083:       88,    89,    96,    79,   102,    68,   102,   100,   102,    68,
                   1084:       72,    68,    68,    68,    89,    98,    48,    90,    79,    68,
                   1085:       65,    95,    66
                   1086: };
                   1087:
                   1088: #define yyerrok    (yyerrstatus = 0)
                   1089: #define yyclearin  (yychar = YYEMPTY)
                   1090: #define YYEMPTY    (-2)
                   1091: #define YYEOF    0
                   1092:
                   1093: #define YYACCEPT  goto yyacceptlab
                   1094: #define YYABORT    goto yyabortlab
                   1095: #define YYERROR    goto yyerrorlab
                   1096:
                   1097:
                   1098: /* Like YYERROR except do call yyerror.  This remains here temporarily
                   1099:    to ease the transition to the new meaning of YYERROR, for GCC.
                   1100:    Once GCC version 2 has supplanted version 1, this can go.  */
                   1101:
                   1102: #define YYFAIL    goto yyerrlab
                   1103:
                   1104: #define YYRECOVERING()  (!!yyerrstatus)
                   1105:
                   1106: #define YYBACKUP(Token, Value)          \
                   1107: do                \
                   1108:   if (yychar == YYEMPTY && yylen == 1)        \
                   1109:     {                \
                   1110:       yychar = (Token);            \
                   1111:       yylval = (Value);            \
                   1112:       yytoken = YYTRANSLATE (yychar);        \
                   1113:       YYPOPSTACK (1);            \
                   1114:       goto yybackup;            \
                   1115:     }                \
                   1116:   else                \
                   1117:     {                \
                   1118:       yyerror (YY_("syntax error: cannot back up")); \
                   1119:       YYERROR;              \
                   1120:     }                \
                   1121: while (YYID (0))
                   1122:
                   1123:
                   1124: #define YYTERROR  1
                   1125: #define YYERRCODE  256
                   1126:
                   1127:
                   1128: /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
                   1129:    If N is 0, then set CURRENT to the empty location which ends
                   1130:    the previous symbol: RHS[0] (always defined).  */
                   1131:
                   1132: #define YYRHSLOC(Rhs, K) ((Rhs)[K])
                   1133: #ifndef YYLLOC_DEFAULT
                   1134: # define YYLLOC_DEFAULT(Current, Rhs, N)        \
                   1135:     do                  \
                   1136:       if (YYID (N))                                                    \
                   1137:   {                \
                   1138:     (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;  \
                   1139:     (Current).first_column = YYRHSLOC (Rhs, 1).first_column;  \
                   1140:     (Current).last_line    = YYRHSLOC (Rhs, N).last_line;    \
                   1141:     (Current).last_column  = YYRHSLOC (Rhs, N).last_column;  \
                   1142:   }                \
                   1143:       else                \
                   1144:   {                \
                   1145:     (Current).first_line   = (Current).last_line   =    \
                   1146:       YYRHSLOC (Rhs, 0).last_line;        \
                   1147:     (Current).first_column = (Current).last_column =    \
                   1148:       YYRHSLOC (Rhs, 0).last_column;        \
                   1149:   }                \
                   1150:     while (YYID (0))
                   1151: #endif
                   1152:
                   1153:
                   1154: /* YY_LOCATION_PRINT -- Print the location on the stream.
                   1155:    This macro was not mandated originally: define only if we know
                   1156:    we won't break user code: when these are the locations we know.  */
                   1157:
                   1158: #ifndef YY_LOCATION_PRINT
                   1159: # if YYLTYPE_IS_TRIVIAL
                   1160: #  define YY_LOCATION_PRINT(File, Loc)      \
                   1161:      fprintf (File, "%d.%d-%d.%d",      \
                   1162:         (Loc).first_line, (Loc).first_column,  \
                   1163:         (Loc).last_line,  (Loc).last_column)
                   1164: # else
                   1165: #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
                   1166: # endif
                   1167: #endif
                   1168:
                   1169:
                   1170: /* YYLEX -- calling `yylex' with the right arguments.  */
                   1171:
                   1172: #ifdef YYLEX_PARAM
                   1173: # define YYLEX yylex (YYLEX_PARAM)
                   1174: #else
                   1175: # define YYLEX yylex ()
                   1176: #endif
                   1177:
                   1178: /* Enable debugging if requested.  */
                   1179: #if YYDEBUG
                   1180:
                   1181: # ifndef YYFPRINTF
                   1182: #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
                   1183: #  define YYFPRINTF fprintf
                   1184: # endif
                   1185:
                   1186: # define YYDPRINTF(Args)      \
                   1187: do {            \
                   1188:   if (yydebug)          \
                   1189:     YYFPRINTF Args;        \
                   1190: } while (YYID (0))
                   1191:
                   1192: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)        \
                   1193: do {                    \
                   1194:   if (yydebug)                  \
                   1195:     {                    \
                   1196:       YYFPRINTF (stderr, "%s ", Title);            \
                   1197:       yy_symbol_print (stderr,              \
                   1198:       Type, Value); \
                   1199:       YYFPRINTF (stderr, "\n");              \
                   1200:     }                    \
                   1201: } while (YYID (0))
                   1202:
                   1203:
                   1204: /*--------------------------------.
                   1205: | Print this symbol on YYOUTPUT.  |
                   1206: `--------------------------------*/
                   1207:
                   1208: /*ARGSUSED*/
                   1209: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1210:      || defined __cplusplus || defined _MSC_VER)
                   1211: static void
                   1212: yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
                   1213: #else
                   1214: static void
                   1215: yy_symbol_value_print (yyoutput, yytype, yyvaluep)
                   1216:     FILE *yyoutput;
                   1217:     int yytype;
                   1218:     YYSTYPE const * const yyvaluep;
                   1219: #endif
                   1220: {
                   1221:   if (!yyvaluep)
                   1222:     return;
                   1223: # ifdef YYPRINT
                   1224:   if (yytype < YYNTOKENS)
                   1225:     YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
                   1226: # else
                   1227:   YYUSE (yyoutput);
                   1228: # endif
                   1229:   switch (yytype)
                   1230:     {
                   1231:       default:
                   1232:   break;
                   1233:     }
                   1234: }
                   1235:
                   1236:
                   1237: /*--------------------------------.
                   1238: | Print this symbol on YYOUTPUT.  |
                   1239: `--------------------------------*/
                   1240:
                   1241: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1242:      || defined __cplusplus || defined _MSC_VER)
                   1243: static void
                   1244: yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
                   1245: #else
                   1246: static void
                   1247: yy_symbol_print (yyoutput, yytype, yyvaluep)
                   1248:     FILE *yyoutput;
                   1249:     int yytype;
                   1250:     YYSTYPE const * const yyvaluep;
                   1251: #endif
                   1252: {
                   1253:   if (yytype < YYNTOKENS)
                   1254:     YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
                   1255:   else
                   1256:     YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
                   1257:
                   1258:   yy_symbol_value_print (yyoutput, yytype, yyvaluep);
                   1259:   YYFPRINTF (yyoutput, ")");
                   1260: }
                   1261:
                   1262: /*------------------------------------------------------------------.
                   1263: | yy_stack_print -- Print the state stack from its BOTTOM up to its |
                   1264: | TOP (included).                                                   |
                   1265: `------------------------------------------------------------------*/
                   1266:
                   1267: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1268:      || defined __cplusplus || defined _MSC_VER)
                   1269: static void
                   1270: yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
                   1271: #else
                   1272: static void
                   1273: yy_stack_print (yybottom, yytop)
                   1274:     yytype_int16 *yybottom;
                   1275:     yytype_int16 *yytop;
                   1276: #endif
                   1277: {
                   1278:   YYFPRINTF (stderr, "Stack now");
                   1279:   for (; yybottom <= yytop; yybottom++)
                   1280:     {
                   1281:       int yybot = *yybottom;
                   1282:       YYFPRINTF (stderr, " %d", yybot);
                   1283:     }
                   1284:   YYFPRINTF (stderr, "\n");
                   1285: }
                   1286:
                   1287: # define YY_STACK_PRINT(Bottom, Top)        \
                   1288: do {                \
                   1289:   if (yydebug)              \
                   1290:     yy_stack_print ((Bottom), (Top));        \
                   1291: } while (YYID (0))
                   1292:
                   1293:
                   1294: /*------------------------------------------------.
                   1295: | Report that the YYRULE is going to be reduced.  |
                   1296: `------------------------------------------------*/
                   1297:
                   1298: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1299:      || defined __cplusplus || defined _MSC_VER)
                   1300: static void
                   1301: yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
                   1302: #else
                   1303: static void
                   1304: yy_reduce_print (yyvsp, yyrule)
                   1305:     YYSTYPE *yyvsp;
                   1306:     int yyrule;
                   1307: #endif
                   1308: {
                   1309:   int yynrhs = yyr2[yyrule];
                   1310:   int yyi;
                   1311:   unsigned long int yylno = yyrline[yyrule];
                   1312:   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
                   1313:        yyrule - 1, yylno);
                   1314:   /* The symbols being reduced.  */
                   1315:   for (yyi = 0; yyi < yynrhs; yyi++)
                   1316:     {
                   1317:       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
                   1318:       yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
                   1319:            &(yyvsp[(yyi + 1) - (yynrhs)])
                   1320:                       );
                   1321:       YYFPRINTF (stderr, "\n");
                   1322:     }
                   1323: }
                   1324:
                   1325: # define YY_REDUCE_PRINT(Rule)    \
                   1326: do {          \
                   1327:   if (yydebug)        \
                   1328:     yy_reduce_print (yyvsp, Rule); \
                   1329: } while (YYID (0))
                   1330:
                   1331: /* Nonzero means print parse trace.  It is left uninitialized so that
                   1332:    multiple parsers can coexist.  */
                   1333: int yydebug;
                   1334: #else /* !YYDEBUG */
                   1335: # define YYDPRINTF(Args)
                   1336: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
                   1337: # define YY_STACK_PRINT(Bottom, Top)
                   1338: # define YY_REDUCE_PRINT(Rule)
                   1339: #endif /* !YYDEBUG */
                   1340:
                   1341:
                   1342: /* YYINITDEPTH -- initial size of the parser's stacks.  */
                   1343: #ifndef  YYINITDEPTH
                   1344: # define YYINITDEPTH 200
                   1345: #endif
                   1346:
                   1347: /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
                   1348:    if the built-in stack extension method is used).
                   1349:
                   1350:    Do not make this value too large; the results are undefined if
                   1351:    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
                   1352:    evaluated with infinite-precision integer arithmetic.  */
                   1353:
                   1354: #ifndef YYMAXDEPTH
                   1355: # define YYMAXDEPTH 10000
                   1356: #endif
                   1357:
                   1358: 
                   1359:
                   1360: #if YYERROR_VERBOSE
                   1361:
                   1362: # ifndef yystrlen
                   1363: #  if defined __GLIBC__ && defined _STRING_H
                   1364: #   define yystrlen strlen
                   1365: #  else
                   1366: /* Return the length of YYSTR.  */
                   1367: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1368:      || defined __cplusplus || defined _MSC_VER)
                   1369: static YYSIZE_T
                   1370: yystrlen (const char *yystr)
                   1371: #else
                   1372: static YYSIZE_T
                   1373: yystrlen (yystr)
                   1374:     const char *yystr;
                   1375: #endif
                   1376: {
                   1377:   YYSIZE_T yylen;
                   1378:   for (yylen = 0; yystr[yylen]; yylen++)
                   1379:     continue;
                   1380:   return yylen;
                   1381: }
                   1382: #  endif
                   1383: # endif
                   1384:
                   1385: # ifndef yystpcpy
                   1386: #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
                   1387: #   define yystpcpy stpcpy
                   1388: #  else
                   1389: /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
                   1390:    YYDEST.  */
                   1391: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1392:      || defined __cplusplus || defined _MSC_VER)
                   1393: static char *
                   1394: yystpcpy (char *yydest, const char *yysrc)
                   1395: #else
                   1396: static char *
                   1397: yystpcpy (yydest, yysrc)
                   1398:     char *yydest;
                   1399:     const char *yysrc;
                   1400: #endif
                   1401: {
                   1402:   char *yyd = yydest;
                   1403:   const char *yys = yysrc;
                   1404:
                   1405:   while ((*yyd++ = *yys++) != '\0')
                   1406:     continue;
                   1407:
                   1408:   return yyd - 1;
                   1409: }
                   1410: #  endif
                   1411: # endif
                   1412:
                   1413: # ifndef yytnamerr
                   1414: /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
                   1415:    quotes and backslashes, so that it's suitable for yyerror.  The
                   1416:    heuristic is that double-quoting is unnecessary unless the string
                   1417:    contains an apostrophe, a comma, or backslash (other than
                   1418:    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
                   1419:    null, do not copy; instead, return the length of what the result
                   1420:    would have been.  */
                   1421: static YYSIZE_T
                   1422: yytnamerr (char *yyres, const char *yystr)
                   1423: {
                   1424:   if (*yystr == '"')
                   1425:     {
                   1426:       YYSIZE_T yyn = 0;
                   1427:       char const *yyp = yystr;
                   1428:
                   1429:       for (;;)
                   1430:   switch (*++yyp)
                   1431:     {
                   1432:     case '\'':
                   1433:     case ',':
                   1434:       goto do_not_strip_quotes;
                   1435:
                   1436:     case '\\':
                   1437:       if (*++yyp != '\\')
                   1438:         goto do_not_strip_quotes;
                   1439:       /* Fall through.  */
                   1440:     default:
                   1441:       if (yyres)
                   1442:         yyres[yyn] = *yyp;
                   1443:       yyn++;
                   1444:       break;
                   1445:
                   1446:     case '"':
                   1447:       if (yyres)
                   1448:         yyres[yyn] = '\0';
                   1449:       return yyn;
                   1450:     }
                   1451:     do_not_strip_quotes: ;
                   1452:     }
                   1453:
                   1454:   if (! yyres)
                   1455:     return yystrlen (yystr);
                   1456:
                   1457:   return yystpcpy (yyres, yystr) - yyres;
                   1458: }
                   1459: # endif
                   1460:
                   1461: /* Copy into YYRESULT an error message about the unexpected token
                   1462:    YYCHAR while in state YYSTATE.  Return the number of bytes copied,
                   1463:    including the terminating null byte.  If YYRESULT is null, do not
                   1464:    copy anything; just return the number of bytes that would be
                   1465:    copied.  As a special case, return 0 if an ordinary "syntax error"
                   1466:    message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
                   1467:    size calculation.  */
                   1468: static YYSIZE_T
                   1469: yysyntax_error (char *yyresult, int yystate, int yychar)
                   1470: {
                   1471:   int yyn = yypact[yystate];
                   1472:
                   1473:   if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
                   1474:     return 0;
                   1475:   else
                   1476:     {
                   1477:       int yytype = YYTRANSLATE (yychar);
                   1478:       YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
                   1479:       YYSIZE_T yysize = yysize0;
                   1480:       YYSIZE_T yysize1;
                   1481:       int yysize_overflow = 0;
                   1482:       enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
                   1483:       char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
                   1484:       int yyx;
                   1485:
                   1486: # if 0
                   1487:       /* This is so xgettext sees the translatable formats that are
                   1488:    constructed on the fly.  */
                   1489:       YY_("syntax error, unexpected %s");
                   1490:       YY_("syntax error, unexpected %s, expecting %s");
                   1491:       YY_("syntax error, unexpected %s, expecting %s or %s");
                   1492:       YY_("syntax error, unexpected %s, expecting %s or %s or %s");
                   1493:       YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
                   1494: # endif
                   1495:       char *yyfmt;
                   1496:       char const *yyf;
                   1497:       static char const yyunexpected[] = "syntax error, unexpected %s";
                   1498:       static char const yyexpecting[] = ", expecting %s";
                   1499:       static char const yyor[] = " or %s";
                   1500:       char yyformat[sizeof yyunexpected
                   1501:         + sizeof yyexpecting - 1
                   1502:         + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
                   1503:            * (sizeof yyor - 1))];
                   1504:       char const *yyprefix = yyexpecting;
                   1505:
                   1506:       /* Start YYX at -YYN if negative to avoid negative indexes in
                   1507:    YYCHECK.  */
                   1508:       int yyxbegin = yyn < 0 ? -yyn : 0;
                   1509:
                   1510:       /* Stay within bounds of both yycheck and yytname.  */
                   1511:       int yychecklim = YYLAST - yyn + 1;
                   1512:       int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
                   1513:       int yycount = 1;
                   1514:
                   1515:       yyarg[0] = yytname[yytype];
                   1516:       yyfmt = yystpcpy (yyformat, yyunexpected);
                   1517:
                   1518:       for (yyx = yyxbegin; yyx < yyxend; ++yyx)
                   1519:   if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
                   1520:     {
                   1521:       if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
                   1522:         {
                   1523:     yycount = 1;
                   1524:     yysize = yysize0;
                   1525:     yyformat[sizeof yyunexpected - 1] = '\0';
                   1526:     break;
                   1527:         }
                   1528:       yyarg[yycount++] = yytname[yyx];
                   1529:       yysize1 = yysize + yytnamerr (0, yytname[yyx]);
                   1530:       yysize_overflow |= (yysize1 < yysize);
                   1531:       yysize = yysize1;
                   1532:       yyfmt = yystpcpy (yyfmt, yyprefix);
                   1533:       yyprefix = yyor;
                   1534:     }
                   1535:
                   1536:       yyf = YY_(yyformat);
                   1537:       yysize1 = yysize + yystrlen (yyf);
                   1538:       yysize_overflow |= (yysize1 < yysize);
                   1539:       yysize = yysize1;
                   1540:
                   1541:       if (yysize_overflow)
                   1542:   return YYSIZE_MAXIMUM;
                   1543:
                   1544:       if (yyresult)
                   1545:   {
                   1546:     /* Avoid sprintf, as that infringes on the user's name space.
                   1547:        Don't have undefined behavior even if the translation
                   1548:        produced a string with the wrong number of "%s"s.  */
                   1549:     char *yyp = yyresult;
                   1550:     int yyi = 0;
                   1551:     while ((*yyp = *yyf) != '\0')
                   1552:       {
                   1553:         if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
                   1554:     {
                   1555:       yyp += yytnamerr (yyp, yyarg[yyi++]);
                   1556:       yyf += 2;
                   1557:     }
                   1558:         else
                   1559:     {
                   1560:       yyp++;
                   1561:       yyf++;
                   1562:     }
                   1563:       }
                   1564:   }
                   1565:       return yysize;
                   1566:     }
                   1567: }
                   1568: #endif /* YYERROR_VERBOSE */
                   1569: 
                   1570:
                   1571: /*-----------------------------------------------.
                   1572: | Release the memory associated to this symbol.  |
                   1573: `-----------------------------------------------*/
                   1574:
                   1575: /*ARGSUSED*/
                   1576: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1577:      || defined __cplusplus || defined _MSC_VER)
                   1578: static void
                   1579: yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
                   1580: #else
                   1581: static void
                   1582: yydestruct (yymsg, yytype, yyvaluep)
                   1583:     const char *yymsg;
                   1584:     int yytype;
                   1585:     YYSTYPE *yyvaluep;
                   1586: #endif
                   1587: {
                   1588:   YYUSE (yyvaluep);
                   1589:
                   1590:   if (!yymsg)
                   1591:     yymsg = "Deleting";
                   1592:   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
                   1593:
                   1594:   switch (yytype)
                   1595:     {
                   1596:
                   1597:       default:
                   1598:   break;
                   1599:     }
                   1600: }
                   1601:
                   1602: /* Prevent warnings from -Wmissing-prototypes.  */
                   1603: #ifdef YYPARSE_PARAM
                   1604: #if defined __STDC__ || defined __cplusplus
                   1605: int yyparse (void *YYPARSE_PARAM);
                   1606: #else
                   1607: int yyparse ();
                   1608: #endif
                   1609: #else /* ! YYPARSE_PARAM */
                   1610: #if defined __STDC__ || defined __cplusplus
                   1611: int yyparse (void);
                   1612: #else
                   1613: int yyparse ();
                   1614: #endif
                   1615: #endif /* ! YYPARSE_PARAM */
                   1616:
                   1617:
                   1618: /* The lookahead symbol.  */
                   1619: int yychar;
                   1620:
                   1621: /* The semantic value of the lookahead symbol.  */
                   1622: YYSTYPE yylval;
                   1623:
                   1624: /* Number of syntax errors so far.  */
                   1625: int yynerrs;
                   1626:
                   1627:
                   1628:
                   1629: /*-------------------------.
                   1630: | yyparse or yypush_parse.  |
                   1631: `-------------------------*/
                   1632:
                   1633: #ifdef YYPARSE_PARAM
                   1634: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1635:      || defined __cplusplus || defined _MSC_VER)
                   1636: int
                   1637: yyparse (void *YYPARSE_PARAM)
                   1638: #else
                   1639: int
                   1640: yyparse (YYPARSE_PARAM)
                   1641:     void *YYPARSE_PARAM;
                   1642: #endif
                   1643: #else /* ! YYPARSE_PARAM */
                   1644: #if (defined __STDC__ || defined __C99__FUNC__ \
                   1645:      || defined __cplusplus || defined _MSC_VER)
                   1646: int
                   1647: yyparse (void)
                   1648: #else
                   1649: int
                   1650: yyparse ()
                   1651:
                   1652: #endif
                   1653: #endif
                   1654: {
                   1655:
                   1656:
                   1657:     int yystate;
                   1658:     /* Number of tokens to shift before error messages enabled.  */
                   1659:     int yyerrstatus;
                   1660:
                   1661:     /* The stacks and their tools:
                   1662:        `yyss': related to states.
                   1663:        `yyvs': related to semantic values.
                   1664:
                   1665:        Refer to the stacks thru separate pointers, to allow yyoverflow
                   1666:        to reallocate them elsewhere.  */
                   1667:
                   1668:     /* The state stack.  */
                   1669:     yytype_int16 yyssa[YYINITDEPTH];
                   1670:     yytype_int16 *yyss;
                   1671:     yytype_int16 *yyssp;
                   1672:
                   1673:     /* The semantic value stack.  */
                   1674:     YYSTYPE yyvsa[YYINITDEPTH];
                   1675:     YYSTYPE *yyvs;
                   1676:     YYSTYPE *yyvsp;
                   1677:
                   1678:     YYSIZE_T yystacksize;
                   1679:
                   1680:   int yyn;
                   1681:   int yyresult;
                   1682:   /* Lookahead token as an internal (translated) token number.  */
                   1683:   int yytoken;
                   1684:   /* The variables used to return semantic value and location from the
                   1685:      action routines.  */
                   1686:   YYSTYPE yyval;
                   1687:
                   1688: #if YYERROR_VERBOSE
                   1689:   /* Buffer for error messages, and its allocated size.  */
                   1690:   char yymsgbuf[128];
                   1691:   char *yymsg = yymsgbuf;
                   1692:   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
                   1693: #endif
                   1694:
                   1695: #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
                   1696:
                   1697:   /* The number of symbols on the RHS of the reduced rule.
                   1698:      Keep to zero when no symbol should be popped.  */
                   1699:   int yylen = 0;
                   1700:
                   1701:   yytoken = 0;
                   1702:   yyss = yyssa;
                   1703:   yyvs = yyvsa;
                   1704:   yystacksize = YYINITDEPTH;
                   1705:
                   1706:   YYDPRINTF ((stderr, "Starting parse\n"));
                   1707:
                   1708:   yystate = 0;
                   1709:   yyerrstatus = 0;
                   1710:   yynerrs = 0;
                   1711:   yychar = YYEMPTY; /* Cause a token to be read.  */
                   1712:
                   1713:   /* Initialize stack pointers.
                   1714:      Waste one element of value and location stack
                   1715:      so that they stay on the same level as the state stack.
                   1716:      The wasted elements are never initialized.  */
                   1717:   yyssp = yyss;
                   1718:   yyvsp = yyvs;
                   1719:
                   1720:   goto yysetstate;
                   1721:
                   1722: /*------------------------------------------------------------.
                   1723: | yynewstate -- Push a new state, which is found in yystate.  |
                   1724: `------------------------------------------------------------*/
                   1725:  yynewstate:
                   1726:   /* In all cases, when you get here, the value and location stacks
                   1727:      have just been pushed.  So pushing a state here evens the stacks.  */
                   1728:   yyssp++;
                   1729:
                   1730:  yysetstate:
                   1731:   *yyssp = yystate;
                   1732:
                   1733:   if (yyss + yystacksize - 1 <= yyssp)
                   1734:     {
                   1735:       /* Get the current used size of the three stacks, in elements.  */
                   1736:       YYSIZE_T yysize = yyssp - yyss + 1;
                   1737:
                   1738: #ifdef yyoverflow
                   1739:       {
                   1740:   /* Give user a chance to reallocate the stack.  Use copies of
                   1741:      these so that the &'s don't force the real ones into
                   1742:      memory.  */
                   1743:   YYSTYPE *yyvs1 = yyvs;
                   1744:   yytype_int16 *yyss1 = yyss;
                   1745:
                   1746:   /* Each stack pointer address is followed by the size of the
                   1747:      data in use in that stack, in bytes.  This used to be a
                   1748:      conditional around just the two extra args, but that might
                   1749:      be undefined if yyoverflow is a macro.  */
                   1750:   yyoverflow (YY_("memory exhausted"),
                   1751:         &yyss1, yysize * sizeof (*yyssp),
                   1752:         &yyvs1, yysize * sizeof (*yyvsp),
                   1753:         &yystacksize);
                   1754:
                   1755:   yyss = yyss1;
                   1756:   yyvs = yyvs1;
                   1757:       }
                   1758: #else /* no yyoverflow */
                   1759: # ifndef YYSTACK_RELOCATE
                   1760:       goto yyexhaustedlab;
                   1761: # else
                   1762:       /* Extend the stack our own way.  */
                   1763:       if (YYMAXDEPTH <= yystacksize)
                   1764:   goto yyexhaustedlab;
                   1765:       yystacksize *= 2;
                   1766:       if (YYMAXDEPTH < yystacksize)
                   1767:   yystacksize = YYMAXDEPTH;
                   1768:
                   1769:       {
                   1770:   yytype_int16 *yyss1 = yyss;
                   1771:   union yyalloc *yyptr =
                   1772:     (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
                   1773:   if (! yyptr)
                   1774:     goto yyexhaustedlab;
                   1775:   YYSTACK_RELOCATE (yyss_alloc, yyss);
                   1776:   YYSTACK_RELOCATE (yyvs_alloc, yyvs);
                   1777: #  undef YYSTACK_RELOCATE
                   1778:   if (yyss1 != yyssa)
                   1779:     YYSTACK_FREE (yyss1);
                   1780:       }
                   1781: # endif
                   1782: #endif /* no yyoverflow */
                   1783:
                   1784:       yyssp = yyss + yysize - 1;
                   1785:       yyvsp = yyvs + yysize - 1;
                   1786:
                   1787:       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
                   1788:       (unsigned long int) yystacksize));
                   1789:
                   1790:       if (yyss + yystacksize - 1 <= yyssp)
                   1791:   YYABORT;
                   1792:     }
                   1793:
                   1794:   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
                   1795:
                   1796:   if (yystate == YYFINAL)
                   1797:     YYACCEPT;
                   1798:
                   1799:   goto yybackup;
                   1800:
                   1801: /*-----------.
                   1802: | yybackup.  |
                   1803: `-----------*/
                   1804: yybackup:
                   1805:
                   1806:   /* Do appropriate processing given the current state.  Read a
                   1807:      lookahead token if we need one and don't already have one.  */
                   1808:
                   1809:   /* First try to decide what to do without reference to lookahead token.  */
                   1810:   yyn = yypact[yystate];
                   1811:   if (yyn == YYPACT_NINF)
                   1812:     goto yydefault;
                   1813:
                   1814:   /* Not known => get a lookahead token if don't already have one.  */
                   1815:
                   1816:   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
                   1817:   if (yychar == YYEMPTY)
                   1818:     {
                   1819:       YYDPRINTF ((stderr, "Reading a token: "));
                   1820:       yychar = YYLEX;
                   1821:     }
                   1822:
                   1823:   if (yychar <= YYEOF)
                   1824:     {
                   1825:       yychar = yytoken = YYEOF;
                   1826:       YYDPRINTF ((stderr, "Now at end of input.\n"));
                   1827:     }
                   1828:   else
                   1829:     {
                   1830:       yytoken = YYTRANSLATE (yychar);
                   1831:       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
                   1832:     }
                   1833:
                   1834:   /* If the proper action on seeing token YYTOKEN is to reduce or to
                   1835:      detect an error, take that action.  */
                   1836:   yyn += yytoken;
                   1837:   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
                   1838:     goto yydefault;
                   1839:   yyn = yytable[yyn];
                   1840:   if (yyn <= 0)
                   1841:     {
                   1842:       if (yyn == 0 || yyn == YYTABLE_NINF)
                   1843:   goto yyerrlab;
                   1844:       yyn = -yyn;
                   1845:       goto yyreduce;
                   1846:     }
                   1847:
                   1848:   /* Count tokens shifted since error; after three, turn off error
                   1849:      status.  */
                   1850:   if (yyerrstatus)
                   1851:     yyerrstatus--;
                   1852:
                   1853:   /* Shift the lookahead token.  */
                   1854:   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
                   1855:
                   1856:   /* Discard the shifted token.  */
                   1857:   yychar = YYEMPTY;
                   1858:
                   1859:   yystate = yyn;
                   1860:   *++yyvsp = yylval;
                   1861:
                   1862:   goto yynewstate;
                   1863:
                   1864:
                   1865: /*-----------------------------------------------------------.
                   1866: | yydefault -- do the default action for the current state.  |
                   1867: `-----------------------------------------------------------*/
                   1868: yydefault:
                   1869:   yyn = yydefact[yystate];
                   1870:   if (yyn == 0)
                   1871:     goto yyerrlab;
                   1872:   goto yyreduce;
                   1873:
                   1874:
                   1875: /*-----------------------------.
                   1876: | yyreduce -- Do a reduction.  |
                   1877: `-----------------------------*/
                   1878: yyreduce:
                   1879:   /* yyn is the number of a rule to reduce with.  */
                   1880:   yylen = yyr2[yyn];
                   1881:
                   1882:   /* If YYLEN is nonzero, implement the default value of the action:
                   1883:      `$$ = $1'.
                   1884:
                   1885:      Otherwise, the following line sets YYVAL to garbage.
                   1886:      This behavior is undocumented and Bison
                   1887:      users should not rely upon it.  Assigning to YYVAL
                   1888:      unconditionally makes the parser a bit smaller, and it avoids a
                   1889:      GCC warning that YYVAL may be used uninitialized.  */
                   1890:   yyval = yyvsp[1-yylen];
                   1891:
                   1892:
                   1893:   YY_REDUCE_PRINT (yyn);
                   1894:   switch (yyn)
                   1895:     {
                   1896:         case 2:
                   1897:
                   1898: /* Line 1455 of yacc.c  */
                   1899: #line 131 "parse.y"
                   1900:     {
                   1901:         parse_snode = (yyvsp[(1) - (1)].s);
                   1902:         if ( yychar >= 0 )
                   1903:           fprintf(stderr,
                   1904:             "Warning: a token was wasted after an 'if' statement without 'else'.\n");
                   1905:         YYACCEPT;
                   1906:       }
                   1907:     break;
                   1908:
                   1909:   case 3:
                   1910:
                   1911: /* Line 1455 of yacc.c  */
                   1912: #line 140 "parse.y"
                   1913:     { (yyval.s) = 0; }
                   1914:     break;
                   1915:
                   1916:   case 4:
                   1917:
                   1918: /* Line 1455 of yacc.c  */
                   1919: #line 141 "parse.y"
                   1920:     { gdef=1; }
                   1921:     break;
                   1922:
                   1923:   case 5:
                   1924:
                   1925: /* Line 1455 of yacc.c  */
                   1926: #line 141 "parse.y"
                   1927:     { gdef=0; }
                   1928:     break;
                   1929:
                   1930:   case 6:
                   1931:
                   1932: /* Line 1455 of yacc.c  */
                   1933: #line 142 "parse.y"
                   1934:     { (yyval.s) = 0; NOPR; }
                   1935:     break;
                   1936:
                   1937:   case 7:
                   1938:
                   1939: /* Line 1455 of yacc.c  */
                   1940: #line 143 "parse.y"
                   1941:     { mgdef=1; }
                   1942:     break;
                   1943:
                   1944:   case 8:
                   1945:
                   1946: /* Line 1455 of yacc.c  */
                   1947: #line 143 "parse.y"
                   1948:     { mgdef=0; }
                   1949:     break;
                   1950:
                   1951:   case 9:
                   1952:
                   1953: /* Line 1455 of yacc.c  */
                   1954: #line 144 "parse.y"
                   1955:     { (yyval.s) = 0; NOPR; }
                   1956:     break;
                   1957:
                   1958:   case 10:
                   1959:
                   1960: /* Line 1455 of yacc.c  */
                   1961: #line 145 "parse.y"
                   1962:     { ldef=1; }
                   1963:     break;
                   1964:
                   1965:   case 11:
                   1966:
                   1967: /* Line 1455 of yacc.c  */
                   1968: #line 145 "parse.y"
                   1969:     { ldef=0; }
                   1970:     break;
                   1971:
                   1972:   case 12:
                   1973:
                   1974: /* Line 1455 of yacc.c  */
                   1975: #line 146 "parse.y"
                   1976:     { (yyval.s) = 0; NOPR; }
                   1977:     break;
                   1978:
                   1979:   case 13:
                   1980:
                   1981: /* Line 1455 of yacc.c  */
                   1982: #line 148 "parse.y"
                   1983:     { appenduflist((yyvsp[(2) - (3)].n)); (yyval.s) = 0; NOPR; }
                   1984:     break;
                   1985:
                   1986:   case 14:
                   1987:
                   1988: /* Line 1455 of yacc.c  */
                   1989: #line 150 "parse.y"
                   1990:     { structdef((yyvsp[(2) - (6)].p),(yyvsp[(4) - (6)].n)); (yyval.s) = 0; NOPR; }
                   1991:     break;
                   1992:
                   1993:   case 15:
                   1994:
                   1995: /* Line 1455 of yacc.c  */
                   1996: #line 152 "parse.y"
                   1997:     { (yyval.s) = mksnode(1,S_SINGLE,(yyvsp[(1) - (2)].f)); }
                   1998:     break;
                   1999:
                   2000:   case 16:
                   2001:
                   2002: /* Line 1455 of yacc.c  */
                   2003: #line 154 "parse.y"
                   2004:     { (yyval.s) = (yyvsp[(1) - (1)].s); }
                   2005:     break;
                   2006:
                   2007:   case 17:
                   2008:
                   2009: /* Line 1455 of yacc.c  */
                   2010: #line 156 "parse.y"
                   2011:     { (yyval.s) = mksnode(0,S_BREAK); }
                   2012:     break;
                   2013:
                   2014:   case 18:
                   2015:
                   2016: /* Line 1455 of yacc.c  */
                   2017: #line 158 "parse.y"
                   2018:     { (yyval.s) = mksnode(0,S_CONTINUE); }
                   2019:     break;
                   2020:
                   2021:   case 19:
                   2022:
                   2023: /* Line 1455 of yacc.c  */
                   2024: #line 160 "parse.y"
                   2025:     { (yyval.s) = mksnode(1,S_RETURN,NULLP); }
                   2026:     break;
                   2027:
                   2028:   case 20:
                   2029:
                   2030: /* Line 1455 of yacc.c  */
                   2031: #line 162 "parse.y"
                   2032:     { (yyval.s) = mksnode(1,S_RETURN,(yyvsp[(2) - (3)].f)); }
                   2033:     break;
                   2034:
                   2035:   case 21:
                   2036:
                   2037: /* Line 1455 of yacc.c  */
                   2038: #line 164 "parse.y"
                   2039:     { (yyval.s) = mksnode(4,S_IFELSE,(yyvsp[(1) - (5)].i),(yyvsp[(3) - (5)].n),(yyvsp[(5) - (5)].s),NULLP); (yyvsp[(5) - (5)].s)?(yyval.s)->ln=(yyvsp[(5) - (5)].s)->ln:0; NOPR; }
                   2040:     break;
                   2041:
                   2042:   case 22:
                   2043:
                   2044: /* Line 1455 of yacc.c  */
                   2045: #line 166 "parse.y"
                   2046:     { (yyval.s) = mksnode(4,S_IFELSE,(yyvsp[(1) - (7)].i),(yyvsp[(3) - (7)].n),(yyvsp[(5) - (7)].s),(yyvsp[(7) - (7)].s)); (yyvsp[(7) - (7)].s)?(yyval.s)->ln=(yyvsp[(7) - (7)].s)->ln:0; NOPR; }
                   2047:     break;
                   2048:
                   2049:   case 23:
                   2050:
                   2051: /* Line 1455 of yacc.c  */
                   2052: #line 168 "parse.y"
                   2053:     { (yyval.s) = mksnode(5,S_FOR,(yyvsp[(1) - (9)].i),(yyvsp[(3) - (9)].n),(yyvsp[(5) - (9)].n)?(yyvsp[(5) - (9)].n):ONENODE,(yyvsp[(7) - (9)].n),(yyvsp[(9) - (9)].s)); (yyvsp[(9) - (9)].s)?(yyval.s)->ln=(yyvsp[(9) - (9)].s)->ln:0; NOPR; }
                   2054:     break;
                   2055:
                   2056:   case 24:
                   2057:
                   2058: /* Line 1455 of yacc.c  */
                   2059: #line 170 "parse.y"
                   2060:     { (yyval.s) = mksnode(5,S_FOR,(yyvsp[(1) - (5)].i),NULLP,(yyvsp[(3) - (5)].n),NULLP,(yyvsp[(5) - (5)].s)); (yyvsp[(5) - (5)].s)?(yyval.s)->ln=(yyvsp[(5) - (5)].s)->ln:0; NOPR; }
                   2061:     break;
                   2062:
                   2063:   case 25:
                   2064:
                   2065: /* Line 1455 of yacc.c  */
                   2066: #line 172 "parse.y"
                   2067:     { (yyval.s) = mksnode(3,S_DO,(yyvsp[(1) - (7)].i),(yyvsp[(2) - (7)].s),(yyvsp[(5) - (7)].n)); NOPR; }
                   2068:     break;
                   2069:
                   2070:   case 26:
                   2071:
                   2072: /* Line 1455 of yacc.c  */
                   2073: #line 174 "parse.y"
                   2074:     { (yyval.s) = mksnode(3,S_PFDEF,(yyvsp[(1) - (8)].p),(yyvsp[(3) - (8)].n),(yyvsp[(7) - (8)].f)); NOPR; }
                   2075:     break;
                   2076:
                   2077:   case 27:
                   2078:
                   2079: /* Line 1455 of yacc.c  */
                   2080: #line 176 "parse.y"
                   2081:     { (yyval.s) = mksnode(3,S_PFDEF,(yyvsp[(2) - (6)].p),(yyvsp[(4) - (6)].n),NULLP); NOPR; }
                   2082:     break;
                   2083:
                   2084:   case 28:
                   2085:
                   2086: /* Line 1455 of yacc.c  */
                   2087: #line 177 "parse.y"
                   2088:     { mkpvs((yyvsp[(2) - (2)].p)); }
                   2089:     break;
                   2090:
                   2091:   case 29:
                   2092:
                   2093: /* Line 1455 of yacc.c  */
                   2094: #line 177 "parse.y"
                   2095:     { ldef = 1; }
                   2096:     break;
                   2097:
                   2098:   case 30:
                   2099:
                   2100: /* Line 1455 of yacc.c  */
                   2101: #line 177 "parse.y"
                   2102:     { ldef = -1; }
                   2103:     break;
                   2104:
                   2105:   case 31:
                   2106:
                   2107: /* Line 1455 of yacc.c  */
                   2108: #line 178 "parse.y"
                   2109:     {
                   2110:         mkuf((yyvsp[(2) - (12)].p),asir_infile->name,(yyvsp[(6) - (12)].n),
                   2111:           mksnode(1,S_CPLX,(yyvsp[(11) - (12)].n)),(yyvsp[(1) - (12)].i),asir_infile->ln,(yyvsp[(9) - (12)].p),CUR_MODULE);
                   2112:         (yyval.s) = 0; NOPR;
                   2113:       }
                   2114:     break;
                   2115:
                   2116:   case 32:
                   2117:
                   2118: /* Line 1455 of yacc.c  */
                   2119: #line 184 "parse.y"
                   2120:     {
                   2121:         CUR_MODULE = mkmodule((yyvsp[(2) - (3)].p));
                   2122:         MPVS = CUR_MODULE->pvs;
                   2123:         (yyval.s) = mksnode(1,S_MODULE,CUR_MODULE); NOPR;
                   2124:       }
                   2125:     break;
                   2126:
                   2127:   case 33:
                   2128:
                   2129: /* Line 1455 of yacc.c  */
                   2130: #line 190 "parse.y"
                   2131:     { CUR_MODULE = 0; MPVS = 0; (yyval.s) = mksnode(1,S_MODULE,NULLP); NOPR; }
                   2132:     break;
                   2133:
                   2134:   case 34:
                   2135:
                   2136: /* Line 1455 of yacc.c  */
                   2137: #line 192 "parse.y"
                   2138:     { yyerrok; (yyval.s) = 0; }
                   2139:     break;
                   2140:
                   2141:   case 35:
                   2142:
                   2143: /* Line 1455 of yacc.c  */
                   2144: #line 195 "parse.y"
                   2145:     { if ( main_parser ) prresult = 1; }
                   2146:     break;
                   2147:
                   2148:   case 36:
                   2149:
                   2150: /* Line 1455 of yacc.c  */
                   2151: #line 197 "parse.y"
                   2152:     { if ( main_parser ) prresult = 0; }
                   2153:     break;
                   2154:
                   2155:   case 37:
                   2156:
                   2157: /* Line 1455 of yacc.c  */
                   2158: #line 200 "parse.y"
                   2159:     { (yyval.p) = 0; }
                   2160:     break;
                   2161:
                   2162:   case 38:
                   2163:
                   2164: /* Line 1455 of yacc.c  */
                   2165: #line 202 "parse.y"
                   2166:     { (yyval.p) = (yyvsp[(1) - (1)].p); }
                   2167:     break;
                   2168:
                   2169:   case 39:
                   2170:
                   2171: /* Line 1455 of yacc.c  */
                   2172: #line 205 "parse.y"
                   2173:     { (yyval.s) = mksnode(1,S_CPLX,(yyvsp[(2) - (3)].n)); }
                   2174:     break;
                   2175:
                   2176:   case 40:
                   2177:
                   2178: /* Line 1455 of yacc.c  */
                   2179: #line 208 "parse.y"
                   2180:     { MKNODE((yyval.n),(yyvsp[(1) - (1)].p),0); }
                   2181:     break;
                   2182:
                   2183:   case 41:
                   2184:
                   2185: /* Line 1455 of yacc.c  */
                   2186: #line 210 "parse.y"
                   2187:     { appendtonode((yyvsp[(1) - (3)].n),(yyvsp[(3) - (3)].p),&(yyval.n)); }
                   2188:     break;
                   2189:
                   2190:   case 42:
                   2191:
                   2192: /* Line 1455 of yacc.c  */
                   2193: #line 213 "parse.y"
                   2194:     { MKNODE((yyval.n),(yyvsp[(1) - (1)].p),0); }
                   2195:     break;
                   2196:
                   2197:   case 43:
                   2198:
                   2199: /* Line 1455 of yacc.c  */
                   2200: #line 215 "parse.y"
                   2201:     { appendtonode((yyvsp[(1) - (3)].n),(yyvsp[(3) - (3)].p),&(yyval.n)); }
                   2202:     break;
                   2203:
                   2204:   case 44:
                   2205:
                   2206: /* Line 1455 of yacc.c  */
                   2207: #line 218 "parse.y"
                   2208:     { val = (pointer)makepvar((yyvsp[(1) - (1)].p)); MKNODE((yyval.n),val,0); }
                   2209:     break;
                   2210:
                   2211:   case 45:
                   2212:
                   2213: /* Line 1455 of yacc.c  */
                   2214: #line 220 "parse.y"
                   2215:     { appendtonode((yyvsp[(1) - (3)].n),(pointer)makepvar((yyvsp[(3) - (3)].p)),&(yyval.n)); }
                   2216:     break;
                   2217:
                   2218:   case 46:
                   2219:
                   2220: /* Line 1455 of yacc.c  */
                   2221: #line 223 "parse.y"
                   2222:     { (yyval.n) = 0; }
                   2223:     break;
                   2224:
                   2225:   case 47:
                   2226:
                   2227: /* Line 1455 of yacc.c  */
                   2228: #line 225 "parse.y"
                   2229:     { appendtonode((yyvsp[(1) - (2)].n),(pointer)(yyvsp[(2) - (2)].s),&(yyval.n)); }
                   2230:     break;
                   2231:
                   2232:   case 48:
                   2233:
                   2234: /* Line 1455 of yacc.c  */
                   2235: #line 228 "parse.y"
                   2236:     { (yyval.n) = 0; }
                   2237:     break;
                   2238:
                   2239:   case 49:
                   2240:
                   2241: /* Line 1455 of yacc.c  */
                   2242: #line 230 "parse.y"
                   2243:     { (yyval.n) = (yyvsp[(1) - (1)].n); }
                   2244:     break;
                   2245:
                   2246:   case 50:
                   2247:
                   2248: /* Line 1455 of yacc.c  */
                   2249: #line 233 "parse.y"
                   2250:     { MKNODE((yyval.n),(yyvsp[(1) - (1)].f),0); }
                   2251:     break;
                   2252:
                   2253:   case 51:
                   2254:
                   2255: /* Line 1455 of yacc.c  */
                   2256: #line 235 "parse.y"
                   2257:     { appendtonode((yyvsp[(1) - (3)].n),(pointer)(yyvsp[(3) - (3)].f),&(yyval.n)); }
                   2258:     break;
                   2259:
                   2260:   case 52:
                   2261:
                   2262: /* Line 1455 of yacc.c  */
                   2263: #line 238 "parse.y"
                   2264:     { MKNODE((yyval.n),(yyvsp[(1) - (1)].f),0); }
                   2265:     break;
                   2266:
                   2267:   case 53:
                   2268:
                   2269: /* Line 1455 of yacc.c  */
                   2270: #line 240 "parse.y"
                   2271:     { appendtonode((yyvsp[(1) - (3)].n),(pointer)(yyvsp[(3) - (3)].f),&(yyval.n)); }
                   2272:     break;
                   2273:
                   2274:   case 54:
                   2275:
                   2276: /* Line 1455 of yacc.c  */
                   2277: #line 243 "parse.y"
                   2278:     { (yyval.p) = (yyvsp[(1) - (1)].p); }
                   2279:     break;
                   2280:
                   2281:   case 55:
                   2282:
                   2283: /* Line 1455 of yacc.c  */
                   2284: #line 245 "parse.y"
                   2285:     { (yyval.p) = (yyvsp[(1) - (1)].p); }
                   2286:     break;
                   2287:
                   2288:   case 56:
                   2289:
                   2290: /* Line 1455 of yacc.c  */
                   2291: #line 248 "parse.y"
                   2292:     { (yyval.f) = mkfnode(2,I_OPT,(yyvsp[(1) - (3)].p),(yyvsp[(3) - (3)].f)); }
                   2293:     break;
                   2294:
                   2295:   case 57:
                   2296:
                   2297: /* Line 1455 of yacc.c  */
                   2298: #line 251 "parse.y"
                   2299:     { (yyval.f) = mkfnode(1,I_STR,(yyvsp[(1) - (1)].p)); }
                   2300:     break;
                   2301:
                   2302:   case 58:
                   2303:
                   2304: /* Line 1455 of yacc.c  */
                   2305: #line 253 "parse.y"
                   2306:     { (yyval.f) = mkfnode(1,I_FORMULA,(yyvsp[(1) - (1)].p)); }
                   2307:     break;
                   2308:
                   2309:   case 59:
                   2310:
                   2311: /* Line 1455 of yacc.c  */
                   2312: #line 255 "parse.y"
                   2313:     { (yyval.f) = mkfnode(1,I_ANS,(yyvsp[(1) - (1)].i)); }
                   2314:     break;
                   2315:
                   2316:   case 60:
                   2317:
                   2318: /* Line 1455 of yacc.c  */
                   2319: #line 257 "parse.y"
                   2320:     { (yyval.f) = mkfnode(0,I_GF2NGEN); }
                   2321:     break;
                   2322:
                   2323:   case 61:
                   2324:
                   2325: /* Line 1455 of yacc.c  */
                   2326: #line 259 "parse.y"
                   2327:     { (yyval.f) = mkfnode(0,I_GFPNGEN); }
                   2328:     break;
                   2329:
                   2330:   case 62:
                   2331:
                   2332: /* Line 1455 of yacc.c  */
                   2333: #line 261 "parse.y"
                   2334:     { (yyval.f) = mkfnode(0,I_GFSNGEN); }
                   2335:     break;
                   2336:
                   2337:   case 63:
                   2338:
                   2339: /* Line 1455 of yacc.c  */
                   2340: #line 263 "parse.y"
                   2341:     {
                   2342:         FUNC f;
                   2343:
                   2344:         searchf(noargsysf,(yyvsp[(1) - (1)].p),&f);
                   2345:         if ( f )
                   2346:            (yyval.f) = mkfnode(2,I_FUNC,f,NULLP);
                   2347:         else {
                   2348:           searchc((yyvsp[(1) - (1)].p),&f);
                   2349:           if ( f )
                   2350:             (yyval.f) = mkfnode(2,I_FUNC,f,mkfnode(1,I_LIST,NULLP));
                   2351:           else {
1.2     ! ohara    2352:             gen_searchf_searchonly((yyvsp[(1) - (1)].p),(FUNC *)&f,1);
1.1       noro     2353:             if ( f )
                   2354:               makesrvar(f,(P *)&val);
                   2355:             else
                   2356:               makevar((yyvsp[(1) - (1)].p),(P *)&val);
                   2357:             (yyval.f) = mkfnode(1,I_FORMULA,val);
                   2358:           }
                   2359:         }
                   2360:       }
                   2361:     break;
                   2362:
                   2363:   case 64:
                   2364:
                   2365: /* Line 1455 of yacc.c  */
                   2366: #line 284 "parse.y"
                   2367:     {
                   2368:         gen_searchf((yyvsp[(1) - (4)].p),(FUNC *)&val);
                   2369:         print_crossref(val);
                   2370:         (yyval.f) = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,(yyvsp[(3) - (4)].n)));
                   2371:       }
                   2372:     break;
                   2373:
                   2374:   case 65:
                   2375:
                   2376: /* Line 1455 of yacc.c  */
                   2377: #line 291 "parse.y"
                   2378:     {
                   2379:         gen_searchf((yyvsp[(1) - (6)].p),(FUNC *)&val);
                   2380:         print_crossref(val);
                   2381:         (yyval.f) = mkfnode(3,I_FUNC_OPT,val,
                   2382:           mkfnode(1,I_LIST,(yyvsp[(3) - (6)].n)),mkfnode(1,I_LIST,(yyvsp[(5) - (6)].n)));
                   2383:       }
                   2384:     break;
                   2385:
                   2386:   case 66:
                   2387:
                   2388: /* Line 1455 of yacc.c  */
                   2389: #line 298 "parse.y"
                   2390:     {
                   2391:         gen_searchf((yyvsp[(3) - (6)].p),(FUNC *)&val);
                   2392:         print_crossref(val);
                   2393:         (yyval.f) = mkfnode(2,I_MAP,val,mkfnode(1,I_LIST,(yyvsp[(5) - (6)].n)));
                   2394:       }
                   2395:     break;
                   2396:
                   2397:   case 67:
                   2398:
                   2399: /* Line 1455 of yacc.c  */
                   2400: #line 304 "parse.y"
                   2401:     {
                   2402:         gen_searchf((yyvsp[(3) - (6)].p),(FUNC *)&val);
                   2403:         print_crossref(val);
                   2404:         (yyval.f) = mkfnode(2,I_RECMAP,val,mkfnode(1,I_LIST,(yyvsp[(5) - (6)].n)));
                   2405:       }
                   2406:     break;
                   2407:
                   2408:   case 68:
                   2409:
                   2410: /* Line 1455 of yacc.c  */
                   2411: #line 310 "parse.y"
                   2412:     {
                   2413:         searchpf((yyvsp[(1) - (7)].p),(FUNC *)&val);
                   2414:         (yyval.f) = mkfnode(3,I_PFDERIV,val,mkfnode(1,I_LIST,(yyvsp[(6) - (7)].n)),mkfnode(1,I_LIST,(yyvsp[(3) - (7)].n)));
                   2415:       }
                   2416:     break;
                   2417:
                   2418:   case 69:
                   2419:
                   2420: /* Line 1455 of yacc.c  */
                   2421: #line 315 "parse.y"
                   2422:     {
                   2423:         (yyval.f) = mkfnode(2,I_GETOPT,(yyvsp[(3) - (4)].p));
                   2424:       }
                   2425:     break;
                   2426:
                   2427:   case 70:
                   2428:
                   2429: /* Line 1455 of yacc.c  */
                   2430: #line 319 "parse.y"
                   2431:     {
                   2432:         (yyval.f) = mkfnode(2,I_GETOPT,NULLP);
                   2433:       }
                   2434:     break;
                   2435:
                   2436:   case 71:
                   2437:
                   2438: /* Line 1455 of yacc.c  */
                   2439: #line 323 "parse.y"
                   2440:     {
                   2441:         (yyval.f) = mkfnode(3,I_TIMER,(yyvsp[(3) - (8)].f),(yyvsp[(5) - (8)].f),(yyvsp[(7) - (8)].f));
                   2442:       }
                   2443:     break;
                   2444:
                   2445:   case 72:
                   2446:
                   2447: /* Line 1455 of yacc.c  */
                   2448: #line 327 "parse.y"
                   2449:     {
                   2450:         searchf(parif,(yyvsp[(3) - (4)].p),(FUNC *)&val);
                   2451:         if ( !val )
                   2452:           mkparif((yyvsp[(3) - (4)].p),(FUNC *)&val);
                   2453:         (yyval.f) = mkfnode(2,I_FUNC,val,NULLP);
                   2454:       }
                   2455:     break;
                   2456:
                   2457:   case 73:
                   2458:
                   2459: /* Line 1455 of yacc.c  */
                   2460: #line 334 "parse.y"
                   2461:     {
                   2462:         searchf(parif,(yyvsp[(3) - (6)].p),(FUNC *)&val);
                   2463:         if ( !val )
                   2464:           mkparif((yyvsp[(3) - (6)].p),(FUNC *)&val);
                   2465:         (yyval.f) = mkfnode(2,I_FUNC,val,mkfnode(1,I_LIST,(yyvsp[(5) - (6)].n)));
                   2466:       }
                   2467:     break;
                   2468:
                   2469:   case 74:
                   2470:
                   2471: /* Line 1455 of yacc.c  */
                   2472: #line 341 "parse.y"
                   2473:     {
                   2474:         (yyval.f) = mkfnode(2,I_IFUNC,(yyvsp[(3) - (7)].f),mkfnode(1,I_LIST,(yyvsp[(6) - (7)].n)),NULLP);
                   2475:       }
                   2476:     break;
                   2477:
                   2478:   case 75:
                   2479:
                   2480: /* Line 1455 of yacc.c  */
                   2481: #line 345 "parse.y"
                   2482:     {
                   2483:         (yyval.f) = mkfnode(3,I_IFUNC,(yyvsp[(3) - (9)].f),mkfnode(1,I_LIST,(yyvsp[(6) - (9)].n)),
                   2484:           mkfnode(1,I_LIST,(yyvsp[(8) - (9)].n)));
                   2485:       }
                   2486:     break;
                   2487:
                   2488:   case 76:
                   2489:
                   2490: /* Line 1455 of yacc.c  */
                   2491: #line 350 "parse.y"
                   2492:     {
                   2493:         if ( main_parser || allow_create_var )
                   2494:           t = mkfnode(2,I_PVAR,makepvar((yyvsp[(1) - (4)].p)),NULLP);
                   2495:         else {
                   2496:           ind = searchpvar((yyvsp[(1) - (4)].p));
                   2497:           if ( ind == -1 ) {
                   2498:             fprintf(stderr,"%s : no such variable.\n",(yyvsp[(1) - (4)].p));
                   2499:             YYABORT;
                   2500:           } else
                   2501:             t = mkfnode(2,I_PVAR,ind,NULLP);
                   2502:         }
                   2503:         (yyval.f) = mkfnode(2,I_IFUNC,t,mkfnode(1,I_LIST,(yyvsp[(3) - (4)].n)));
                   2504:       }
                   2505:     break;
                   2506:
                   2507:   case 77:
                   2508:
                   2509: /* Line 1455 of yacc.c  */
                   2510: #line 364 "parse.y"
                   2511:     { (yyval.f) = mkfnode(1,I_CAR,(yyvsp[(3) - (4)].f)); }
                   2512:     break;
                   2513:
                   2514:   case 78:
                   2515:
                   2516: /* Line 1455 of yacc.c  */
                   2517: #line 366 "parse.y"
                   2518:     { (yyval.f) = mkfnode(1,I_CDR,(yyvsp[(3) - (4)].f)); }
                   2519:     break;
                   2520:
                   2521:   case 79:
                   2522:
                   2523: /* Line 1455 of yacc.c  */
                   2524: #line 368 "parse.y"
                   2525:     { (yyval.f) = mkfnode(1,I_PAREN,(yyvsp[(2) - (3)].f)); }
                   2526:     break;
                   2527:
                   2528:   case 80:
                   2529:
                   2530: /* Line 1455 of yacc.c  */
                   2531: #line 370 "parse.y"
                   2532:     {
                   2533:         if ( main_parser || allow_create_var )
                   2534:           (yyval.f) = mkfnode(2,I_PVAR,makepvar((yyvsp[(1) - (1)].p)),NULLP);
                   2535:         else {
                   2536:           ind = searchpvar((yyvsp[(1) - (1)].p));
                   2537:           if ( ind == -1 ) {
                   2538:             fprintf(stderr,"%s : no such variable.\n",(yyvsp[(1) - (1)].p));
                   2539:             YYABORT;
                   2540:           } else
                   2541:             (yyval.f) = mkfnode(2,I_PVAR,ind,NULLP);
                   2542:         }
                   2543:       }
                   2544:     break;
                   2545:
                   2546:   case 81:
                   2547:
                   2548: /* Line 1455 of yacc.c  */
                   2549: #line 383 "parse.y"
                   2550:     {
                   2551:         if ( (yyvsp[(1) - (4)].f)->id == I_PVAR || (yyvsp[(1) - (4)].f)->id == I_INDEX ) {
                   2552:           appendtonode((NODE)(yyvsp[(1) - (4)].f)->arg[1],(pointer)(yyvsp[(3) - (4)].f),&a);
                   2553:           (yyvsp[(1) - (4)].f)->arg[1] = (pointer)a; (yyval.f) = (yyvsp[(1) - (4)].f);
                   2554:         } else {
                   2555:           MKNODE(a,(yyvsp[(3) - (4)].f),0);
                   2556:           (yyval.f) = mkfnode(2,I_INDEX,(pointer)(yyvsp[(1) - (4)].f),a);
                   2557:         }
                   2558:       }
                   2559:     break;
                   2560:
                   2561:   case 82:
                   2562:
                   2563: /* Line 1455 of yacc.c  */
                   2564: #line 393 "parse.y"
                   2565:     { (yyval.f) = mkfnode(2,I_POINT,(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].p)); }
                   2566:     break;
                   2567:
                   2568:   case 83:
                   2569:
                   2570: /* Line 1455 of yacc.c  */
                   2571: #line 396 "parse.y"
                   2572:     { (yyval.f) = (yyvsp[(1) - (1)].f); }
                   2573:     break;
                   2574:
                   2575:   case 84:
                   2576:
                   2577: /* Line 1455 of yacc.c  */
                   2578: #line 398 "parse.y"
                   2579:     { (yyval.f) = mkfnode(3,I_CAST,structtoindex((yyvsp[(3) - (5)].p)),(yyvsp[(5) - (5)].f),NULLP); }
                   2580:     break;
                   2581:
                   2582:   case 85:
                   2583:
                   2584: /* Line 1455 of yacc.c  */
                   2585: #line 400 "parse.y"
                   2586:     { (yyval.f) = mkfnode(2,I_ASSPVAR,(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2587:     break;
                   2588:
                   2589:   case 86:
                   2590:
                   2591: /* Line 1455 of yacc.c  */
                   2592: #line 402 "parse.y"
                   2593:     { (yyval.f) = mkfnode(2,I_ASSPVAR,(yyvsp[(1) - (3)].f),mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f))); }
                   2594:     break;
                   2595:
                   2596:   case 87:
                   2597:
                   2598: /* Line 1455 of yacc.c  */
                   2599: #line 404 "parse.y"
                   2600:     { (yyval.f) = mkfnode(2,I_POSTSELF,(yyvsp[(2) - (2)].p),(yyvsp[(1) - (2)].f)); }
                   2601:     break;
                   2602:
                   2603:   case 88:
                   2604:
                   2605: /* Line 1455 of yacc.c  */
                   2606: #line 406 "parse.y"
                   2607:     { (yyval.f) = mkfnode(2,I_PRESELF,(yyvsp[(1) - (2)].p),(yyvsp[(2) - (2)].f)); }
                   2608:     break;
                   2609:
                   2610:   case 89:
                   2611:
                   2612: /* Line 1455 of yacc.c  */
                   2613: #line 408 "parse.y"
                   2614:     { (yyval.f) = mkfnode(1,I_LIST,(yyvsp[(2) - (3)].n)); }
                   2615:     break;
                   2616:
                   2617:   case 90:
                   2618:
                   2619: /* Line 1455 of yacc.c  */
                   2620: #line 410 "parse.y"
                   2621:     { (yyval.f) = (yyvsp[(2) - (2)].f); }
                   2622:     break;
                   2623:
                   2624:   case 91:
                   2625:
                   2626: /* Line 1455 of yacc.c  */
                   2627: #line 412 "parse.y"
                   2628:     { (yyval.f) = mkfnode(1,I_MINUS,(yyvsp[(2) - (2)].f)); }
                   2629:     break;
                   2630:
                   2631:   case 92:
                   2632:
                   2633: /* Line 1455 of yacc.c  */
                   2634: #line 414 "parse.y"
                   2635:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2636:     break;
                   2637:
                   2638:   case 93:
                   2639:
                   2640: /* Line 1455 of yacc.c  */
                   2641: #line 416 "parse.y"
                   2642:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2643:     break;
                   2644:
                   2645:   case 94:
                   2646:
                   2647: /* Line 1455 of yacc.c  */
                   2648: #line 418 "parse.y"
                   2649:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2650:     break;
                   2651:
                   2652:   case 95:
                   2653:
                   2654: /* Line 1455 of yacc.c  */
                   2655: #line 420 "parse.y"
                   2656:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2657:     break;
                   2658:
                   2659:   case 96:
                   2660:
                   2661: /* Line 1455 of yacc.c  */
                   2662: #line 422 "parse.y"
                   2663:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2664:     break;
                   2665:
                   2666:   case 97:
                   2667:
                   2668: /* Line 1455 of yacc.c  */
                   2669: #line 424 "parse.y"
                   2670:     { (yyval.f) = mkfnode(3,I_BOP,(yyvsp[(2) - (3)].p),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2671:     break;
                   2672:
                   2673:   case 98:
                   2674:
                   2675: /* Line 1455 of yacc.c  */
                   2676: #line 426 "parse.y"
                   2677:     { (yyval.f) = mkfnode(3,I_COP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2678:     break;
                   2679:
                   2680:   case 99:
                   2681:
                   2682: /* Line 1455 of yacc.c  */
                   2683: #line 428 "parse.y"
                   2684:     { (yyval.f) = mkfnode(1,I_NOT,(yyvsp[(2) - (2)].f)); }
                   2685:     break;
                   2686:
                   2687:   case 100:
                   2688:
                   2689: /* Line 1455 of yacc.c  */
                   2690: #line 430 "parse.y"
                   2691:     { (yyval.f) = mkfnode(2,I_OR,(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2692:     break;
                   2693:
                   2694:   case 101:
                   2695:
                   2696: /* Line 1455 of yacc.c  */
                   2697: #line 432 "parse.y"
                   2698:     { (yyval.f) = mkfnode(2,I_AND,(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2699:     break;
                   2700:
                   2701:   case 102:
                   2702:
                   2703: /* Line 1455 of yacc.c  */
                   2704: #line 434 "parse.y"
                   2705:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(1) - (2)].i),(yyvsp[(2) - (2)].f),NULLP); }
                   2706:     break;
                   2707:
                   2708:   case 103:
                   2709:
                   2710: /* Line 1455 of yacc.c  */
                   2711: #line 436 "parse.y"
                   2712:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2713:     break;
                   2714:
                   2715:   case 104:
                   2716:
                   2717: /* Line 1455 of yacc.c  */
                   2718: #line 438 "parse.y"
                   2719:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2720:     break;
                   2721:
                   2722:   case 105:
                   2723:
                   2724: /* Line 1455 of yacc.c  */
                   2725: #line 440 "parse.y"
                   2726:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2727:     break;
                   2728:
                   2729:   case 106:
                   2730:
                   2731: /* Line 1455 of yacc.c  */
                   2732: #line 442 "parse.y"
                   2733:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2734:     break;
                   2735:
                   2736:   case 107:
                   2737:
                   2738: /* Line 1455 of yacc.c  */
                   2739: #line 444 "parse.y"
                   2740:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2741:     break;
                   2742:
                   2743:   case 108:
                   2744:
                   2745: /* Line 1455 of yacc.c  */
                   2746: #line 446 "parse.y"
                   2747:     { (yyval.f) = mkfnode(3,I_LOP,(yyvsp[(2) - (3)].i),(yyvsp[(1) - (3)].f),(yyvsp[(3) - (3)].f)); }
                   2748:     break;
                   2749:
                   2750:   case 109:
                   2751:
                   2752: /* Line 1455 of yacc.c  */
                   2753: #line 448 "parse.y"
                   2754:     { (yyval.f) = mkfnode(3,I_CE,(yyvsp[(1) - (5)].f),(yyvsp[(3) - (5)].f),(yyvsp[(5) - (5)].f)); }
                   2755:     break;
                   2756:
                   2757:   case 110:
                   2758:
                   2759: /* Line 1455 of yacc.c  */
                   2760: #line 450 "parse.y"
                   2761:     { (yyval.f) = mkfnode(1,I_EV,(yyvsp[(2) - (3)].n)); }
                   2762:     break;
                   2763:
                   2764:   case 111:
                   2765:
                   2766: /* Line 1455 of yacc.c  */
                   2767: #line 452 "parse.y"
                   2768:     { (yyval.f) = mkfnode(1,I_NEWCOMP,(int)structtoindex((yyvsp[(3) - (4)].p))); }
                   2769:     break;
                   2770:
                   2771:   case 112:
                   2772:
                   2773: /* Line 1455 of yacc.c  */
                   2774: #line 454 "parse.y"
                   2775:     { MKQUOTE(quote,(yyvsp[(3) - (4)].f)); (yyval.f) = mkfnode(1,I_FORMULA,(pointer)quote); }
                   2776:     break;
                   2777:
                   2778:   case 113:
                   2779:
                   2780: /* Line 1455 of yacc.c  */
                   2781: #line 456 "parse.y"
                   2782:     { (yyval.f) = mkfnode(2,I_CONS,(yyvsp[(2) - (5)].n),(yyvsp[(4) - (5)].f)); }
                   2783:     break;
                   2784:
                   2785:   case 114:
                   2786:
                   2787: /* Line 1455 of yacc.c  */
                   2788: #line 458 "parse.y"
                   2789:     { MKQUOTE(quote,(yyvsp[(2) - (2)].f)); (yyval.f) = mkfnode(1,I_FORMULA,(pointer)quote); }
                   2790:     break;
                   2791:
                   2792:
                   2793:
                   2794: /* Line 1455 of yacc.c  */
                   2795: #line 2796 "y.tab.c"
                   2796:       default: break;
                   2797:     }
                   2798:   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
                   2799:
                   2800:   YYPOPSTACK (yylen);
                   2801:   yylen = 0;
                   2802:   YY_STACK_PRINT (yyss, yyssp);
                   2803:
                   2804:   *++yyvsp = yyval;
                   2805:
                   2806:   /* Now `shift' the result of the reduction.  Determine what state
                   2807:      that goes to, based on the state we popped back to and the rule
                   2808:      number reduced by.  */
                   2809:
                   2810:   yyn = yyr1[yyn];
                   2811:
                   2812:   yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
                   2813:   if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   2814:     yystate = yytable[yystate];
                   2815:   else
                   2816:     yystate = yydefgoto[yyn - YYNTOKENS];
                   2817:
                   2818:   goto yynewstate;
                   2819:
                   2820:
                   2821: /*------------------------------------.
                   2822: | yyerrlab -- here on detecting error |
                   2823: `------------------------------------*/
                   2824: yyerrlab:
                   2825:   /* If not already recovering from an error, report this error.  */
                   2826:   if (!yyerrstatus)
                   2827:     {
                   2828:       ++yynerrs;
                   2829: #if ! YYERROR_VERBOSE
                   2830:       yyerror (YY_("syntax error"));
                   2831: #else
                   2832:       {
                   2833:   YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
                   2834:   if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
                   2835:     {
                   2836:       YYSIZE_T yyalloc = 2 * yysize;
                   2837:       if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
                   2838:         yyalloc = YYSTACK_ALLOC_MAXIMUM;
                   2839:       if (yymsg != yymsgbuf)
                   2840:         YYSTACK_FREE (yymsg);
                   2841:       yymsg = (char *) YYSTACK_ALLOC (yyalloc);
                   2842:       if (yymsg)
                   2843:         yymsg_alloc = yyalloc;
                   2844:       else
                   2845:         {
                   2846:     yymsg = yymsgbuf;
                   2847:     yymsg_alloc = sizeof yymsgbuf;
                   2848:         }
                   2849:     }
                   2850:
                   2851:   if (0 < yysize && yysize <= yymsg_alloc)
                   2852:     {
                   2853:       (void) yysyntax_error (yymsg, yystate, yychar);
                   2854:       yyerror (yymsg);
                   2855:     }
                   2856:   else
                   2857:     {
                   2858:       yyerror (YY_("syntax error"));
                   2859:       if (yysize != 0)
                   2860:         goto yyexhaustedlab;
                   2861:     }
                   2862:       }
                   2863: #endif
                   2864:     }
                   2865:
                   2866:
                   2867:
                   2868:   if (yyerrstatus == 3)
                   2869:     {
                   2870:       /* If just tried and failed to reuse lookahead token after an
                   2871:    error, discard it.  */
                   2872:
                   2873:       if (yychar <= YYEOF)
                   2874:   {
                   2875:     /* Return failure if at end of input.  */
                   2876:     if (yychar == YYEOF)
                   2877:       YYABORT;
                   2878:   }
                   2879:       else
                   2880:   {
                   2881:     yydestruct ("Error: discarding",
                   2882:           yytoken, &yylval);
                   2883:     yychar = YYEMPTY;
                   2884:   }
                   2885:     }
                   2886:
                   2887:   /* Else will try to reuse lookahead token after shifting the error
                   2888:      token.  */
                   2889:   goto yyerrlab1;
                   2890:
                   2891:
                   2892: /*---------------------------------------------------.
                   2893: | yyerrorlab -- error raised explicitly by YYERROR.  |
                   2894: `---------------------------------------------------*/
                   2895: yyerrorlab:
                   2896:
                   2897:   /* Pacify compilers like GCC when the user code never invokes
                   2898:      YYERROR and the label yyerrorlab therefore never appears in user
                   2899:      code.  */
                   2900:   if (/*CONSTCOND*/ 0)
                   2901:      goto yyerrorlab;
                   2902:
                   2903:   /* Do not reclaim the symbols of the rule which action triggered
                   2904:      this YYERROR.  */
                   2905:   YYPOPSTACK (yylen);
                   2906:   yylen = 0;
                   2907:   YY_STACK_PRINT (yyss, yyssp);
                   2908:   yystate = *yyssp;
                   2909:   goto yyerrlab1;
                   2910:
                   2911:
                   2912: /*-------------------------------------------------------------.
                   2913: | yyerrlab1 -- common code for both syntax error and YYERROR.  |
                   2914: `-------------------------------------------------------------*/
                   2915: yyerrlab1:
                   2916:   yyerrstatus = 3;  /* Each real token shifted decrements this.  */
                   2917:
                   2918:   for (;;)
                   2919:     {
                   2920:       yyn = yypact[yystate];
                   2921:       if (yyn != YYPACT_NINF)
                   2922:   {
                   2923:     yyn += YYTERROR;
                   2924:     if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
                   2925:       {
                   2926:         yyn = yytable[yyn];
                   2927:         if (0 < yyn)
                   2928:     break;
                   2929:       }
                   2930:   }
                   2931:
                   2932:       /* Pop the current state because it cannot handle the error token.  */
                   2933:       if (yyssp == yyss)
                   2934:   YYABORT;
                   2935:
                   2936:
                   2937:       yydestruct ("Error: popping",
                   2938:       yystos[yystate], yyvsp);
                   2939:       YYPOPSTACK (1);
                   2940:       yystate = *yyssp;
                   2941:       YY_STACK_PRINT (yyss, yyssp);
                   2942:     }
                   2943:
                   2944:   *++yyvsp = yylval;
                   2945:
                   2946:
                   2947:   /* Shift the error token.  */
                   2948:   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
                   2949:
                   2950:   yystate = yyn;
                   2951:   goto yynewstate;
                   2952:
                   2953:
                   2954: /*-------------------------------------.
                   2955: | yyacceptlab -- YYACCEPT comes here.  |
                   2956: `-------------------------------------*/
                   2957: yyacceptlab:
                   2958:   yyresult = 0;
                   2959:   goto yyreturn;
                   2960:
                   2961: /*-----------------------------------.
                   2962: | yyabortlab -- YYABORT comes here.  |
                   2963: `-----------------------------------*/
                   2964: yyabortlab:
                   2965:   yyresult = 1;
                   2966:   goto yyreturn;
                   2967:
                   2968: #if !defined(yyoverflow) || YYERROR_VERBOSE
                   2969: /*-------------------------------------------------.
                   2970: | yyexhaustedlab -- memory exhaustion comes here.  |
                   2971: `-------------------------------------------------*/
                   2972: yyexhaustedlab:
                   2973:   yyerror (YY_("memory exhausted"));
                   2974:   yyresult = 2;
                   2975:   /* Fall through.  */
                   2976: #endif
                   2977:
                   2978: yyreturn:
                   2979:   if (yychar != YYEMPTY)
                   2980:      yydestruct ("Cleanup: discarding lookahead",
                   2981:      yytoken, &yylval);
                   2982:   /* Do not reclaim the symbols of the rule which action triggered
                   2983:      this YYABORT or YYACCEPT.  */
                   2984:   YYPOPSTACK (yylen);
                   2985:   YY_STACK_PRINT (yyss, yyssp);
                   2986:   while (yyssp != yyss)
                   2987:     {
                   2988:       yydestruct ("Cleanup: popping",
                   2989:       yystos[*yyssp], yyvsp);
                   2990:       YYPOPSTACK (1);
                   2991:     }
                   2992: #ifndef yyoverflow
                   2993:   if (yyss != yyssa)
                   2994:     YYSTACK_FREE (yyss);
                   2995: #endif
                   2996: #if YYERROR_VERBOSE
                   2997:   if (yymsg != yymsgbuf)
                   2998:     YYSTACK_FREE (yymsg);
                   2999: #endif
                   3000:   /* Make sure YYID is used.  */
                   3001:   return YYID (yyresult);
                   3002: }
                   3003:
                   3004:
                   3005:
                   3006: /* Line 1675 of yacc.c  */
                   3007: #line 460 "parse.y"
                   3008:
                   3009:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>