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

Annotation of OpenXM_contrib2/asir2000/parse/ytab.c, Revision 1.9

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

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