[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.3

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

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