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