]> andersk Git - splint.git/blame - src/llgrammar.c.der
*** empty log message ***
[splint.git] / src / llgrammar.c.der
CommitLineData
885824d3 1/*
2** Inserted at beginning of c files generated by bison
3** REMEMBER: Change bison.reset too.
4*/
5
6/*@-allmacros@*/
7/*@+boolint@*/
8/*@+charint@*/
9/*@-macroparams@*/
10/*@-macroundef@*/
11/*@-unreachable@*/
12/*@-macrospec@*/
13/*@-varuse@*/
14/*@+ignorequals@*/
15/*@-macrostmt@*/
16/*@-noeffect@*/
17/*@-shadow@*/
18/*@-exitarg@*/
19/*@-macroredef@*/
20/*@-uniondef@*/
21/*@-compdef@*/
22/*@-matchfields@*/
23/*@-exportlocal@*/
24/*@-evalorderuncon@*/
25/*@-exportheader@*/
26/*@-typeuse@*/
27/*@-redecl@*/
28/*@-redef@*/
29/*@-noparams@*/
30/*@-ansireserved@*/
31/*@-fielduse@*/
32/*@-ifblock@*/
33/*@-elseifcomplete@*/
34/*@-whileblock@*/
35/*@-forblock@*/
36/*@-branchstate@*/
37/*@-readonlytrans@*/
38/*@-namechecks@*/
39/*@-usedef@*/
40/*@-systemunrecog@*/
41/*@-dependenttrans@*/
42/*@-unqualifiedtrans@*/
43/*@-nullassign@*/
bb7c2085 44/*@-nullpass@*/
45/*@-nullptrarith*/
46/*@-usereleased@*/
c05aefaa 47/*@-declundef@*/
885824d3 48
c05aefaa 49/*drl added 11/27/2001*/
bb7c2085 50/*@-bounds@*/
e015e087 51
52/*drl added 12/11/2002*/
53/*@-type@*/
54
a9ec3280 55/*@-enummemuse@*/
56
885824d3 57/* < end of bison.head > */
58
08cf8642 59/* A Bison parser, made by GNU Bison 2.3. */
885824d3 60
08cf8642 61/* Skeleton implementation for Bison's Yacc-like parsers in C
885824d3 62
08cf8642 63 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
64 Free Software Foundation, Inc.
65
66 This program is free software; you can redistribute it and/or modify
67 it under the terms of the GNU General Public License as published by
68 the Free Software Foundation; either version 2, or (at your option)
69 any later version.
70
71 This program is distributed in the hope that it will be useful,
72 but WITHOUT ANY WARRANTY; without even the implied warranty of
73 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74 GNU General Public License for more details.
75
76 You should have received a copy of the GNU General Public License
77 along with this program; if not, write to the Free Software
78 Foundation, Inc., 51 Franklin Street, Fifth Floor,
79 Boston, MA 02110-1301, USA. */
80
81/* As a special exception, you may create a larger work that contains
82 part or all of the Bison parser skeleton and distribute that work
83 under terms of your choice, so long as that work isn't itself a
84 parser generator using the skeleton or a modified version thereof
85 as a parser skeleton. Alternatively, if you modify or redistribute
86 the parser skeleton itself, you may (at your option) remove this
87 special exception, which will cause the skeleton and the resulting
88 Bison output files to be licensed under the GNU General Public
89 License without this special exception.
90
91 This special exception was added by the Free Software Foundation in
92 version 2.2 of Bison. */
93
94/* C LALR(1) parser skeleton written by Richard Stallman, by
95 simplifying the original so-called "semantic" parser. */
96
97/* All symbols defined below should begin with yy or YY, to avoid
98 infringing on user name space. This should be done even for local
99 variables, as they might otherwise be expanded by user macros.
100 There are some unavoidable exceptions within include files to
101 define necessary library symbols; they are noted "INFRINGES ON
102 USER NAME SPACE" below. */
103
104/* Identify Bison output. */
105#define YYBISON 1
106
107/* Bison version. */
108#define YYBISON_VERSION "2.3"
109
110/* Skeleton name. */
111#define YYSKELETON_NAME "yacc.c"
112
113/* Pure parsers. */
114#define YYPURE 0
115
116/* Using locations. */
117#define YYLSP_NEEDED 0
118
119/* Substitute the variable and function names. */
885824d3 120#define yyparse ylparse
08cf8642 121#define yylex yllex
885824d3 122#define yyerror ylerror
08cf8642 123#define yylval yllval
124#define yychar ylchar
885824d3 125#define yydebug yldebug
126#define yynerrs ylnerrs
08cf8642 127
128
129/* Tokens. */
130#ifndef YYTOKENTYPE
131# define YYTOKENTYPE
132 /* Put the tokens into the symbol table, so that GDB and other debuggers
133 know about them. */
134 enum yytokentype {
135 simpleOp = 258,
136 PREFIX_OP = 259,
137 POSTFIX_OP = 260,
138 LLT_MULOP = 261,
139 LLT_SEMI = 262,
140 LLT_VERTICALBAR = 263,
141 ITERATION_OP = 264,
142 selectSym = 265,
143 LLT_LBRACKET = 266,
144 LLT_LPAR = 267,
145 LLT_IF_THEN_ELSE = 268,
146 logicalOp = 269,
147 eqSepSym = 270,
148 equationSym = 271,
149 commentSym = 272,
150 LLT_WHITESPACE = 273,
151 LLT_EOL = 274,
152 LLT_TYPEDEF_NAME = 275,
153 quantifierSym = 276,
154 openSym = 277,
155 closeSym = 278,
156 sepSym = 279,
157 simpleId = 280,
158 mapSym = 281,
159 markerSym = 282,
160 preSym = 283,
161 postSym = 284,
162 anySym = 285,
163 LLT_COLON = 286,
164 LLT_COMMA = 287,
165 LLT_EQUALS = 288,
166 LLT_LBRACE = 289,
167 LLT_RBRACE = 290,
168 LLT_RBRACKET = 291,
169 LLT_RPAR = 292,
170 LLT_QUOTE = 293,
171 eqOp = 294,
172 LLT_CCHAR = 295,
173 LLT_CFLOAT = 296,
174 LLT_CINTEGER = 297,
175 LLT_LCSTRING = 298,
176 LLT_ALL = 299,
177 LLT_ANYTHING = 300,
178 LLT_BE = 301,
179 LLT_BODY = 302,
180 LLT_CLAIMS = 303,
181 LLT_CHECKS = 304,
182 LLT_CONSTANT = 305,
183 LLT_ELSE = 306,
184 LLT_ENSURES = 307,
185 LLT_FOR = 308,
186 LLT_FRESH = 309,
187 LLT_IF = 310,
188 LLT_IMMUTABLE = 311,
189 LLT_IMPORTS = 312,
190 LLT_CONSTRAINT = 313,
191 LLT_ISSUB = 314,
192 LLT_LET = 315,
193 LLT_MODIFIES = 316,
194 LLT_MUTABLE = 317,
195 LLT_NOTHING = 318,
196 LLT_INTERNAL = 319,
197 LLT_FILESYS = 320,
198 LLT_OBJ = 321,
199 LLT_OUT = 322,
200 LLT_SEF = 323,
201 LLT_ONLY = 324,
202 LLT_PARTIAL = 325,
203 LLT_OWNED = 326,
204 LLT_DEPENDENT = 327,
205 LLT_KEEP = 328,
206 LLT_KEPT = 329,
207 LLT_TEMP = 330,
208 LLT_SHARED = 331,
209 LLT_UNIQUE = 332,
210 LLT_UNUSED = 333,
211 LLT_EXITS = 334,
212 LLT_MAYEXIT = 335,
213 LLT_NEVEREXIT = 336,
214 LLT_TRUEEXIT = 337,
215 LLT_FALSEEXIT = 338,
216 LLT_UNDEF = 339,
217 LLT_KILLED = 340,
218 LLT_CHECKMOD = 341,
219 LLT_CHECKED = 342,
220 LLT_UNCHECKED = 343,
221 LLT_CHECKEDSTRICT = 344,
222 LLT_TRUENULL = 345,
223 LLT_FALSENULL = 346,
224 LLT_LNULL = 347,
225 LLT_LNOTNULL = 348,
226 LLT_RETURNED = 349,
227 LLT_OBSERVER = 350,
228 LLT_EXPOSED = 351,
229 LLT_REFCOUNTED = 352,
230 LLT_REFS = 353,
231 LLT_RELNULL = 354,
232 LLT_RELDEF = 355,
233 LLT_KILLREF = 356,
234 LLT_NULLTERMINATED = 357,
235 LLT_TEMPREF = 358,
236 LLT_NEWREF = 359,
237 LLT_PRIVATE = 360,
238 LLT_REQUIRES = 361,
239 LLT_RESULT = 362,
240 LLT_SIZEOF = 363,
241 LLT_SPEC = 364,
242 LLT_TAGGEDUNION = 365,
243 LLT_THEN = 366,
244 LLT_TYPE = 367,
245 LLT_TYPEDEF = 368,
246 LLT_UNCHANGED = 369,
247 LLT_USES = 370,
248 LLT_CHAR = 371,
249 LLT_CONST = 372,
250 LLT_DOUBLE = 373,
251 LLT_ENUM = 374,
252 LLT_FLOAT = 375,
253 LLT_INT = 376,
254 LLT_ITER = 377,
255 LLT_YIELD = 378,
256 LLT_LONG = 379,
257 LLT_SHORT = 380,
258 LLT_SIGNED = 381,
259 LLT_UNKNOWN = 382,
260 LLT_STRUCT = 383,
261 LLT_TELIPSIS = 384,
262 LLT_UNION = 385,
263 LLT_UNSIGNED = 386,
264 LLT_VOID = 387,
265 LLT_VOLATILE = 388,
266 LLT_PRINTFLIKE = 389,
267 LLT_SCANFLIKE = 390,
268 LLT_MESSAGELIKE = 391
269 };
270#endif
271/* Tokens. */
272#define simpleOp 258
273#define PREFIX_OP 259
274#define POSTFIX_OP 260
275#define LLT_MULOP 261
276#define LLT_SEMI 262
277#define LLT_VERTICALBAR 263
278#define ITERATION_OP 264
279#define selectSym 265
280#define LLT_LBRACKET 266
281#define LLT_LPAR 267
282#define LLT_IF_THEN_ELSE 268
283#define logicalOp 269
284#define eqSepSym 270
285#define equationSym 271
286#define commentSym 272
287#define LLT_WHITESPACE 273
288#define LLT_EOL 274
289#define LLT_TYPEDEF_NAME 275
290#define quantifierSym 276
291#define openSym 277
292#define closeSym 278
293#define sepSym 279
294#define simpleId 280
295#define mapSym 281
296#define markerSym 282
297#define preSym 283
298#define postSym 284
299#define anySym 285
300#define LLT_COLON 286
301#define LLT_COMMA 287
302#define LLT_EQUALS 288
303#define LLT_LBRACE 289
304#define LLT_RBRACE 290
305#define LLT_RBRACKET 291
306#define LLT_RPAR 292
307#define LLT_QUOTE 293
308#define eqOp 294
309#define LLT_CCHAR 295
310#define LLT_CFLOAT 296
311#define LLT_CINTEGER 297
312#define LLT_LCSTRING 298
313#define LLT_ALL 299
314#define LLT_ANYTHING 300
315#define LLT_BE 301
316#define LLT_BODY 302
317#define LLT_CLAIMS 303
318#define LLT_CHECKS 304
319#define LLT_CONSTANT 305
320#define LLT_ELSE 306
321#define LLT_ENSURES 307
322#define LLT_FOR 308
323#define LLT_FRESH 309
324#define LLT_IF 310
325#define LLT_IMMUTABLE 311
326#define LLT_IMPORTS 312
327#define LLT_CONSTRAINT 313
328#define LLT_ISSUB 314
329#define LLT_LET 315
330#define LLT_MODIFIES 316
331#define LLT_MUTABLE 317
332#define LLT_NOTHING 318
333#define LLT_INTERNAL 319
334#define LLT_FILESYS 320
335#define LLT_OBJ 321
336#define LLT_OUT 322
337#define LLT_SEF 323
338#define LLT_ONLY 324
339#define LLT_PARTIAL 325
340#define LLT_OWNED 326
341#define LLT_DEPENDENT 327
342#define LLT_KEEP 328
343#define LLT_KEPT 329
344#define LLT_TEMP 330
345#define LLT_SHARED 331
346#define LLT_UNIQUE 332
347#define LLT_UNUSED 333
348#define LLT_EXITS 334
349#define LLT_MAYEXIT 335
350#define LLT_NEVEREXIT 336
351#define LLT_TRUEEXIT 337
352#define LLT_FALSEEXIT 338
353#define LLT_UNDEF 339
354#define LLT_KILLED 340
355#define LLT_CHECKMOD 341
356#define LLT_CHECKED 342
357#define LLT_UNCHECKED 343
358#define LLT_CHECKEDSTRICT 344
359#define LLT_TRUENULL 345
360#define LLT_FALSENULL 346
361#define LLT_LNULL 347
362#define LLT_LNOTNULL 348
363#define LLT_RETURNED 349
364#define LLT_OBSERVER 350
365#define LLT_EXPOSED 351
366#define LLT_REFCOUNTED 352
367#define LLT_REFS 353
368#define LLT_RELNULL 354
369#define LLT_RELDEF 355
370#define LLT_KILLREF 356
371#define LLT_NULLTERMINATED 357
372#define LLT_TEMPREF 358
373#define LLT_NEWREF 359
374#define LLT_PRIVATE 360
375#define LLT_REQUIRES 361
376#define LLT_RESULT 362
377#define LLT_SIZEOF 363
378#define LLT_SPEC 364
379#define LLT_TAGGEDUNION 365
380#define LLT_THEN 366
381#define LLT_TYPE 367
382#define LLT_TYPEDEF 368
383#define LLT_UNCHANGED 369
384#define LLT_USES 370
385#define LLT_CHAR 371
386#define LLT_CONST 372
387#define LLT_DOUBLE 373
388#define LLT_ENUM 374
389#define LLT_FLOAT 375
390#define LLT_INT 376
391#define LLT_ITER 377
392#define LLT_YIELD 378
393#define LLT_LONG 379
394#define LLT_SHORT 380
395#define LLT_SIGNED 381
396#define LLT_UNKNOWN 382
397#define LLT_STRUCT 383
398#define LLT_TELIPSIS 384
399#define LLT_UNION 385
400#define LLT_UNSIGNED 386
401#define LLT_VOID 387
402#define LLT_VOLATILE 388
403#define LLT_PRINTFLIKE 389
404#define LLT_SCANFLIKE 390
405#define LLT_MESSAGELIKE 391
406
407
408
409
410/* Copy the first part of user declarations. */
885824d3 411
885824d3 412
413
1b8ae690 414# include "splintMacros.nf"
b73d1009 415# include "basic.h"
885824d3 416# include "lclscan.h"
417# include "checking.h"
418# include "lslparse.h"
419# include "lh.h"
420# include "usymtab_interface.h"
421
422/*@-noparams@*/
423static /*@unused@*/ void yyprint ();
424/*@=noparams@*/
425
426/*@-redecl@*/
80489f0a 427void ylerror (char *) /*@modifies *g_warningstream@*/ ;
885824d3 428/*@=redecl@*/
429
430bool g_inTypeDef = FALSE;
431
432/*@constant int YYDEBUG;@*/
433# define YYDEBUG 1
434
435/*@notfunction@*/
436# define YYPRINT(file, type, value) yyprint (file, type, value)
437
a0a162cd 438/*
439** This is necessary, or else when the bison-generated code #include's malloc.h,
440** there will be a parse error.
441**
442** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
443** in bison-generated files under Win32.
444*/
445
446# ifdef WIN32
447# undef malloc
448# undef calloc
449# undef realloc
450# endif
885824d3 451
452
08cf8642 453
454/* Enabling traces. */
455#ifndef YYDEBUG
456# define YYDEBUG 1
457#endif
458
459/* Enabling verbose error messages. */
460#ifdef YYERROR_VERBOSE
461# undef YYERROR_VERBOSE
462# define YYERROR_VERBOSE 1
463#else
464# define YYERROR_VERBOSE 0
465#endif
466
467/* Enabling the token table. */
468#ifndef YYTOKEN_TABLE
469# define YYTOKEN_TABLE 0
470#endif
471
472#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
473typedef union YYSTYPE
474
368f75ae 475{
885824d3 476 ltoken ltok; /* a leaf is also an ltoken */
477 qual typequal;
478 unsigned int count;
479 /*@only@*/ ltokenList ltokenList;
480 /*@only@*/ abstDeclaratorNode abstDecl;
481 /*@only@*/ declaratorNode declare;
482 /*@only@*/ declaratorNodeList declarelist;
483 /*@only@*/ typeExpr typeexpr;
484 /*@only@*/ arrayQualNode array;
485 /*@only@*/ quantifierNode quantifier;
486 /*@only@*/ quantifierNodeList quantifiers;
487 /*@only@*/ varNode var;
488 /*@only@*/ varNodeList vars;
489 /*@only@*/ storeRefNode storeref;
490 /*@only@*/ storeRefNodeList storereflist;
491 /*@only@*/ termNode term;
492 /*@only@*/ termNodeList termlist;
493 /*@only@*/ programNode program;
494 /*@only@*/ stmtNode stmt;
495 /*@only@*/ claimNode claim;
496 /*@only@*/ typeNode type;
497 /*@only@*/ iterNode iter;
498 /*@only@*/ fcnNode fcn;
499 /*@only@*/ fcnNodeList fcns;
500 /*@only@*/ letDeclNode letdecl;
501 /*@only@*/ letDeclNodeList letdecls;
502 /*@only@*/ lclPredicateNode lclpredicate;
503 /*@only@*/ modifyNode modify;
504 /*@only@*/ paramNode param;
505 /*@only@*/ paramNodeList paramlist;
506 /*@only@*/ declaratorInvNodeList declaratorinvs;
507 /*@only@*/ declaratorInvNode declaratorinv;
508 /*@only@*/ abstBodyNode abstbody;
509 /*@only@*/ abstractNode abstract;
510 /*@only@*/ exposedNode exposed;
f9264521 511 /*@only@*/ pointers pointers;
885824d3 512 /* taggedUnionNode taggedunion; */
513 /*@only@*/ globalList globals;
514 /*@only@*/ constDeclarationNode constdeclaration;
515 /*@only@*/ varDeclarationNode vardeclaration;
516 /*@only@*/ varDeclarationNodeList vardeclarationlist;
517 /*@only@*/ initDeclNodeList initdecls;
518 /*@only@*/ initDeclNode initdecl;
519 /*@only@*/ stDeclNodeList structdecls;
520 /*@only@*/ stDeclNode structdecl;
521 /*@only@*/ strOrUnionNode structorunion;
522 /*@only@*/ enumSpecNode enumspec;
523 /*@only@*/ lclTypeSpecNode lcltypespec;
524 /*@only@*/ typeNameNode typname;
525 /*@only@*/ opFormNode opform;
526 /*@only@*/ sigNode signature;
527 /*@only@*/ nameNode name;
528 /*@only@*/ typeNameNodeList namelist;
529 /*@only@*/ replaceNode replace;
530 /*@only@*/ replaceNodeList replacelist;
531 /*@only@*/ renamingNode renaming;
532 /*@only@*/ traitRefNode traitref;
533 /*@only@*/ traitRefNodeList traitreflist;
534 /*@only@*/ importNode import;
535 /*@only@*/ importNodeList importlist;
536 /*@only@*/ interfaceNode iface;
537 /*@only@*/ interfaceNodeList interfacelist;
538 /*@only@*/ CTypesNode ctypes;
c05aefaa 539 /*@-redef@*/
08cf8642 540}
541/* Line 193 of yacc.c. */
542
543 YYSTYPE;
544# define yystype YYSTYPE /* obsolescent; will be withdrawn */
545# define YYSTYPE_IS_DECLARED 1
e5081f8c 546# define YYSTYPE_IS_TRIVIAL 1
0866200b 547#endif
08cf8642 548
549
550
551/* Copy the second part of user declarations. */
552
553
554/* Line 216 of yacc.c. */
555
556
557#ifdef short
558# undef short
559#endif
560
561#ifdef YYTYPE_UINT8
562typedef YYTYPE_UINT8 yytype_uint8;
563#else
564typedef unsigned char yytype_uint8;
565#endif
566
567#ifdef YYTYPE_INT8
568typedef YYTYPE_INT8 yytype_int8;
569#elif (defined __STDC__ || defined __C99__FUNC__ \
570 || defined __cplusplus || defined _MSC_VER)
571typedef signed char yytype_int8;
572#else
573typedef short int yytype_int8;
574#endif
575
576#ifdef YYTYPE_UINT16
577typedef YYTYPE_UINT16 yytype_uint16;
578#else
579typedef unsigned short int yytype_uint16;
368f75ae 580#endif
a889b5ee 581
08cf8642 582#ifdef YYTYPE_INT16
583typedef YYTYPE_INT16 yytype_int16;
584#else
585typedef short int yytype_int16;
586#endif
587
588#ifndef YYSIZE_T
589# ifdef __SIZE_TYPE__
590# define YYSIZE_T __SIZE_TYPE__
591# elif defined size_t
592# define YYSIZE_T size_t
593# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
594 || defined __cplusplus || defined _MSC_VER)
595# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
596# define YYSIZE_T size_t
597# else
598# define YYSIZE_T unsigned int
599# endif
600#endif
601
602#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
603
604#ifndef YY_
605# if YYENABLE_NLS
606# if ENABLE_NLS
607# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
608# define YY_(msgid) dgettext ("bison-runtime", msgid)
609# endif
610# endif
611# ifndef YY_
612# define YY_(msgid) msgid
613# endif
614#endif
615
616/* Suppress unused-variable warnings by "using" E. */
617#if ! defined lint || defined __GNUC__
618# define YYUSE(e) ((void) (e))
619#else
620# define YYUSE(e) /* empty */
621#endif
622
623/* Identity function, used to suppress warnings about constant conditions. */
624#ifndef lint
625# define YYID(n) (n)
626#else
627#if (defined __STDC__ || defined __C99__FUNC__ \
628 || defined __cplusplus || defined _MSC_VER)
629static int
630YYID (int i)
631#else
632static int
633YYID (i)
634 int i;
635#endif
636{
637 return i;
638}
639#endif
640
641#if ! defined yyoverflow || YYERROR_VERBOSE
642
643/* The parser invokes alloca or malloc; define the necessary symbols. */
644
645# ifdef YYSTACK_USE_ALLOCA
646# if YYSTACK_USE_ALLOCA
647# ifdef __GNUC__
648# define YYSTACK_ALLOC __builtin_alloca
649# elif defined __BUILTIN_VA_ARG_INCR
650# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
651# elif defined _AIX
652# define YYSTACK_ALLOC __alloca
653# elif defined _MSC_VER
654# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
655# define alloca _alloca
656# else
657# define YYSTACK_ALLOC alloca
658# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
659 || defined __cplusplus || defined _MSC_VER)
660# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
661# ifndef _STDLIB_H
662# define _STDLIB_H 1
663# endif
664# endif
665# endif
666# endif
667# endif
668
669# ifdef YYSTACK_ALLOC
670 /* Pacify GCC's `empty if-body' warning. */
671# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
672# ifndef YYSTACK_ALLOC_MAXIMUM
673 /* The OS might guarantee only one guard page at the bottom of the stack,
674 and a page size can be as small as 4096 bytes. So we cannot safely
675 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
676 to allow for a few compiler-allocated temporary stack slots. */
677# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
678# endif
679# else
680# define YYSTACK_ALLOC YYMALLOC
681# define YYSTACK_FREE YYFREE
682# ifndef YYSTACK_ALLOC_MAXIMUM
683# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
684# endif
685# if (defined __cplusplus && ! defined _STDLIB_H \
686 && ! ((defined YYMALLOC || defined malloc) \
687 && (defined YYFREE || defined free)))
688# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
689# ifndef _STDLIB_H
690# define _STDLIB_H 1
691# endif
692# endif
693# ifndef YYMALLOC
694# define YYMALLOC malloc
695# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
696 || defined __cplusplus || defined _MSC_VER)
697void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
698# endif
699# endif
700# ifndef YYFREE
701# define YYFREE free
702# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
703 || defined __cplusplus || defined _MSC_VER)
704void free (void *); /* INFRINGES ON USER NAME SPACE */
705# endif
706# endif
707# endif
708#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
885824d3 709
710
08cf8642 711#if (! defined yyoverflow \
712 && (! defined __cplusplus \
713 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
714
715/* A type that is properly aligned for any stack member. */
716union yyalloc
717{
718 yytype_int16 yyss;
719 YYSTYPE yyvs;
720 };
721
722/* The size of the maximum gap between one aligned stack and the next. */
723# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
724
725/* The size of an array large to enough to hold all stacks, each with
726 N elements. */
727# define YYSTACK_BYTES(N) \
728 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
729 + YYSTACK_GAP_MAXIMUM)
730
731/* Copy COUNT objects from FROM to TO. The source and destination do
732 not overlap. */
733# ifndef YYCOPY
734# if defined __GNUC__ && 1 < __GNUC__
735# define YYCOPY(To, From, Count) \
736 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
737# else
738# define YYCOPY(To, From, Count) \
739 do \
740 { \
741 YYSIZE_T yyi; \
742 for (yyi = 0; yyi < (Count); yyi++) \
743 (To)[yyi] = (From)[yyi]; \
744 } \
745 while (YYID (0))
746# endif
747# endif
748
749/* Relocate STACK from its old location to the new one. The
750 local variables YYSIZE and YYSTACKSIZE give the old and new number of
751 elements in the stack, and YYPTR gives the new location of the
752 stack. Advance YYPTR to a properly aligned location for the next
753 stack. */
754# define YYSTACK_RELOCATE(Stack) \
755 do \
756 { \
757 YYSIZE_T yynewbytes; \
758 YYCOPY (&yyptr->Stack, Stack, yysize); \
759 Stack = &yyptr->Stack; \
760 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
761 yyptr += yynewbytes / sizeof (*yyptr); \
762 } \
763 while (YYID (0))
885824d3 764
08cf8642 765#endif
885824d3 766
08cf8642 767/* YYFINAL -- State number of the termination state. */
768#define YYFINAL 3
769/* YYLAST -- Last index in YYTABLE. */
770#define YYLAST 3314
771
772/* YYNTOKENS -- Number of terminals. */
773#define YYNTOKENS 137
774/* YYNNTS -- Number of nonterminals. */
775#define YYNNTS 155
776/* YYNRULES -- Number of rules. */
777#define YYNRULES 414
778/* YYNRULES -- Number of states. */
779#define YYNSTATES 684
780
781/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
782#define YYUNDEFTOK 2
783#define YYMAXUTOK 391
784
785#define YYTRANSLATE(YYX) \
786 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
787
788/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
789static const yytype_uint8 yytranslate[] =
e5081f8c 790{
791 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
792 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
793 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
794 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
795 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
796 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
797 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
798 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
799 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
800 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
801 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
804 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
805 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
806 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
807 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
810 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
08cf8642 816 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
817 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
818 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
819 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
820 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
821 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
822 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
823 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
824 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
825 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
826 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
827 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
828 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
829 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
830 135, 136
885824d3 831};
832
e5081f8c 833#if YYDEBUG
08cf8642 834/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
835 YYRHS. */
836static const yytype_uint16 yyprhs[] =
e5081f8c 837{
08cf8642 838 0, 0, 3, 4, 8, 9, 12, 14, 16, 17,
839 20, 23, 24, 27, 29, 31, 33, 37, 41, 43,
840 45, 47, 49, 51, 53, 60, 61, 63, 65, 69,
841 72, 74, 75, 79, 81, 83, 85, 87, 92, 96,
842 101, 106, 108, 110, 112, 114, 116, 117, 131, 132,
843 147, 148, 162, 167, 168, 169, 176, 177, 178, 186,
844 187, 188, 196, 197, 198, 205, 206, 207, 214, 217,
845 220, 222, 226, 228, 232, 234, 236, 240, 242, 244,
846 248, 250, 255, 259, 266, 268, 272, 274, 276, 280,
847 282, 286, 288, 292, 296, 300, 305, 307, 309, 311,
848 313, 315, 319, 321, 325, 326, 329, 333, 336, 339,
849 340, 343, 348, 349, 353, 355, 359, 365, 369, 371,
850 372, 376, 377, 381, 382, 386, 390, 394, 396, 400,
851 402, 404, 407, 409, 411, 412, 416, 417, 421, 422,
852 424, 426, 428, 432, 434, 438, 439, 444, 450, 452,
853 456, 459, 463, 467, 472, 476, 482, 489, 491, 495,
854 497, 499, 502, 505, 509, 513, 517, 522, 524, 528,
855 533, 537, 538, 541, 542, 544, 545, 552, 554, 558,
856 559, 563, 564, 568, 570, 572, 574, 576, 578, 580,
857 582, 584, 586, 588, 590, 593, 595, 597, 599, 601,
858 603, 605, 607, 609, 611, 613, 615, 617, 619, 621,
859 623, 625, 627, 629, 631, 633, 635, 637, 639, 641,
860 643, 645, 647, 649, 651, 653, 655, 657, 659, 661,
861 663, 665, 667, 669, 671, 673, 675, 678, 684, 686,
862 689, 691, 694, 695, 702, 703, 710, 713, 716, 717,
863 719, 721, 724, 728, 730, 734, 735, 737, 744, 747,
864 749, 753, 755, 757, 759, 763, 766, 769, 773, 778,
865 780, 784, 787, 790, 794, 799, 801, 804, 807, 811,
866 816, 819, 822, 825, 828, 832, 834, 835, 837, 841,
867 844, 846, 848, 851, 855, 859, 864, 867, 871, 878,
868 880, 883, 886, 890, 894, 899, 904, 910, 914, 919,
869 924, 930, 933, 936, 940, 944, 946, 948, 950, 952,
870 954, 956, 958, 959, 961, 963, 967, 969, 971, 976,
871 977, 979, 981, 985, 987, 989, 996, 998, 1002, 1004,
872 1009, 1013, 1017, 1019, 1022, 1025, 1027, 1029, 1031, 1034,
873 1036, 1039, 1042, 1046, 1048, 1050, 1053, 1056, 1060, 1062,
874 1065, 1069, 1071, 1077, 1081, 1086, 1089, 1093, 1096, 1098,
875 1102, 1106, 1108, 1113, 1115, 1118, 1122, 1126, 1130, 1135,
876 1139, 1141, 1145, 1147, 1149, 1151, 1153, 1155, 1157, 1162,
877 1167, 1172, 1177, 1184, 1189, 1191, 1193, 1195, 1197, 1199,
878 1202, 1203, 1207, 1209, 1213, 1217, 1222, 1224, 1226, 1228,
879 1230, 1232, 1234, 1236, 1238
885824d3 880};
08cf8642 881
882/* YYRHS -- A `-1'-separated list of the rules' RHS. */
883static const yytype_int16 yyrhs[] =
e5081f8c 884{
08cf8642 885 138, 0, -1, -1, 140, 139, 142, -1, -1, 140,
886 141, -1, 145, -1, 146, -1, -1, 147, 143, -1,
887 152, 143, -1, -1, 143, 144, -1, 147, -1, 152,
888 -1, 146, -1, 57, 176, 7, -1, 115, 180, 7,
889 -1, 155, -1, 156, -1, 157, -1, 159, -1, 162,
890 -1, 148, -1, 122, 286, 12, 149, 37, 7, -1,
891 -1, 150, -1, 151, -1, 150, 32, 151, -1, 123,
892 245, -1, 245, -1, -1, 109, 153, 154, -1, 155,
893 -1, 156, -1, 157, -1, 159, -1, 50, 228, 190,
894 7, -1, 228, 190, 7, -1, 117, 228, 190, 7,
895 -1, 133, 228, 190, 7, -1, 164, -1, 173, -1,
896 134, -1, 135, -1, 136, -1, -1, 228, 241, 192,
897 160, 34, 194, 196, 200, 201, 202, 205, 206, 35,
898 -1, -1, 158, 228, 241, 192, 161, 34, 194, 196,
899 200, 201, 202, 205, 206, 35, -1, -1, 48, 288,
900 12, 207, 37, 192, 163, 34, 196, 201, 210, 205,
901 35, -1, 48, 285, 288, 7, -1, -1, -1, 62,
902 165, 112, 20, 166, 215, -1, -1, -1, 62, 167,
903 97, 112, 20, 168, 215, -1, -1, -1, 97, 62,
904 169, 112, 20, 170, 215, -1, -1, -1, 56, 171,
905 112, 20, 172, 215, -1, -1, -1, 113, 228, 174,
906 220, 175, 7, -1, 231, 7, -1, 239, 7, -1,
907 177, -1, 176, 32, 177, -1, 179, -1, 3, 179,
908 3, -1, 43, -1, 179, -1, 178, 32, 179, -1,
909 284, -1, 181, -1, 180, 32, 181, -1, 290, -1,
910 290, 12, 183, 37, -1, 12, 182, 37, -1, 12,
911 182, 37, 12, 183, 37, -1, 290, -1, 182, 32,
912 290, -1, 185, -1, 184, -1, 184, 32, 185, -1,
913 246, -1, 184, 32, 246, -1, 186, -1, 185, 32,
914 186, -1, 246, 53, 224, -1, 246, 53, 187, -1,
915 246, 53, 187, 257, -1, 291, -1, 250, -1, 189,
916 -1, 261, -1, 191, -1, 190, 32, 191, -1, 241,
917 -1, 241, 33, 188, -1, -1, 192, 193, -1, 228,
918 190, 7, -1, 64, 7, -1, 65, 7, -1, -1,
919 194, 195, -1, 105, 228, 190, 7, -1, -1, 60,
920 197, 7, -1, 198, -1, 197, 32, 198, -1, 286,
921 31, 199, 46, 261, -1, 286, 46, 261, -1, 228,
922 -1, -1, 49, 260, 7, -1, -1, 106, 260, 7,
923 -1, -1, 61, 63, 7, -1, 61, 45, 7, -1,
924 61, 203, 7, -1, 204, -1, 203, 32, 204, -1,
925 261, -1, 229, -1, 66, 229, -1, 64, -1, 65,
926 -1, -1, 52, 260, 7, -1, -1, 48, 260, 7,
927 -1, -1, 208, -1, 209, -1, 129, -1, 209, 32,
928 129, -1, 245, -1, 209, 32, 245, -1, -1, 47,
929 34, 211, 35, -1, 47, 34, 211, 7, 35, -1,
930 212, -1, 12, 211, 37, -1, 211, 6, -1, 211,
931 8, 211, -1, 211, 7, 211, -1, 285, 12, 213,
932 37, -1, 285, 12, 37, -1, 286, 33, 285, 12,
933 37, -1, 286, 33, 285, 12, 213, 37, -1, 214,
934 -1, 213, 32, 214, -1, 278, -1, 286, -1, 3,
935 214, -1, 214, 3, -1, 214, 3, 214, -1, 12,
936 214, 37, -1, 285, 12, 37, -1, 285, 12, 213,
937 37, -1, 7, -1, 34, 216, 35, -1, 34, 178,
938 35, 7, -1, 34, 35, 7, -1, -1, 216, 159,
939 -1, -1, 218, -1, -1, 58, 219, 280, 12, 260,
940 37, -1, 221, -1, 220, 32, 221, -1, -1, 241,
941 222, 223, -1, -1, 34, 217, 35, -1, 132, -1,
942 116, -1, 118, -1, 120, -1, 121, -1, 124, -1,
943 125, -1, 126, -1, 131, -1, 127, -1, 224, -1,
944 225, 224, -1, 20, -1, 225, -1, 67, -1, 78,
945 -1, 68, -1, 69, -1, 71, -1, 72, -1, 73,
946 -1, 74, -1, 95, -1, 79, -1, 80, -1, 82,
947 -1, 83, -1, 81, -1, 75, -1, 76, -1, 77,
948 -1, 87, -1, 88, -1, 89, -1, 90, -1, 91,
949 -1, 99, -1, 100, -1, 97, -1, 98, -1, 104,
950 -1, 101, -1, 92, -1, 93, -1, 94, -1, 96,
951 -1, 70, -1, 102, -1, 84, -1, 85, -1, 226,
952 -1, 231, -1, 239, -1, 227, 228, -1, 8, 229,
953 31, 229, 8, -1, 228, -1, 228, 230, -1, 6,
954 -1, 230, 6, -1, -1, 128, 234, 232, 34, 235,
955 35, -1, -1, 130, 234, 233, 34, 235, 35, -1,
956 128, 287, -1, 130, 287, -1, -1, 287, -1, 236,
957 -1, 235, 236, -1, 228, 237, 7, -1, 241, -1,
958 237, 32, 241, -1, -1, 32, -1, 119, 234, 34,
959 240, 238, 35, -1, 119, 287, -1, 25, -1, 240,
960 32, 25, -1, 243, -1, 242, -1, 286, -1, 12,
961 242, 37, -1, 6, 242, -1, 242, 249, -1, 242,
962 12, 37, -1, 242, 12, 208, 37, -1, 20, -1,
963 12, 243, 37, -1, 6, 243, -1, 243, 249, -1,
964 243, 12, 37, -1, 243, 12, 208, 37, -1, 20,
965 -1, 6, 244, -1, 244, 249, -1, 244, 12, 37,
966 -1, 244, 12, 208, 37, -1, 228, 244, -1, 228,
967 242, -1, 228, 247, -1, 228, 247, -1, 66, 228,
968 247, -1, 250, -1, -1, 248, -1, 12, 248, 37,
969 -1, 6, 248, -1, 6, -1, 249, -1, 248, 249,
970 -1, 248, 12, 37, -1, 12, 208, 37, -1, 248,
971 12, 208, 37, -1, 11, 36, -1, 11, 189, 36,
972 -1, 55, 27, 111, 27, 51, 27, -1, 253, -1,
973 27, 253, -1, 253, 27, -1, 27, 253, 27, -1,
974 251, 254, 252, -1, 27, 251, 254, 252, -1, 251,
975 254, 252, 27, -1, 27, 251, 254, 252, 27, -1,
976 11, 254, 36, -1, 11, 254, 36, 27, -1, 27,
977 11, 254, 36, -1, 27, 11, 254, 36, 27, -1,
978 10, 284, -1, 26, 284, -1, 27, 10, 284, -1,
979 27, 26, 284, -1, 22, -1, 34, -1, 23, -1,
980 35, -1, 265, -1, 14, -1, 39, -1, -1, 255,
981 -1, 27, -1, 255, 256, 27, -1, 32, -1, 24,
982 -1, 31, 258, 26, 289, -1, -1, 259, -1, 289,
983 -1, 259, 32, 289, -1, 261, -1, 262, -1, 55,
984 262, 111, 262, 51, 262, -1, 263, -1, 262, 14,
985 262, -1, 264, -1, 279, 12, 260, 37, -1, 264,
986 39, 264, -1, 264, 33, 264, -1, 266, -1, 269,
987 267, -1, 269, 268, -1, 3, -1, 6, -1, 269,
988 -1, 265, 266, -1, 265, -1, 267, 265, -1, 265,
989 269, -1, 268, 265, 269, -1, 274, -1, 270, -1,
990 270, 274, -1, 274, 270, -1, 274, 270, 274, -1,
991 271, -1, 271, 274, -1, 272, 31, 289, -1, 272,
992 -1, 11, 273, 36, 31, 289, -1, 11, 273, 36,
993 -1, 11, 36, 31, 289, -1, 11, 36, -1, 251,
994 273, 252, -1, 251, 252, -1, 261, -1, 273, 256,
995 261, -1, 12, 262, 37, -1, 286, -1, 291, 12,
996 275, 37, -1, 277, -1, 274, 276, -1, 274, 10,
997 284, -1, 274, 26, 284, -1, 274, 11, 36, -1,
998 274, 11, 275, 36, -1, 274, 31, 289, -1, 262,
999 -1, 275, 32, 262, -1, 28, -1, 29, -1, 30,
1000 -1, 38, -1, 278, -1, 107, -1, 54, 12, 275,
1001 37, -1, 114, 12, 44, 37, -1, 114, 12, 203,
1002 37, -1, 108, 12, 261, 37, -1, 59, 12, 261,
1003 32, 261, 37, -1, 108, 12, 228, 37, -1, 42,
1004 -1, 43, -1, 40, -1, 41, -1, 280, -1, 279,
1005 280, -1, -1, 21, 281, 282, -1, 283, -1, 282,
1006 32, 283, -1, 286, 31, 199, -1, 286, 31, 66,
1007 199, -1, 25, -1, 20, -1, 25, -1, 25, -1,
1008 284, -1, 284, -1, 284, -1, 284, -1, 284, -1
885824d3 1009};
1010
08cf8642 1011/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1012static const yytype_uint16 yyrline[] =
e5081f8c 1013{
08cf8642 1014 0, 382, 382, 382, 387, 388, 392, 393, 397, 398,
1015 399, 403, 404, 408, 409, 410, 414, 421, 426, 428,
1016 430, 432, 434, 436, 441, 446, 447, 451, 453, 458,
1017 459, 463, 463, 468, 470, 472, 474, 479, 484, 486,
1018 488, 493, 494, 498, 499, 500, 504, 504, 512, 512,
1019 526, 525, 530, 535, 535, 535, 537, 538, 537, 540,
1020 541, 540, 543, 543, 543, 548, 549, 548, 551, 553,
1021 570, 572, 577, 578, 580, 584, 585, 589, 594, 596,
1022 601, 603, 605, 607, 612, 613, 617, 619, 621, 625,
1023 627, 631, 633, 637, 638, 639, 644, 645, 648, 651,
1024 655, 657, 662, 663, 668, 669, 674, 675, 676, 680,
1025 681, 685, 690, 691, 695, 696, 700, 701, 704, 708,
1026 709, 713, 714, 718, 719, 720, 721, 725, 726, 730,
1027 731, 732, 733, 734, 738, 739, 743, 744, 748, 749,
1028 753, 754, 755, 759, 760, 764, 765, 766, 770, 771,
1029 774, 779, 785, 794, 796, 798, 800, 805, 806, 810,
1030 811, 812, 813, 814, 815, 816, 818, 823, 824, 825,
1031 826, 830, 831, 835, 836, 840, 840, 850, 851, 856,
1032 856, 861, 862, 866, 867, 868, 869, 870, 871, 872,
1033 873, 874, 875, 884, 885, 891, 893, 900, 901, 902,
1034 903, 904, 905, 906, 907, 908, 909, 910, 911, 912,
1035 913, 914, 915, 916, 917, 918, 919, 920, 921, 922,
1036 923, 924, 925, 926, 927, 928, 929, 930, 931, 932,
1037 933, 934, 935, 939, 941, 943, 945, 947, 957, 958,
1038 964, 965, 970, 969, 974, 973, 977, 979, 984, 985,
1039 989, 990, 996, 1000, 1002, 1007, 1008, 1012, 1014, 1019,
1040 1020, 1031, 1032, 1036, 1037, 1038, 1039, 1040, 1041, 1045,
1041 1046, 1047, 1048, 1049, 1050, 1060, 1061, 1062, 1063, 1064,
1042 1071, 1072, 1073, 1084, 1085, 1086, 1092, 1093, 1097, 1098,
1043 1099, 1100, 1101, 1102, 1103, 1104, 1108, 1109, 1113, 1115,
1044 1117, 1119, 1121, 1124, 1126, 1128, 1130, 1132, 1134, 1142,
1045 1144, 1146, 1149, 1152, 1155, 1161, 1162, 1166, 1167, 1171,
1046 1172, 1173, 1177, 1178, 1182, 1183, 1187, 1188, 1192, 1196,
1047 1197, 1201, 1202, 1206, 1210, 1217, 1219, 1220, 1224, 1225,
1048 1230, 1232, 1237, 1238, 1239, 1243, 1244, 1248, 1249, 1253,
1049 1254, 1258, 1259, 1263, 1264, 1265, 1266, 1267, 1268, 1269,
1050 1273, 1274, 1278, 1281, 1283, 1287, 1292, 1293, 1297, 1298,
1051 1302, 1304, 1306, 1308, 1309, 1311, 1313, 1315, 1318, 1320,
1052 1325, 1326, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340,
1053 1341, 1342, 1347, 1353, 1364, 1365, 1366, 1367, 1371, 1373,
1054 1378, 1378, 1386, 1387, 1391, 1392, 1396, 1397, 1401, 1402,
1055 1403, 1404, 1405, 1406, 1407
885824d3 1056};
1057#endif
1058
08cf8642 1059#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1060/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1061 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
e5081f8c 1062static const char *const yytname[] =
1063{
08cf8642 1064 "$end", "error", "$undefined", "simpleOp", "PREFIX_OP", "POSTFIX_OP",
1065 "LLT_MULOP", "LLT_SEMI", "LLT_VERTICALBAR", "ITERATION_OP", "selectSym",
1066 "LLT_LBRACKET", "LLT_LPAR", "LLT_IF_THEN_ELSE", "logicalOp", "eqSepSym",
1067 "equationSym", "commentSym", "LLT_WHITESPACE", "LLT_EOL",
1068 "LLT_TYPEDEF_NAME", "quantifierSym", "openSym", "closeSym", "sepSym",
1069 "simpleId", "mapSym", "markerSym", "preSym", "postSym", "anySym",
1070 "LLT_COLON", "LLT_COMMA", "LLT_EQUALS", "LLT_LBRACE", "LLT_RBRACE",
1071 "LLT_RBRACKET", "LLT_RPAR", "LLT_QUOTE", "eqOp", "LLT_CCHAR",
1072 "LLT_CFLOAT", "LLT_CINTEGER", "LLT_LCSTRING", "LLT_ALL", "LLT_ANYTHING",
1073 "LLT_BE", "LLT_BODY", "LLT_CLAIMS", "LLT_CHECKS", "LLT_CONSTANT",
1074 "LLT_ELSE", "LLT_ENSURES", "LLT_FOR", "LLT_FRESH", "LLT_IF",
1075 "LLT_IMMUTABLE", "LLT_IMPORTS", "LLT_CONSTRAINT", "LLT_ISSUB", "LLT_LET",
1076 "LLT_MODIFIES", "LLT_MUTABLE", "LLT_NOTHING", "LLT_INTERNAL",
1077 "LLT_FILESYS", "LLT_OBJ", "LLT_OUT", "LLT_SEF", "LLT_ONLY",
1078 "LLT_PARTIAL", "LLT_OWNED", "LLT_DEPENDENT", "LLT_KEEP", "LLT_KEPT",
1079 "LLT_TEMP", "LLT_SHARED", "LLT_UNIQUE", "LLT_UNUSED", "LLT_EXITS",
1080 "LLT_MAYEXIT", "LLT_NEVEREXIT", "LLT_TRUEEXIT", "LLT_FALSEEXIT",
1081 "LLT_UNDEF", "LLT_KILLED", "LLT_CHECKMOD", "LLT_CHECKED",
1082 "LLT_UNCHECKED", "LLT_CHECKEDSTRICT", "LLT_TRUENULL", "LLT_FALSENULL",
1083 "LLT_LNULL", "LLT_LNOTNULL", "LLT_RETURNED", "LLT_OBSERVER",
1084 "LLT_EXPOSED", "LLT_REFCOUNTED", "LLT_REFS", "LLT_RELNULL", "LLT_RELDEF",
1085 "LLT_KILLREF", "LLT_NULLTERMINATED", "LLT_TEMPREF", "LLT_NEWREF",
1086 "LLT_PRIVATE", "LLT_REQUIRES", "LLT_RESULT", "LLT_SIZEOF", "LLT_SPEC",
1087 "LLT_TAGGEDUNION", "LLT_THEN", "LLT_TYPE", "LLT_TYPEDEF",
1088 "LLT_UNCHANGED", "LLT_USES", "LLT_CHAR", "LLT_CONST", "LLT_DOUBLE",
1089 "LLT_ENUM", "LLT_FLOAT", "LLT_INT", "LLT_ITER", "LLT_YIELD", "LLT_LONG",
1090 "LLT_SHORT", "LLT_SIGNED", "LLT_UNKNOWN", "LLT_STRUCT", "LLT_TELIPSIS",
1091 "LLT_UNION", "LLT_UNSIGNED", "LLT_VOID", "LLT_VOLATILE",
1092 "LLT_PRINTFLIKE", "LLT_SCANFLIKE", "LLT_MESSAGELIKE", "$accept",
1093 "interface", "@1", "externals", "external", "optDeclarations",
1094 "declarations", "declaration", "imports", "uses", "export", "iter",
1095 "iterParamList", "realIterParamList", "iterParam", "private", "@2",
1096 "private2", "constDeclaration", "varDeclaration", "type", "special",
1097 "fcn", "@3", "@4", "claim", "@5", "abstract", "@6", "@7", "@8", "@9",
1098 "@10", "@11", "@12", "@13", "exposed", "@14", "@15", "importNameList",
1099 "importName", "interfaceNameList", "interfaceName", "traitRefNodeList",
1100 "traitRef", "traitIdList", "renaming", "nameList", "replaceNodeList",
1101 "replace", "name", "initializer", "constLclExpr", "initDecls",
1102 "initDecl", "globals", "globalDecl", "privateInits", "privateInit",
1103 "optLetDecl", "beDeclList", "beDecl", "sortSpec", "optChecks",
1104 "optRequire", "optModify", "storeRefList", "storeRef", "optEnsure",
1105 "optClaim", "optParamList", "realParamList", "paramList", "optBody",
1106 "callExpr", "stmt", "valueList", "value", "abstBody", "fcns",
1107 "optTypeInv", "typeInv", "@16", "declaratorInvs", "declaratorInv", "@17",
1108 "optExposedBody", "CType", "CTypes", "typeSpecifier", "specialQualifier",
1109 "lclTypeSpec", "lclType", "pointers", "structOrUnionSpec", "@18", "@19",
1110 "optTagId", "structDecls", "structDecl", "declaratorList", "optCOMMA",
1111 "enumSpec", "enumeratorList", "declarator", "notype_decl",
1112 "after_type_decl", "parameter_decl", "param", "typeName",
1113 "optAbstDeclarator", "abstDeclarator", "arrayQual", "opForm", "open",
1114 "close", "anyOp", "middle", "placeList", "separator", "signature",
1115 "domain", "sortList", "lclPredicate", "term", "term0", "equalityTerm",
1116 "simpleOpTerm", "simpleOp2", "prefixOpTerm", "postfixOps", "infixOpPart",
1117 "secondary", "bracketed", "sqBracketed", "matched", "args", "primary",
1118 "termList", "stateFcn", "lclPrimary", "cLiteral", "quantifiers",
1119 "quantifier", "@20", "quantifiedList", "quantified",
1120 "simpleIdOrTypedefName", "fcnId", "varId", "tagId", "claimId", "sortId",
1121 "traitId", "opId", 0
885824d3 1122};
1123#endif
1124
08cf8642 1125# ifdef YYPRINT
1126/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1127 token YYLEX-NUM. */
1128static const yytype_uint16 yytoknum[] =
1129{
1130 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1131 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1132 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1133 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1134 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1135 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1136 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1137 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1138 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1139 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1140 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1141 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1142 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1143 385, 386, 387, 388, 389, 390, 391
1144};
1145# endif
1146
1147/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1148static const yytype_uint16 yyr1[] =
e5081f8c 1149{
08cf8642 1150 0, 137, 139, 138, 140, 140, 141, 141, 142, 142,
1151 142, 143, 143, 144, 144, 144, 145, 146, 147, 147,
1152 147, 147, 147, 147, 148, 149, 149, 150, 150, 151,
1153 151, 153, 152, 154, 154, 154, 154, 155, 156, 156,
1154 156, 157, 157, 158, 158, 158, 160, 159, 161, 159,
1155 163, 162, 162, 165, 166, 164, 167, 168, 164, 169,
1156 170, 164, 171, 172, 164, 174, 175, 173, 173, 173,
1157 176, 176, 177, 177, 177, 178, 178, 179, 180, 180,
1158 181, 181, 181, 181, 182, 182, 183, 183, 183, 184,
1159 184, 185, 185, 186, 186, 186, 187, 187, 188, 189,
1160 190, 190, 191, 191, 192, 192, 193, 193, 193, 194,
1161 194, 195, 196, 196, 197, 197, 198, 198, 199, 200,
1162 200, 201, 201, 202, 202, 202, 202, 203, 203, 204,
1163 204, 204, 204, 204, 205, 205, 206, 206, 207, 207,
1164 208, 208, 208, 209, 209, 210, 210, 210, 211, 211,
1165 211, 211, 211, 212, 212, 212, 212, 213, 213, 214,
1166 214, 214, 214, 214, 214, 214, 214, 215, 215, 215,
1167 215, 216, 216, 217, 217, 219, 218, 220, 220, 222,
1168 221, 223, 223, 224, 224, 224, 224, 224, 224, 224,
1169 224, 224, 224, 225, 225, 226, 226, 227, 227, 227,
1170 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1171 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1172 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1173 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
1174 230, 230, 232, 231, 233, 231, 231, 231, 234, 234,
1175 235, 235, 236, 237, 237, 238, 238, 239, 239, 240,
1176 240, 241, 241, 242, 242, 242, 242, 242, 242, 243,
1177 243, 243, 243, 243, 243, 244, 244, 244, 244, 244,
1178 245, 245, 245, 246, 246, 246, 247, 247, 248, 248,
1179 248, 248, 248, 248, 248, 248, 249, 249, 250, 250,
1180 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
1181 250, 250, 250, 250, 250, 251, 251, 252, 252, 253,
1182 253, 253, 254, 254, 255, 255, 256, 256, 257, 258,
1183 258, 259, 259, 260, 261, 262, 262, 262, 263, 263,
1184 263, 263, 264, 264, 264, 265, 265, 266, 266, 267,
1185 267, 268, 268, 269, 269, 269, 269, 269, 269, 269,
1186 270, 270, 271, 271, 271, 271, 272, 272, 273, 273,
1187 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1188 275, 275, 276, 276, 276, 276, 277, 277, 277, 277,
1189 277, 277, 277, 277, 278, 278, 278, 278, 279, 279,
1190 281, 280, 282, 282, 283, 283, 284, 284, 285, 286,
1191 287, 288, 289, 290, 291
885824d3 1192};
1193
08cf8642 1194/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1195static const yytype_uint8 yyr2[] =
e5081f8c 1196{
08cf8642 1197 0, 2, 0, 3, 0, 2, 1, 1, 0, 2,
1198 2, 0, 2, 1, 1, 1, 3, 3, 1, 1,
1199 1, 1, 1, 1, 6, 0, 1, 1, 3, 2,
1200 1, 0, 3, 1, 1, 1, 1, 4, 3, 4,
1201 4, 1, 1, 1, 1, 1, 0, 13, 0, 14,
1202 0, 13, 4, 0, 0, 6, 0, 0, 7, 0,
1203 0, 7, 0, 0, 6, 0, 0, 6, 2, 2,
1204 1, 3, 1, 3, 1, 1, 3, 1, 1, 3,
1205 1, 4, 3, 6, 1, 3, 1, 1, 3, 1,
1206 3, 1, 3, 3, 3, 4, 1, 1, 1, 1,
1207 1, 3, 1, 3, 0, 2, 3, 2, 2, 0,
1208 2, 4, 0, 3, 1, 3, 5, 3, 1, 0,
1209 3, 0, 3, 0, 3, 3, 3, 1, 3, 1,
1210 1, 2, 1, 1, 0, 3, 0, 3, 0, 1,
1211 1, 1, 3, 1, 3, 0, 4, 5, 1, 3,
1212 2, 3, 3, 4, 3, 5, 6, 1, 3, 1,
1213 1, 2, 2, 3, 3, 3, 4, 1, 3, 4,
1214 3, 0, 2, 0, 1, 0, 6, 1, 3, 0,
1215 3, 0, 3, 1, 1, 1, 1, 1, 1, 1,
1216 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
e5081f8c 1217 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1218 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1219 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
08cf8642 1220 1, 1, 1, 1, 1, 1, 2, 5, 1, 2,
1221 1, 2, 0, 6, 0, 6, 2, 2, 0, 1,
1222 1, 2, 3, 1, 3, 0, 1, 6, 2, 1,
1223 3, 1, 1, 1, 3, 2, 2, 3, 4, 1,
1224 3, 2, 2, 3, 4, 1, 2, 2, 3, 4,
1225 2, 2, 2, 2, 3, 1, 0, 1, 3, 2,
1226 1, 1, 2, 3, 3, 4, 2, 3, 6, 1,
1227 2, 2, 3, 3, 4, 4, 5, 3, 4, 4,
1228 5, 2, 2, 3, 3, 1, 1, 1, 1, 1,
1229 1, 1, 0, 1, 1, 3, 1, 1, 4, 0,
1230 1, 1, 3, 1, 1, 6, 1, 3, 1, 4,
1231 3, 3, 1, 2, 2, 1, 1, 1, 2, 1,
1232 2, 2, 3, 1, 1, 2, 2, 3, 1, 2,
1233 3, 1, 5, 3, 4, 2, 3, 2, 1, 3,
1234 3, 1, 4, 1, 2, 3, 3, 3, 4, 3,
1235 1, 3, 1, 1, 1, 1, 1, 1, 4, 4,
1236 4, 4, 6, 4, 1, 1, 1, 1, 1, 2,
1237 0, 3, 1, 3, 3, 4, 1, 1, 1, 1,
1238 1, 1, 1, 1, 1
885824d3 1239};
1240
08cf8642 1241/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1242 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1243 means the default is an error. */
1244static const yytype_uint16 yydefact[] =
e5081f8c 1245{
08cf8642 1246 4, 0, 2, 1, 0, 0, 8, 5, 6, 7,
1247 0, 407, 406, 74, 0, 70, 72, 77, 0, 0,
1248 78, 413, 80, 0, 195, 0, 0, 62, 53, 197,
1249 199, 200, 229, 201, 202, 203, 204, 211, 212, 213,
1250 198, 206, 207, 210, 208, 209, 231, 232, 214, 215,
1251 216, 217, 218, 225, 226, 227, 205, 228, 221, 222,
1252 219, 220, 224, 230, 223, 31, 0, 184, 0, 185,
1253 248, 186, 187, 0, 188, 189, 190, 192, 248, 248,
1254 191, 183, 0, 43, 44, 45, 3, 11, 23, 11,
1255 18, 19, 20, 0, 21, 22, 41, 42, 193, 196,
1256 233, 0, 0, 234, 235, 0, 16, 0, 0, 84,
1257 17, 0, 0, 221, 238, 0, 234, 235, 408, 411,
1258 0, 0, 0, 0, 0, 0, 59, 0, 65, 0,
1259 0, 410, 258, 409, 0, 242, 246, 244, 247, 0,
1260 9, 10, 0, 194, 236, 0, 0, 269, 0, 100,
1261 104, 262, 261, 263, 68, 69, 73, 71, 0, 82,
1262 79, 345, 346, 0, 322, 320, 315, 0, 0, 316,
1263 321, 0, 0, 0, 87, 86, 91, 286, 89, 285,
1264 322, 299, 319, 240, 239, 0, 0, 138, 0, 102,
1265 0, 0, 0, 0, 32, 33, 34, 35, 36, 0,
1266 0, 0, 25, 0, 0, 0, 12, 15, 13, 14,
1267 104, 265, 271, 0, 0, 38, 0, 0, 46, 0,
1268 0, 266, 0, 272, 85, 0, 311, 324, 0, 323,
1269 312, 0, 322, 0, 322, 300, 0, 286, 81, 0,
1270 0, 290, 0, 283, 287, 291, 0, 0, 301, 241,
1271 0, 52, 141, 0, 139, 140, 286, 143, 37, 63,
1272 54, 0, 0, 66, 177, 179, 39, 259, 255, 0,
1273 0, 26, 27, 30, 0, 0, 40, 48, 264, 270,
1274 101, 0, 0, 400, 409, 396, 397, 394, 395, 0,
1275 0, 0, 387, 0, 0, 103, 98, 0, 99, 334,
1276 336, 338, 0, 342, 347, 354, 358, 361, 353, 373,
1277 386, 0, 398, 414, 371, 0, 0, 0, 0, 105,
1278 0, 296, 0, 267, 0, 273, 0, 0, 307, 327,
1279 326, 0, 313, 0, 314, 0, 302, 0, 284, 88,
1280 90, 92, 0, 289, 0, 0, 0, 292, 94, 93,
1281 97, 96, 317, 318, 303, 237, 104, 0, 290, 0,
1282 275, 281, 280, 282, 0, 0, 57, 60, 0, 0,
1283 181, 256, 0, 29, 0, 0, 0, 0, 250, 0,
1284 0, 365, 368, 0, 0, 0, 0, 0, 0, 0,
1285 0, 367, 0, 0, 0, 0, 348, 347, 349, 343,
1286 344, 355, 359, 0, 0, 0, 0, 382, 383, 384,
1287 0, 385, 356, 374, 0, 399, 0, 107, 108, 109,
1288 0, 297, 268, 274, 83, 308, 325, 309, 304, 0,
1289 294, 288, 293, 0, 329, 95, 305, 50, 142, 144,
1290 276, 290, 0, 277, 167, 171, 64, 55, 0, 0,
1291 178, 67, 173, 180, 260, 257, 24, 28, 0, 253,
1292 243, 251, 245, 109, 0, 363, 0, 370, 401, 402,
1293 0, 380, 0, 0, 0, 195, 0, 0, 0, 132,
1294 133, 0, 0, 127, 130, 129, 366, 337, 341, 340,
1295 351, 350, 0, 412, 360, 375, 377, 0, 376, 379,
1296 357, 0, 333, 0, 112, 106, 310, 306, 0, 295,
1297 0, 330, 331, 0, 278, 0, 0, 0, 75, 0,
1298 58, 61, 175, 0, 174, 252, 0, 112, 364, 0,
1299 369, 0, 0, 0, 388, 0, 0, 393, 391, 389,
1300 131, 0, 390, 352, 378, 339, 372, 0, 0, 110,
1301 119, 298, 0, 0, 112, 279, 170, 0, 0, 168,
1302 172, 0, 0, 182, 254, 119, 362, 403, 0, 404,
1303 118, 381, 0, 0, 128, 0, 114, 0, 0, 0,
1304 121, 328, 332, 121, 76, 169, 104, 0, 121, 405,
1305 335, 392, 113, 0, 0, 0, 0, 0, 0, 123,
1306 145, 0, 123, 115, 0, 117, 111, 120, 0, 0,
1307 134, 0, 134, 0, 134, 0, 122, 0, 0, 0,
1308 0, 136, 0, 0, 176, 136, 116, 125, 124, 126,
1309 0, 0, 0, 0, 409, 0, 148, 0, 0, 51,
1310 0, 135, 0, 47, 0, 150, 0, 0, 146, 0,
1311 0, 49, 137, 0, 149, 147, 152, 151, 0, 0,
1312 154, 0, 157, 159, 0, 160, 408, 0, 161, 0,
1313 0, 153, 162, 0, 0, 164, 158, 163, 165, 0,
1314 155, 0, 166, 156
885824d3 1315};
1316
08cf8642 1317/* YYDEFGOTO[NTERM-NUM]. */
1318static const yytype_int16 yydefgoto[] =
e5081f8c 1319{
08cf8642 1320 -1, 1, 6, 2, 7, 86, 140, 206, 8, 207,
1321 208, 88, 270, 271, 272, 209, 127, 194, 90, 91,
1322 92, 93, 94, 318, 380, 95, 513, 96, 124, 365,
1323 125, 448, 193, 449, 123, 364, 97, 199, 369, 14,
1324 15, 517, 16, 19, 20, 108, 173, 174, 175, 176,
1325 348, 295, 296, 148, 149, 218, 319, 504, 549, 550,
1326 575, 576, 569, 580, 599, 610, 482, 483, 621, 632,
1327 253, 344, 255, 612, 656, 636, 661, 662, 446, 519,
1328 523, 524, 562, 263, 264, 370, 453, 98, 99, 100,
1329 101, 256, 484, 184, 116, 203, 204, 130, 377, 378,
1330 458, 372, 117, 268, 189, 151, 152, 362, 257, 178,
1331 243, 244, 245, 179, 297, 354, 181, 228, 229, 466,
1332 435, 510, 511, 501, 502, 299, 300, 301, 302, 303,
1333 399, 400, 304, 305, 306, 307, 383, 308, 472, 413,
1334 309, 310, 311, 312, 385, 468, 469, 313, 664, 314,
1335 132, 121, 494, 22, 315
885824d3 1336};
1337
08cf8642 1338/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1339 STATE-NUM. */
1340#define YYPACT_NINF -607
1341static const yytype_int16 yypact[] =
e5081f8c 1342{
08cf8642 1343 -607, 50, -29, -607, 198, 89, 1350, -607, -607, -607,
1344 208, -607, -607, -607, 65, -607, -607, -607, 208, 110,
1345 -607, -607, 45, 2903, -607, 276, 2903, -607, 18, -607,
1346 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1347 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1348 -607, -607, -607, -607, -607, -607, -607, -607, 85, -607,
1349 -607, -607, -607, -607, -607, -607, 2903, -607, 2903, -607,
1350 208, -607, -607, 133, -607, -607, -607, -607, 208, 208,
1351 -607, -607, 2903, -607, -607, -607, -607, -607, -607, -607,
1352 -607, -607, -607, 2903, -607, -607, -607, -607, -607, 399,
1353 -607, 2903, 336, 155, 192, 185, -607, 198, 268, -607,
1354 -607, 89, 1152, -607, 213, 199, -607, -607, 297, -607,
1355 208, 305, 336, 240, 242, 273, -607, 1445, -607, 336,
1356 333, -607, 359, -607, 369, -607, 359, -607, 359, 336,
1357 1247, 1247, 336, -607, -607, 336, 336, -607, 139, -607,
1358 145, 416, 422, -607, -607, -607, -607, -607, 208, 388,
1359 -607, -607, -607, 208, 360, -607, -607, 208, 471, -607,
1360 -607, 376, 2903, 398, 393, 406, -607, 347, 387, -607,
1361 360, 445, -607, -607, 456, 2903, 476, 2319, 143, 457,
1362 474, 484, 397, 404, -607, -607, -607, -607, -607, 336,
1363 150, 481, 2414, 477, 488, 166, -607, -607, -607, -607,
1364 -607, 416, 422, 239, 279, -607, 336, 3150, 1836, 272,
1365 1933, -607, 2030, -607, -607, 1152, -607, -607, 482, 224,
1366 -607, 208, 360, 208, 360, 501, 418, 347, -607, 1152,
1367 1152, 347, 1741, -607, 433, -607, 453, 118, -607, -607,
1368 524, -607, -607, 496, -607, 503, 435, -607, -607, -607,
1369 -607, 517, 519, 508, -607, -607, -607, -607, 509, 2903,
1370 505, 512, -607, -607, 2903, 2903, -607, 1836, -607, -607,
1371 -607, 3059, 3150, -607, 297, -607, -607, -607, -607, 533,
1372 3150, 534, -607, 535, 536, -607, -607, 3033, -607, 537,
1373 -607, 304, 3200, -607, 329, 1155, 1155, 521, 654, -607,
1374 -607, 188, -607, -607, -607, 538, 547, 548, 522, -607,
1375 336, -607, 523, -607, 527, -607, 528, 529, 540, -607,
1376 -607, 541, -607, 525, -607, 118, -607, 543, -607, 406,
1377 387, -607, 387, 433, 539, 292, 2127, -607, 544, -607,
1378 -607, -607, -607, -607, 545, -607, -607, 2509, 435, 1644,
1379 -607, 416, 446, -607, 35, 35, -607, -607, 336, 553,
1380 549, 556, 551, -607, 580, 2414, 336, 2611, -607, 2713,
1381 554, 559, -607, 381, 44, 133, 3150, -1, 3150, 1022,
1382 762, -607, 375, 3150, 3200, 3200, -607, -607, 335, 329,
1383 329, 236, 236, 208, 208, 3109, 208, -607, -607, -607,
1384 208, -607, 1155, -607, 3150, -607, 3150, -607, -607, -607,
1385 189, -607, -607, -607, -607, -607, -607, 564, 565, 550,
1386 -607, -607, -607, 557, 208, -607, -607, 1836, -607, -607,
1387 446, 459, 2224, -607, -607, 182, -607, -607, 35, 35,
1388 -607, -607, 542, -607, -607, -607, -607, -607, 197, -607,
1389 -607, -607, -607, -607, 208, 567, 3150, -607, 563, -607,
1390 568, 537, 293, 3150, 570, 584, 566, 573, 574, -607,
1391 -607, 2903, 312, -607, -607, -607, -607, -607, -607, -607,
1392 -607, -607, 335, -607, -607, -607, -607, 394, -607, -607,
1393 236, 575, -607, 331, -15, -607, -607, -607, 578, -607,
1394 588, 583, -607, 582, -607, 586, 610, 247, -607, 1547,
1395 -607, -607, -607, 585, -607, -607, 336, -15, -607, 208,
1396 -607, 133, 2808, 3150, -607, 25, 3150, -607, -607, -607,
1397 -607, 892, -607, -607, -607, -607, -607, 133, 2903, -607,
1398 577, -607, 208, 208, 569, -607, -607, 208, 617, -607,
1399 -607, 336, 606, -607, -607, 577, -607, -607, 2903, -607,
1400 -607, 537, 3150, 594, -607, 270, -607, 77, 336, 3150,
1401 530, -607, -607, 530, -607, -607, -607, 625, 530, -607,
1402 537, -607, -607, 133, 2903, 3150, 278, 634, 3150, 581,
1403 592, 3150, 581, -607, 599, -607, -607, -607, 639, 632,
1404 595, 614, 595, 612, 595, 3150, -607, 643, 644, 288,
1405 3150, 607, 181, 621, -607, 607, -607, -607, -607, -607,
1406 651, 3150, 624, 181, 648, 126, -607, 649, 629, -607,
1407 628, -607, 660, -607, 48, -607, 299, 181, -607, 212,
1408 645, -607, -607, 181, -607, -607, 661, -607, 202, 202,
1409 -607, 351, 665, -607, 659, -607, -607, 666, -607, 43,
1410 202, -607, 246, 379, 411, -607, 665, -607, -607, 358,
1411 -607, 365, -607, -607
885824d3 1412};
1413
08cf8642 1414/* YYPGOTO[NTERM-NUM]. */
1415static const yytype_int16 yypgoto[] =
e5081f8c 1416{
08cf8642 1417 -607, -607, -607, -607, -607, -607, 590, -607, -607, 679,
1418 683, -607, -607, -607, 315, 687, -607, -607, 591, 608,
1419 611, -607, -123, -607, -607, -607, -607, -607, -607, -607,
1420 -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
1421 587, -607, -8, -607, 626, -607, 516, -607, 504, 502,
1422 -607, -607, 526, -110, 531, -190, -607, 281, -607, -483,
1423 -607, 156, -520, 190, -159, 152, 157, 220, -353, 142,
1424 -607, -182, -607, -607, -554, -607, -185, -606, -322, -607,
1425 -607, -607, -607, -607, 401, -607, -607, -91, -607, -607,
1426 -607, -5, -20, -607, 29, -607, -607, 417, 497, -6,
1427 -607, -607, 54, -607, -95, -119, 353, 413, -178, 261,
1428 -137, -210, -22, 532, -14, -248, 609, -121, -607, 546,
1429 -607, -607, -607, -528, -203, -265, -607, 108, -101, 478,
1430 -607, -607, -280, 468, -607, -607, 489, -269, -285, -607,
1431 -607, -308, -607, -305, -607, -607, 248, 5, -25, -40,
1432 434, 668, -369, 16, 552
885824d3 1433};
1434
08cf8642 1435/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1436 positive, shift that token. If negative, reduce the rule which
1437 number is the opposite. If zero, do what YYDEFACT says.
1438 If YYTABLE_NINF, syntax error. */
1439#define YYTABLE_NINF -409
1440static const yytype_int16 yytable[] =
e5081f8c 1441{
08cf8642 1442 120, 102, 105, 115, 198, 254, 415, 150, 143, 17,
1443 21, 182, 188, 393, 298, 17, 298, 384, 114, 200,
1444 277, 122, 397, 21, 273, 387, 211, 213, 4, 205,
1445 119, 343, 345, 134, 109, 103, 401, 402, 324, 393,
1446 326, 499, 444, 447, 565, 547, 672, 210, 589, 391,
1447 3, 597, 668, 669, 645, 653, 647, 112, 393, 247,
1448 104, 128, 153, 129, 676, 512, 677, 182, 635, 445,
1449 608, 583, 106, 613, 604, 131, 572, 139, 382, 644,
1450 675, 467, 153, 131, 131, 654, 5, 428, 142, 153,
1451 548, 373, 630, 657, 382, 528, 144, 107, 180, 153,
1452 338, 18, 153, 642, 265, 153, 153, 177, 594, 11,
1453 473, 333, 17, 335, 12, -56, 21, 110, 490, 363,
1454 497, 471, 102, 595, 182, 119, 520, 521, 487, 221,
1455 223, 503, 645, 646, 647, 102, 102, 361, 182, 182,
1456 471, 352, 111, 500, 486, 182, 215, 126, 343, 345,
1457 258, 471, -102, 353, 234, 349, 103, 266, 133, 153,
1458 566, 648, 154, 21, 433, 250, 437, 237, 226, 103,
1459 103, 216, 230, 276, 224, 216, 153, -102, 217, 439,
1460 114, 104, 216, 581, 582, 474, 477, 485, 156, 221,
1461 223, 221, 223, 633, 104, 104, 505, 273, 216, 155,
1462 414, 10, 11, 398, 525, 658, 634, 12, 535, 283,
1463 420, 180, 543, 320, 659, 658, 153, 516, 11, 183,
1464 177, 216, 347, 12, 659, 180, 180, 634, 11, 526,
1465 185, 343, 180, 12, 177, 177, 332, 634, 334, 211,
1466 213, 13, 285, 286, 287, 288, 404, 405, 329, 660,
1467 219, 220, 285, 286, 287, 288, 330, 587, 659, 623,
1468 515, 625, 406, 530, 407, 408, 409, 410, 571, 376,
1469 376, 634, 320, 265, 411, 161, 278, 592, 162, 557,
1470 153, 459, 558, 281, 282, 606, 285, 286, 287, 288,
1471 219, 222, 11, 283, 166, 629, 11, 284, 491, 492,
1472 158, 118, 593, 219, 346, 159, 169, 590, 321, -406,
1473 216, 633, 285, 286, 287, 288, 279, 187, 153, 153,
1474 541, 347, 211, 347, 634, 533, 289, 290, 153, 431,
1475 534, 291, 161, 573, 655, 162, 153, 394, 485, 221,
1476 443, 663, 145, 395, 541, 470, 281, 282, 146, 542,
1477 663, 663, 190, 241, 191, 11, 147, 166, 219, 242,
1478 284, 133, 663, 533, 663, 663, 663, 201, 546, 169,
1479 192, 461, 376, 461, 376, 285, 286, 287, 288, 292,
1480 293, 202, 658, 670, 476, 114, 294, 227, 671, 289,
1481 670, 659, 605, -249, 291, 682, 560, 670, 352, 329,
1482 225, 153, 683, 236, 634, 329, 485, 330, 493, 495,
1483 353, 498, 626, 330, 658, 493, 678, 465, 443, 285,
1484 286, 287, 288, 659, 600, 239, 533, 219, 220, 602,
1485 544, 564, 320, 219, 222, 238, 634, 518, 240, 493,
1486 246, 358, 292, 293, 219, 346, 219, 359, 680, 294,
1487 17, 285, 286, 287, 288, 360, 161, 219, 442, 162,
1488 133, 540, 249, 163, 164, 441, 586, 165, 596, 493,
1489 219, 359, 248, 11, 161, 166, 114, 162, 12, 167,
1490 168, 231, 232, 251, 133, 165, 153, 169, 679, 681,
1491 217, 470, 170, 166, 259, 135, 137, 233, 212, 214,
1492 340, 342, 488, 489, 260, 169, 267, 577, 171, 261,
1493 170, 274, 136, 138, 561, 67, 262, 69, 328, 71,
1494 72, 153, 275, 74, 75, 76, 77, 570, 336, 337,
1495 80, 81, 355, 356, 493, 357, 114, 366, 153, 367,
1496 368, 371, 374, 578, 375, 386, 388, 389, 390, 584,
1497 416, 393, 403, 577, 417, 418, 419, 493, 493, 421,
1498 451, 427, 17, 570, 422, 423, 424, 425, 426, 67,
1499 429, 69, 436, 71, 72, 434, 430, 74, 75, 76,
1500 77, 454, 638, 452, 80, 81, 455, 456, 463, 570,
1501 464, 506, 507, 638, 509, 531, -407, 637, 529, 532,
1502 522, 508, 536, 537, 114, 551, 638, 638, 637, 665,
1503 538, 539, 545, 638, 552, 553, 554, 556, 665, 665,
1504 563, 637, 637, 555, 585, 667, 579, 283, 637, 547,
1505 665, 591, 665, 665, 665, 161, 598, 601, 162, 611,
1506 23, 607, 609, 281, 282, 615, 616, 620, 622, 624,
1507 627, 628, 475, 283, 166, 631, 639, 284, 641, 643,
1508 -408, 649, 650, 651, 404, 405, 169, 652, 672, 647,
1509 666, 673, 285, 286, 287, 288, 166, 617, 674, 141,
1510 406, 9, 407, 408, 409, 410, 289, 290, 169, 87,
1511 457, 291, 411, 89, 157, 618, 479, 480, 481, 29,
1512 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1513 40, 41, 42, 43, 44, 45, 46, 47, 195, 48,
1514 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1515 59, 60, 61, 62, 63, 196, 64, 160, 197, 292,
1516 293, 327, 341, 339, 527, 322, 294, 280, 67, 603,
1517 69, 70, 71, 72, 614, 588, 74, 75, 76, 77,
1518 78, 574, 79, 80, 81, 161, 619, 640, 162, 450,
1519 23, 440, 379, 281, 282, 331, 412, 235, 350, 567,
1520 396, 0, 475, 283, 166, 0, 392, 284, 186, 0,
1521 0, 0, 0, 0, 0, 0, 169, 0, 351, 0,
1522 0, 0, 285, 286, 287, 288, 478, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1524 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
8f58355a 1525 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
08cf8642 1526 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1527 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1528 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1529 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1530 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1531 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1532 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1533 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1534 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1535 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1536 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1537 0, 291, 0, 0, 0, 0, 479, 480, 481, 29,
1538 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1539 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1540 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1541 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1542 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1543 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1544 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1545 23, 0, 0, 281, 282, 0, 0, 0, 0, 0,
1546 0, 0, 475, 283, 166, 0, 0, 284, 0, 0,
1547 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1548 0, 0, 285, 286, 287, 288, 0, 0, 0, 0,
1549 0, 0, 0, 0, 0, 0, 289, 290, 0, 0,
1550 0, 291, 0, 0, 0, 0, 0, 0, 0, 29,
1551 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1552 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1553 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1554 59, 60, 61, 62, 63, 0, 64, 0, 0, 292,
1555 293, 0, 0, 0, 0, 0, 294, 0, 67, 0,
1556 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1557 78, 0, 79, 80, 81, 161, 0, 0, 162, 0,
1558 23, 0, 163, 164, 0, 0, 165, 282, 0, 0,
1559 0, 0, 24, 0, 166, 11, 0, 0, 167, 168,
1560 284, 0, 0, 0, 0, 0, 169, 0, 0, 0,
1561 0, 170, 0, 0, 0, 285, 286, 287, 288, 0,
1562 0, 0, 0, 0, 0, 0, 0, 171, 0, 289,
1563 0, 0, 0, 0, 291, 0, 0, 0, 172, 29,
1564 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1565 40, 41, 42, 43, 44, 45, 46, 47, 0, 48,
1566 49, 50, 51, 52, 53, 54, 55, 56, 57, 113,
1567 59, 60, 61, 62, 63, 23, 64, 0, 0, 0,
1568 0, 0, 292, 293, 0, 0, 0, 24, 67, 294,
1569 69, 70, 71, 72, 0, 0, 74, 75, 76, 77,
1570 78, 0, 79, 80, 81, 0, 0, 0, 0, 0,
1571 0, 0, 0, 0, 0, 25, 0, 26, 0, 0,
1572 0, 0, 0, 27, 0, 0, 0, 0, 0, 28,
1573 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
8f58355a 1574 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
08cf8642 1575 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1576 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1577 0, 64, 0, 0, 0, 0, 65, 0, 23, 0,
1578 66, 0, 5, 67, 68, 69, 70, 71, 72, 73,
1579 24, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1580 82, 83, 84, 85, 0, 0, 0, 0, 0, 0,
1581 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
1582 26, 0, 0, 0, 0, 0, 27, 0, 0, 0,
1583 0, 0, 28, 0, 0, 0, 0, 29, 30, 31,
1584 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1585 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1586 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1587 61, 62, 63, 23, 64, 0, 0, 0, 0, 65,
1588 0, 0, 0, 66, 0, 24, 67, 68, 69, 70,
1589 71, 72, 73, 0, 74, 75, 76, 77, 78, 0,
1590 79, 80, 81, 82, 83, 84, 85, 0, 0, 0,
1591 0, 0, 0, 0, 0, 26, 0, 0, 0, 0,
1592 0, 27, 0, 0, 0, 0, 0, 28, 0, 0,
1593 0, 0, 29, 30, 31, 32, 33, 34, 35, 36,
1594 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1595 47, 0, 48, 49, 50, 51, 52, 53, 54, 55,
1596 56, 57, 58, 59, 60, 61, 62, 63, 0, 64,
1597 0, 0, 0, 0, 0, 23, 0, 0, 66, 0,
1598 0, 67, 68, 69, 70, 71, 72, 24, 0, 74,
1599 75, 76, 77, 78, 0, 79, 80, 81, 82, 83,
1600 84, 85, 559, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1603 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1604 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1605 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1606 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1607 441, 64, 23, 0, 0, 219, 359, 0, 0, 0,
1608 0, 0, 0, 67, 24, 69, 70, 71, 72, 133,
1609 0, 74, 75, 76, 77, 78, 0, 79, 80, 81,
1610 0, 83, 84, 85, 0, 0, 0, 0, 0, 0,
e5081f8c 1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1613 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1614 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1615 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1616 57, 113, 59, 60, 61, 62, 63, 241, 64, 23,
1617 0, 0, 219, 242, 0, 0, 0, 0, 0, 0,
1618 67, 24, 69, 70, 71, 72, 0, 0, 74, 75,
1619 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
e5081f8c 1620 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1622 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1623 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1624 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1625 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1626 60, 61, 62, 63, 23, 64, 0, 0, 0, 0,
1627 0, 0, 0, 0, 0, 0, 24, 67, 0, 69,
1628 70, 71, 72, 0, 0, 74, 75, 76, 77, 78,
1629 252, 79, 80, 81, 0, 0, 0, 0, 0, 0,
e5081f8c 1630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1632 316, 317, 0, 29, 30, 31, 32, 33, 34, 35,
1633 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1634 46, 47, 0, 48, 49, 50, 51, 52, 53, 54,
1635 55, 56, 57, 113, 59, 60, 61, 62, 63, 0,
1636 64, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 67, 24, 69, 70, 71, 72, 0, 0,
1638 74, 75, 76, 77, 78, 0, 79, 80, 81, 0,
1639 323, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1640 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1642 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1643 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1644 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1645 113, 59, 60, 61, 62, 63, 0, 64, 23, 0,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1647 24, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1648 77, 78, 252, 79, 80, 81, 0, 325, 0, 0,
e5081f8c 1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1651 0, 0, 0, 0, 0, 0, 0, 29, 30, 31,
1652 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1653 42, 43, 44, 45, 46, 47, 0, 48, 49, 50,
1654 51, 52, 53, 54, 55, 56, 57, 113, 59, 60,
1655 61, 62, 63, 0, 64, 23, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 67, 24, 69, 70,
1657 71, 72, 0, 0, 74, 75, 76, 77, 78, 252,
1658 79, 80, 81, 0, 432, 0, 0, 0, 0, 0,
e5081f8c 1659 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1661 0, 0, 0, 0, 29, 30, 31, 32, 33, 34,
1662 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1663 45, 46, 47, 0, 48, 49, 50, 51, 52, 53,
1664 54, 55, 56, 57, 113, 59, 60, 61, 62, 63,
1665 0, 64, 23, 0, 0, 0, 0, 0, 0, 0,
1666 0, 0, 0, 67, 24, 69, 70, 71, 72, 0,
1667 0, 74, 75, 76, 77, 78, 252, 79, 80, 81,
1668 0, 514, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1670 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1671 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1672 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1673 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1674 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1676 67, 0, 69, 70, 71, 72, 0, 0, 74, 75,
1677 76, 77, 78, 252, 79, 80, 81, 0, 0, 0,
e5081f8c 1678 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1679 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1680 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1681 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1682 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1683 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1684 62, 63, 23, 64, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 24, 67, 0, 69, 70, 71,
1686 72, 0, 0, 74, 75, 76, 77, 78, 252, 79,
1687 80, 81, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1690 0, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1691 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1692 0, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1693 57, 113, 59, 60, 61, 62, 63, 23, 64, 0,
1694 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,
1695 67, 0, 69, 70, 71, 72, 0, 269, 74, 75,
1696 76, 77, 78, 0, 79, 80, 81, 0, 0, 0,
368f75ae 1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1698 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1699 0, 0, 0, 0, 0, 0, 29, 30, 31, 32,
1700 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1701 43, 44, 45, 46, 47, 0, 48, 49, 50, 51,
1702 52, 53, 54, 55, 56, 57, 113, 59, 60, 61,
1703 62, 63, 0, 64, 0, 0, 0, 0, 0, 23,
1704 0, 0, 0, 0, 0, 67, 0, 69, 70, 71,
1705 72, 24, 0, 74, 75, 76, 77, 78, 438, 79,
1706 80, 81, 0, 0, 0, 0, 460, 0, 0, 0,
e5081f8c 1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1709 0, 0, 0, 0, 0, 0, 0, 0, 29, 30,
1710 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1711 41, 42, 43, 44, 45, 46, 47, 0, 48, 49,
1712 50, 51, 52, 53, 54, 55, 56, 57, 113, 59,
1713 60, 61, 62, 63, 0, 64, 0, 0, 0, 0,
1714 0, 23, 0, 0, 0, 0, 0, 67, 0, 69,
1715 70, 71, 72, 24, 0, 74, 75, 76, 77, 78,
1716 0, 79, 80, 81, 0, 0, 0, 0, 462, 0,
e5081f8c 1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1720 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1721 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1722 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1723 113, 59, 60, 61, 62, 63, 23, 64, 0, 0,
1724 0, 0, 0, 0, 0, 0, 0, 0, 24, 67,
1725 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1726 77, 78, 0, 79, 80, 81, 0, 0, 0, 0,
368f75ae 1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1729 0, 0, 0, 0, 568, 29, 30, 31, 32, 33,
1730 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1731 44, 45, 46, 47, 0, 48, 49, 50, 51, 52,
1732 53, 54, 55, 56, 57, 113, 59, 60, 61, 62,
1733 63, 23, 64, 0, 0, 0, 0, 0, 0, 0,
1734 0, 0, 0, 24, 67, 0, 69, 70, 71, 72,
1735 0, 0, 74, 75, 76, 77, 78, 0, 79, 80,
1736 81, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1739 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1740 39, 40, 41, 42, 43, 44, 45, 46, 47, 0,
1741 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1742 113, 59, 60, 61, 62, 63, 0, 64, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,
1744 0, 69, 70, 71, 72, 0, 0, 74, 75, 76,
1745 77, 78, 0, 79, 80, 81, 161, 0, 0, 162,
1746 0, 0, 0, 0, 281, 282, 0, 0, 0, 0,
1747 0, 0, 0, 11, 283, 166, 352, 0, 284, 0,
1748 0, 0, 161, 0, 0, 162, 0, 169, 353, 0,
1749 281, 282, 0, 285, 286, 287, 288, 0, 0, 11,
1750 283, 166, 0, 0, 284, 0, 0, 289, 290, 0,
1751 0, 0, 291, 169, 0, 381, 0, 0, 0, 285,
1752 286, 287, 288, 0, 0, 0, 0, 0, 0, 0,
1753 0, 0, 161, 289, 290, 162, 0, 0, 291, 0,
1754 281, 282, 0, 0, 0, 0, 0, 0, 0, 11,
1755 283, 166, 0, 0, 284, 0, 0, 0, 0, 0,
1756 292, 293, 0, 169, 0, 496, 0, 294, 0, 285,
1757 286, 287, 288, 161, 0, 0, 162, 0, 0, 0,
1758 0, 281, 282, 289, 290, 0, 292, 293, 291, 0,
1759 11, 283, 166, 294, 0, 284, 0, 0, 0, 0,
1760 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1761 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 161, 289, 290, 162, 0, 0, 291,
1763 0, 281, 282, 0, 0, 0, 292, 293, 0, 0,
1764 11, 0, 166, 294, 0, 284, 0, 0, 0, 0,
1765 0, 0, 0, 0, 169, 0, 0, 0, 0, 0,
1766 285, 286, 287, 288, 0, 0, 0, 0, 0, 0,
1767 0, 0, 0, 0, 289, 0, 0, 292, 293, 291,
1768 0, 0, 0, 0, 294, 0, 0, 0, 0, 0,
e5081f8c 1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 1772 0, 0, 0, 0, 0, 0, 0, 292, 293, 0,
1773 0, 0, 0, 0, 294
885824d3 1774};
1775
08cf8642 1776static const yytype_int16 yycheck[] =
e5081f8c 1777{
08cf8642 1778 25, 6, 10, 23, 127, 187, 311, 102, 99, 4,
1779 5, 112, 122, 14, 217, 10, 219, 282, 23, 129,
1780 210, 26, 302, 18, 202, 290, 145, 146, 57, 139,
1781 25, 241, 242, 73, 18, 6, 305, 306, 220, 14,
1782 222, 410, 7, 365, 527, 60, 3, 142, 568, 297,
1783 0, 579, 658, 659, 6, 7, 8, 12, 14, 180,
1784 6, 66, 102, 68, 670, 434, 672, 168, 622, 34,
1785 598, 554, 7, 601, 594, 70, 51, 82, 281, 633,
1786 37, 37, 122, 78, 79, 37, 115, 335, 93, 129,
1787 105, 269, 620, 647, 297, 464, 101, 32, 112, 139,
1788 237, 12, 142, 631, 199, 145, 146, 112, 31, 20,
1789 111, 232, 107, 234, 25, 97, 111, 7, 398, 256,
1790 405, 386, 127, 46, 225, 120, 448, 449, 393, 151,
1791 152, 416, 6, 7, 8, 140, 141, 256, 239, 240,
1792 405, 23, 32, 412, 392, 246, 7, 62, 358, 359,
1793 7, 416, 7, 35, 168, 246, 127, 7, 25, 199,
1794 529, 35, 7, 158, 346, 185, 356, 172, 163, 140,
1795 141, 32, 167, 7, 158, 32, 216, 32, 33, 357,
1796 185, 127, 32, 552, 553, 388, 389, 390, 3, 211,
1797 212, 213, 214, 12, 140, 141, 7, 375, 32, 7,
1798 12, 3, 20, 304, 7, 3, 25, 25, 473, 21,
1799 320, 225, 492, 218, 12, 3, 256, 35, 20, 6,
1800 225, 32, 244, 25, 12, 239, 240, 25, 20, 32,
1801 31, 441, 246, 25, 239, 240, 231, 25, 233, 358,
1802 359, 43, 40, 41, 42, 43, 10, 11, 24, 37,
1803 11, 12, 40, 41, 42, 43, 32, 562, 12, 612,
1804 442, 614, 26, 466, 28, 29, 30, 31, 533, 274,
1805 275, 25, 277, 368, 38, 3, 37, 7, 6, 32,
1806 320, 376, 35, 11, 12, 7, 40, 41, 42, 43,
1807 11, 12, 20, 21, 22, 7, 20, 25, 399, 400,
1808 32, 25, 32, 11, 12, 37, 34, 572, 36, 12,
1809 32, 12, 40, 41, 42, 43, 37, 12, 358, 359,
1810 32, 343, 441, 345, 25, 32, 54, 55, 368, 37,
1811 37, 59, 3, 536, 35, 6, 376, 33, 541, 361,
1812 362, 649, 6, 39, 32, 385, 11, 12, 12, 37,
1813 658, 659, 112, 6, 112, 20, 20, 22, 11, 12,
1814 25, 25, 670, 32, 672, 673, 674, 34, 37, 34,
1815 97, 377, 377, 379, 379, 40, 41, 42, 43, 107,
1816 108, 12, 3, 32, 389, 390, 114, 27, 37, 54,
1817 32, 12, 595, 34, 59, 37, 519, 32, 23, 24,
1818 12, 441, 37, 27, 25, 24, 609, 32, 403, 404,
1819 35, 406, 615, 32, 3, 410, 37, 36, 440, 40,
1820 41, 42, 43, 12, 583, 32, 32, 11, 12, 588,
1821 36, 526, 437, 11, 12, 37, 25, 445, 32, 434,
1822 53, 6, 107, 108, 11, 12, 11, 12, 37, 114,
1823 445, 40, 41, 42, 43, 20, 3, 11, 12, 6,
1824 25, 481, 6, 10, 11, 6, 561, 14, 578, 464,
1825 11, 12, 27, 20, 3, 22, 481, 6, 25, 26,
1826 27, 10, 11, 7, 25, 14, 526, 34, 673, 674,
1827 33, 531, 39, 22, 20, 78, 79, 26, 145, 146,
1828 239, 240, 394, 395, 20, 34, 25, 547, 55, 112,
1829 39, 34, 78, 79, 519, 116, 112, 118, 36, 120,
1830 121, 561, 34, 124, 125, 126, 127, 532, 27, 111,
1831 131, 132, 8, 37, 529, 32, 541, 20, 578, 20,
1832 32, 32, 37, 548, 32, 12, 12, 12, 12, 557,
1833 12, 14, 31, 593, 7, 7, 34, 552, 553, 36,
1834 7, 36, 557, 568, 37, 37, 37, 27, 27, 116,
1835 27, 118, 27, 120, 121, 31, 37, 124, 125, 126,
1836 127, 25, 622, 34, 131, 132, 35, 7, 34, 594,
1837 31, 27, 27, 633, 37, 32, 12, 622, 31, 31,
1838 58, 51, 32, 37, 609, 27, 646, 647, 633, 649,
1839 37, 37, 37, 653, 26, 32, 34, 7, 658, 659,
1840 35, 646, 647, 37, 7, 650, 49, 21, 653, 60,
1841 670, 37, 672, 673, 674, 3, 106, 12, 6, 47,
1842 8, 7, 61, 11, 12, 46, 7, 52, 34, 37,
1843 7, 7, 20, 21, 22, 48, 35, 25, 7, 35,
1844 12, 12, 33, 35, 10, 11, 34, 7, 3, 8,
1845 25, 12, 40, 41, 42, 43, 22, 45, 12, 89,
1846 26, 2, 28, 29, 30, 31, 54, 55, 34, 6,
1847 375, 59, 38, 6, 107, 63, 64, 65, 66, 67,
e5081f8c 1848 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
08cf8642 1849 78, 79, 80, 81, 82, 83, 84, 85, 127, 87,
e5081f8c 1850 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
08cf8642 1851 98, 99, 100, 101, 102, 127, 104, 111, 127, 107,
1852 108, 225, 240, 239, 463, 219, 114, 216, 116, 593,
1853 118, 119, 120, 121, 602, 565, 124, 125, 126, 127,
1854 128, 541, 130, 131, 132, 3, 609, 625, 6, 368,
1855 8, 358, 275, 11, 12, 229, 308, 168, 246, 531,
1856 302, -1, 20, 21, 22, -1, 297, 25, 120, -1,
1857 -1, -1, -1, -1, -1, -1, 34, -1, 246, -1,
e5081f8c 1858 -1, -1, 40, 41, 42, 43, 44, -1, -1, -1,
08cf8642 1859 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
e5081f8c 1860 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1861 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1862 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1863 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1864 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1865 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1866 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1867 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
08cf8642 1868 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
e5081f8c 1869 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1870 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1871 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1872 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1873 -1, 59, -1, -1, -1, -1, 64, 65, 66, 67,
1874 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1875 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1876 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1877 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1878 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1879 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1880 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
08cf8642 1881 8, -1, -1, 11, 12, -1, -1, -1, -1, -1,
e5081f8c 1882 -1, -1, 20, 21, 22, -1, -1, 25, -1, -1,
1883 -1, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1884 -1, -1, 40, 41, 42, 43, -1, -1, -1, -1,
1885 -1, -1, -1, -1, -1, -1, 54, 55, -1, -1,
1886 -1, 59, -1, -1, -1, -1, -1, -1, -1, 67,
1887 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1888 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1889 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1890 98, 99, 100, 101, 102, -1, 104, -1, -1, 107,
1891 108, -1, -1, -1, -1, -1, 114, -1, 116, -1,
1892 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1893 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
08cf8642 1894 8, -1, 10, 11, -1, -1, 14, 12, -1, -1,
1895 -1, -1, 20, -1, 22, 20, -1, -1, 26, 27,
1896 25, -1, -1, -1, -1, -1, 34, -1, -1, -1,
1897 -1, 39, -1, -1, -1, 40, 41, 42, 43, -1,
1898 -1, -1, -1, -1, -1, -1, -1, 55, -1, 54,
1899 -1, -1, -1, -1, 59, -1, -1, -1, 66, 67,
e5081f8c 1900 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1901 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1902 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1903 98, 99, 100, 101, 102, 8, 104, -1, -1, -1,
08cf8642 1904 -1, -1, 107, 108, -1, -1, -1, 20, 116, 114,
e5081f8c 1905 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1906 128, -1, 130, 131, 132, -1, -1, -1, -1, -1,
1907 -1, -1, -1, -1, -1, 48, -1, 50, -1, -1,
1908 -1, -1, -1, 56, -1, -1, -1, -1, -1, 62,
1909 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1910 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1911 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1912 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1913 -1, 104, -1, -1, -1, -1, 109, -1, 8, -1,
1914 113, -1, 115, 116, 117, 118, 119, 120, 121, 122,
1915 20, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1916 133, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1917 -1, -1, -1, -1, -1, -1, -1, -1, 48, -1,
1918 50, -1, -1, -1, -1, -1, 56, -1, -1, -1,
1919 -1, -1, 62, -1, -1, -1, -1, 67, 68, 69,
1920 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1921 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1922 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1923 100, 101, 102, 8, 104, -1, -1, -1, -1, 109,
1924 -1, -1, -1, 113, -1, 20, 116, 117, 118, 119,
1925 120, 121, 122, -1, 124, 125, 126, 127, 128, -1,
1926 130, 131, 132, 133, 134, 135, 136, -1, -1, -1,
1927 -1, -1, -1, -1, -1, 50, -1, -1, -1, -1,
1928 -1, 56, -1, -1, -1, -1, -1, 62, -1, -1,
1929 -1, -1, 67, 68, 69, 70, 71, 72, 73, 74,
1930 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1931 85, -1, 87, 88, 89, 90, 91, 92, 93, 94,
1932 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
1933 -1, -1, -1, -1, -1, 8, -1, -1, 113, -1,
1934 -1, 116, 117, 118, 119, 120, 121, 20, -1, 124,
1935 125, 126, 127, 128, -1, 130, 131, 132, 133, 134,
1936 135, 136, 35, -1, -1, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1938 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1939 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1940 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1941 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1942 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
08cf8642 1943 6, 104, 8, -1, -1, 11, 12, -1, -1, -1,
e5081f8c 1944 -1, -1, -1, 116, 20, 118, 119, 120, 121, 25,
1945 -1, 124, 125, 126, 127, 128, -1, 130, 131, 132,
1946 -1, 134, 135, 136, -1, -1, -1, -1, -1, -1,
1947 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1948 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1949 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1950 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1951 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1952 96, 97, 98, 99, 100, 101, 102, 6, 104, 8,
08cf8642 1953 -1, -1, 11, 12, -1, -1, -1, -1, -1, -1,
e5081f8c 1954 116, 20, 118, 119, 120, 121, -1, -1, 124, 125,
1955 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
1956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1957 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1958 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
1959 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1960 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1961 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1962 99, 100, 101, 102, 8, 104, -1, -1, -1, -1,
1963 -1, -1, -1, -1, -1, -1, 20, 116, -1, 118,
1964 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1965 129, 130, 131, 132, -1, -1, -1, -1, -1, -1,
1966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1968 64, 65, -1, 67, 68, 69, 70, 71, 72, 73,
1969 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1970 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1971 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
1972 104, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1973 -1, -1, 116, 20, 118, 119, 120, 121, -1, -1,
1974 124, 125, 126, 127, 128, -1, 130, 131, 132, -1,
1975 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1976 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1977 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1978 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1979 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1980 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1981 97, 98, 99, 100, 101, 102, -1, 104, 8, -1,
1982 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
1983 20, 118, 119, 120, 121, -1, -1, 124, 125, 126,
1984 127, 128, 129, 130, 131, 132, -1, 37, -1, -1,
1985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1986 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1987 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
1988 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1989 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1990 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1991 100, 101, 102, -1, 104, 8, -1, -1, -1, -1,
1992 -1, -1, -1, -1, -1, -1, 116, 20, 118, 119,
1993 120, 121, -1, -1, 124, 125, 126, 127, 128, 129,
1994 130, 131, 132, -1, 37, -1, -1, -1, -1, -1,
1995 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1996 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1997 -1, -1, -1, -1, 67, 68, 69, 70, 71, 72,
1998 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1999 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
2000 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2001 -1, 104, 8, -1, -1, -1, -1, -1, -1, -1,
2002 -1, -1, -1, 116, 20, 118, 119, 120, 121, -1,
2003 -1, 124, 125, 126, 127, 128, 129, 130, 131, 132,
2004 -1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
2005 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2007 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2008 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2009 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2010 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2011 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2012 116, -1, 118, 119, 120, 121, -1, -1, 124, 125,
2013 126, 127, 128, 129, 130, 131, 132, -1, -1, -1,
2014 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2015 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2016 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2017 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2018 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2019 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2020 101, 102, 8, 104, -1, -1, -1, -1, -1, -1,
2021 -1, -1, -1, -1, 20, 116, -1, 118, 119, 120,
2022 121, -1, -1, 124, 125, 126, 127, 128, 129, 130,
2023 131, 132, -1, -1, -1, -1, -1, -1, -1, -1,
2024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2026 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2027 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2028 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2029 96, 97, 98, 99, 100, 101, 102, 8, 104, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, -1, 20,
2031 116, -1, 118, 119, 120, 121, -1, 123, 124, 125,
2032 126, 127, 128, -1, 130, 131, 132, -1, -1, -1,
2033 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2034 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2035 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
2036 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2037 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
2038 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
2039 101, 102, -1, 104, -1, -1, -1, -1, -1, 8,
2040 -1, -1, -1, -1, -1, 116, -1, 118, 119, 120,
2041 121, 20, -1, 124, 125, 126, 127, 128, 129, 130,
2042 131, 132, -1, -1, -1, -1, 35, -1, -1, -1,
2043 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2044 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2045 -1, -1, -1, -1, -1, -1, -1, -1, 67, 68,
2046 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2047 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
2048 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2049 99, 100, 101, 102, -1, 104, -1, -1, -1, -1,
2050 -1, 8, -1, -1, -1, -1, -1, 116, -1, 118,
2051 119, 120, 121, 20, -1, 124, 125, 126, 127, 128,
2052 -1, 130, 131, 132, -1, -1, -1, -1, 35, -1,
2053 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2055 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2056 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2057 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2058 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2059 97, 98, 99, 100, 101, 102, 8, 104, -1, -1,
2060 -1, -1, -1, -1, -1, -1, -1, -1, 20, 116,
2061 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2062 127, 128, -1, 130, 131, 132, -1, -1, -1, -1,
2063 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2064 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2065 -1, -1, -1, -1, 66, 67, 68, 69, 70, 71,
2066 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2067 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
2068 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2069 102, 8, 104, -1, -1, -1, -1, -1, -1, -1,
2070 -1, -1, -1, 20, 116, -1, 118, 119, 120, 121,
2071 -1, -1, 124, 125, 126, 127, 128, -1, 130, 131,
2072 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2075 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2076 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
2077 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2078 97, 98, 99, 100, 101, 102, -1, 104, -1, -1,
2079 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
2080 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
2081 127, 128, -1, 130, 131, 132, 3, -1, -1, 6,
08cf8642 2082 -1, -1, -1, -1, 11, 12, -1, -1, -1, -1,
e5081f8c 2083 -1, -1, -1, 20, 21, 22, 23, -1, 25, -1,
08cf8642 2084 -1, -1, 3, -1, -1, 6, -1, 34, 35, -1,
2085 11, 12, -1, 40, 41, 42, 43, -1, -1, 20,
e5081f8c 2086 21, 22, -1, -1, 25, -1, -1, 54, 55, -1,
2087 -1, -1, 59, 34, -1, 36, -1, -1, -1, 40,
2088 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2089 -1, -1, 3, 54, 55, 6, -1, -1, 59, -1,
2090 11, 12, -1, -1, -1, -1, -1, -1, -1, 20,
e5081f8c 2091 21, 22, -1, -1, 25, -1, -1, -1, -1, -1,
2092 107, 108, -1, 34, -1, 36, -1, 114, -1, 40,
2093 41, 42, 43, 3, -1, -1, 6, -1, -1, -1,
08cf8642 2094 -1, 11, 12, 54, 55, -1, 107, 108, 59, -1,
e5081f8c 2095 20, 21, 22, 114, -1, 25, -1, -1, -1, -1,
08cf8642 2096 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
e5081f8c 2097 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2098 -1, -1, -1, 3, 54, 55, 6, -1, -1, 59,
08cf8642 2099 -1, 11, 12, -1, -1, -1, 107, 108, -1, -1,
2100 20, -1, 22, 114, -1, 25, -1, -1, -1, -1,
2101 -1, -1, -1, -1, 34, -1, -1, -1, -1, -1,
2102 40, 41, 42, 43, -1, -1, -1, -1, -1, -1,
2103 -1, -1, -1, -1, 54, -1, -1, 107, 108, 59,
2104 -1, -1, -1, -1, 114, -1, -1, -1, -1, -1,
e5081f8c 2105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
e5081f8c 2106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 2107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2108 -1, -1, -1, -1, -1, -1, -1, 107, 108, -1,
2109 -1, -1, -1, -1, 114
885824d3 2110};
3e3ec469 2111
08cf8642 2112/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2113 symbol of state STATE-NUM. */
2114static const yytype_uint16 yystos[] =
2115{
2116 0, 138, 140, 0, 57, 115, 139, 141, 145, 146,
2117 3, 20, 25, 43, 176, 177, 179, 284, 12, 180,
2118 181, 284, 290, 8, 20, 48, 50, 56, 62, 67,
2119 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2120 78, 79, 80, 81, 82, 83, 84, 85, 87, 88,
2121 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
2122 99, 100, 101, 102, 104, 109, 113, 116, 117, 118,
2123 119, 120, 121, 122, 124, 125, 126, 127, 128, 130,
2124 131, 132, 133, 134, 135, 136, 142, 147, 148, 152,
2125 155, 156, 157, 158, 159, 162, 164, 173, 224, 225,
2126 226, 227, 228, 231, 239, 179, 7, 32, 182, 290,
2127 7, 32, 12, 97, 228, 229, 231, 239, 25, 284,
2128 285, 288, 228, 171, 165, 167, 62, 153, 228, 228,
2129 234, 284, 287, 25, 286, 234, 287, 234, 287, 228,
2130 143, 143, 228, 224, 228, 6, 12, 20, 190, 191,
2131 241, 242, 243, 286, 7, 7, 3, 177, 32, 37,
2132 181, 3, 6, 10, 11, 14, 22, 26, 27, 34,
2133 39, 55, 66, 183, 184, 185, 186, 228, 246, 250,
2134 251, 253, 265, 6, 230, 31, 288, 12, 190, 241,
2135 112, 112, 97, 169, 154, 155, 156, 157, 159, 174,
2136 190, 34, 12, 232, 233, 190, 144, 146, 147, 152,
2137 241, 242, 243, 242, 243, 7, 32, 33, 192, 11,
2138 12, 249, 12, 249, 290, 12, 284, 27, 254, 255,
2139 284, 10, 11, 26, 251, 253, 27, 228, 37, 32,
2140 32, 6, 12, 247, 248, 249, 53, 254, 27, 6,
2141 229, 7, 129, 207, 208, 209, 228, 245, 7, 20,
2142 20, 112, 112, 220, 221, 241, 7, 25, 240, 123,
2143 149, 150, 151, 245, 34, 34, 7, 192, 37, 37,
2144 191, 11, 12, 21, 25, 40, 41, 42, 43, 54,
2145 55, 59, 107, 108, 114, 188, 189, 251, 261, 262,
2146 263, 264, 265, 266, 269, 270, 271, 272, 274, 277,
2147 278, 279, 280, 284, 286, 291, 64, 65, 160, 193,
2148 228, 36, 189, 37, 208, 37, 208, 183, 36, 24,
2149 32, 256, 284, 254, 284, 254, 27, 111, 247, 185,
2150 246, 186, 246, 248, 208, 248, 12, 249, 187, 224,
2151 250, 291, 23, 35, 252, 8, 37, 32, 6, 12,
2152 20, 242, 244, 247, 172, 166, 20, 20, 32, 175,
2153 222, 32, 238, 245, 37, 32, 228, 235, 236, 235,
2154 161, 36, 261, 273, 262, 281, 12, 262, 12, 12,
2155 12, 252, 273, 14, 33, 39, 266, 269, 265, 267,
2156 268, 274, 274, 31, 10, 11, 26, 28, 29, 30,
2157 31, 38, 270, 276, 12, 280, 12, 7, 7, 34,
2158 190, 36, 37, 37, 37, 27, 27, 36, 252, 27,
2159 37, 37, 37, 208, 31, 257, 27, 192, 129, 245,
2160 244, 6, 12, 249, 7, 34, 215, 215, 168, 170,
2161 221, 7, 34, 223, 25, 35, 7, 151, 237, 241,
2162 35, 236, 35, 34, 31, 36, 256, 37, 282, 283,
2163 286, 262, 275, 111, 261, 20, 228, 261, 44, 64,
2164 65, 66, 203, 204, 229, 261, 252, 262, 264, 264,
2165 269, 265, 265, 284, 289, 284, 36, 275, 284, 289,
2166 274, 260, 261, 275, 194, 7, 27, 27, 51, 37,
2167 258, 259, 289, 163, 37, 208, 35, 178, 179, 216,
2168 215, 215, 58, 217, 218, 7, 32, 194, 289, 31,
2169 261, 32, 31, 32, 37, 262, 32, 37, 37, 37,
2170 229, 32, 37, 269, 36, 37, 37, 60, 105, 195,
2171 196, 27, 26, 32, 34, 37, 7, 32, 35, 35,
2172 159, 228, 219, 35, 241, 196, 289, 283, 66, 199,
2173 228, 262, 51, 261, 204, 197, 198, 286, 228, 49,
2174 200, 289, 289, 196, 179, 7, 241, 280, 200, 199,
2175 262, 37, 7, 32, 31, 46, 190, 260, 106, 201,
2176 201, 12, 201, 198, 199, 261, 7, 7, 260, 61,
2177 202, 47, 210, 260, 202, 46, 7, 45, 63, 203,
2178 52, 205, 34, 205, 37, 205, 261, 7, 7, 7,
2179 260, 48, 206, 12, 25, 211, 212, 285, 286, 35,
2180 206, 7, 260, 35, 211, 6, 7, 8, 35, 12,
2181 33, 35, 7, 7, 37, 35, 211, 211, 3, 12,
2182 37, 213, 214, 278, 285, 286, 25, 285, 214, 214,
2183 32, 37, 3, 12, 12, 37, 214, 214, 37, 213,
2184 37, 213, 37, 37
2185};
885824d3 2186
08cf8642 2187#define yyerrok (yyerrstatus = 0)
2188#define yyclearin (yychar = YYEMPTY)
2189#define YYEMPTY (-2)
2190#define YYEOF 0
885824d3 2191
08cf8642 2192#define YYACCEPT goto yyacceptlab
2193#define YYABORT goto yyabortlab
2194#define YYERROR goto yyerrorlab
885824d3 2195
885824d3 2196
08cf8642 2197/* Like YYERROR except do call yyerror. This remains here temporarily
2198 to ease the transition to the new meaning of YYERROR, for GCC.
2199 Once GCC version 2 has supplanted version 1, this can go. */
e5081f8c 2200
08cf8642 2201#define YYFAIL goto yyerrlab
e5081f8c 2202
08cf8642 2203#define YYRECOVERING() (!!yyerrstatus)
e5081f8c 2204
08cf8642 2205#define YYBACKUP(Token, Value) \
2206do \
2207 if (yychar == YYEMPTY && yylen == 1) \
2208 { \
2209 yychar = (Token); \
2210 yylval = (Value); \
2211 yytoken = YYTRANSLATE (yychar); \
2212 YYPOPSTACK (1); \
2213 goto yybackup; \
2214 } \
2215 else \
2216 { \
2217 yyerror (YY_("syntax error: cannot back up")); \
2218 YYERROR; \
2219 } \
2220while (YYID (0))
e5081f8c 2221
368f75ae 2222
08cf8642 2223#define YYTERROR 1
2224#define YYERRCODE 256
368f75ae 2225
368f75ae 2226
08cf8642 2227/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2228 If N is 0, then set CURRENT to the empty location which ends
2229 the previous symbol: RHS[0] (always defined). */
368f75ae 2230
08cf8642 2231#define YYRHSLOC(Rhs, K) ((Rhs)[K])
2232#ifndef YYLLOC_DEFAULT
2233# define YYLLOC_DEFAULT(Current, Rhs, N) \
2234 do \
2235 if (YYID (N)) \
2236 { \
2237 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2238 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2239 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2240 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2241 } \
2242 else \
2243 { \
2244 (Current).first_line = (Current).last_line = \
2245 YYRHSLOC (Rhs, 0).last_line; \
2246 (Current).first_column = (Current).last_column = \
2247 YYRHSLOC (Rhs, 0).last_column; \
2248 } \
2249 while (YYID (0))
2250#endif
368f75ae 2251
368f75ae 2252
08cf8642 2253/* YY_LOCATION_PRINT -- Print the location on the stream.
2254 This macro was not mandated originally: define only if we know
2255 we won't break user code: when these are the locations we know. */
368f75ae 2256
08cf8642 2257#ifndef YY_LOCATION_PRINT
2258# if YYLTYPE_IS_TRIVIAL
2259# define YY_LOCATION_PRINT(File, Loc) \
2260 fprintf (File, "%d.%d-%d.%d", \
2261 (Loc).first_line, (Loc).first_column, \
2262 (Loc).last_line, (Loc).last_column)
368f75ae 2263# else
08cf8642 2264# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
368f75ae 2265# endif
08cf8642 2266#endif
368f75ae 2267
368f75ae 2268
08cf8642 2269/* YYLEX -- calling `yylex' with the right arguments. */
368f75ae 2270
08cf8642 2271#ifdef YYLEX_PARAM
2272# define YYLEX yylex (YYLEX_PARAM)
2273#else
2274# define YYLEX yylex ()
368f75ae 2275#endif
2276
08cf8642 2277/* Enable debugging if requested. */
2278#if YYDEBUG
368f75ae 2279
08cf8642 2280# ifndef YYFPRINTF
2281# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2282# define YYFPRINTF fprintf
368f75ae 2283# endif
08cf8642 2284
2285# define YYDPRINTF(Args) \
2286do { \
2287 if (yydebug) \
2288 YYFPRINTF Args; \
2289} while (YYID (0))
2290
2291# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2292do { \
2293 if (yydebug) \
2294 { \
2295 YYFPRINTF (stderr, "%s ", Title); \
2296 yy_symbol_print (stderr, \
2297 Type, Value); \
2298 YYFPRINTF (stderr, "\n"); \
2299 } \
2300} while (YYID (0))
2301
2302
2303/*--------------------------------.
2304| Print this symbol on YYOUTPUT. |
2305`--------------------------------*/
2306
2307/*ARGSUSED*/
2308#if (defined __STDC__ || defined __C99__FUNC__ \
2309 || defined __cplusplus || defined _MSC_VER)
2310static void
2311yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2312#else
2313static void
2314yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2315 FILE *yyoutput;
2316 int yytype;
2317 YYSTYPE const * const yyvaluep;
368f75ae 2318#endif
08cf8642 2319{
2320 if (!yyvaluep)
2321 return;
2322# ifdef YYPRINT
2323 if (yytype < YYNTOKENS)
2324 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2325# else
2326 YYUSE (yyoutput);
2327# endif
2328 switch (yytype)
2329 {
2330 default:
2331 break;
2332 }
2333}
368f75ae 2334
885824d3 2335
08cf8642 2336/*--------------------------------.
2337| Print this symbol on YYOUTPUT. |
2338`--------------------------------*/
885824d3 2339
08cf8642 2340#if (defined __STDC__ || defined __C99__FUNC__ \
2341 || defined __cplusplus || defined _MSC_VER)
2342static void
2343yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2344#else
2345static void
2346yy_symbol_print (yyoutput, yytype, yyvaluep)
2347 FILE *yyoutput;
2348 int yytype;
2349 YYSTYPE const * const yyvaluep;
2350#endif
2351{
2352 if (yytype < YYNTOKENS)
2353 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2354 else
2355 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
368f75ae 2356
08cf8642 2357 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2358 YYFPRINTF (yyoutput, ")");
2359}
368f75ae 2360
08cf8642 2361/*------------------------------------------------------------------.
2362| yy_stack_print -- Print the state stack from its BOTTOM up to its |
2363| TOP (included). |
2364`------------------------------------------------------------------*/
885824d3 2365
08cf8642 2366#if (defined __STDC__ || defined __C99__FUNC__ \
2367 || defined __cplusplus || defined _MSC_VER)
2368static void
2369yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2370#else
2371static void
2372yy_stack_print (bottom, top)
2373 yytype_int16 *bottom;
2374 yytype_int16 *top;
885824d3 2375#endif
08cf8642 2376{
2377 YYFPRINTF (stderr, "Stack now");
2378 for (; bottom <= top; ++bottom)
2379 YYFPRINTF (stderr, " %d", *bottom);
2380 YYFPRINTF (stderr, "\n");
2381}
885824d3 2382
08cf8642 2383# define YY_STACK_PRINT(Bottom, Top) \
2384do { \
2385 if (yydebug) \
2386 yy_stack_print ((Bottom), (Top)); \
2387} while (YYID (0))
368f75ae 2388
368f75ae 2389
08cf8642 2390/*------------------------------------------------.
2391| Report that the YYRULE is going to be reduced. |
2392`------------------------------------------------*/
e5081f8c 2393
08cf8642 2394#if (defined __STDC__ || defined __C99__FUNC__ \
2395 || defined __cplusplus || defined _MSC_VER)
2396static void
2397yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2398#else
2399static void
2400yy_reduce_print (yyvsp, yyrule)
2401 YYSTYPE *yyvsp;
2402 int yyrule;
2403#endif
2404{
2405 int yynrhs = yyr2[yyrule];
2406 int yyi;
2407 unsigned long int yylno = yyrline[yyrule];
2408 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2409 yyrule - 1, yylno);
2410 /* The symbols being reduced. */
2411 for (yyi = 0; yyi < yynrhs; yyi++)
2412 {
2413 fprintf (stderr, " $%d = ", yyi + 1);
2414 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2415 &(yyvsp[(yyi + 1) - (yynrhs)])
2416 );
2417 fprintf (stderr, "\n");
2418 }
2419}
e5081f8c 2420
08cf8642 2421# define YY_REDUCE_PRINT(Rule) \
2422do { \
2423 if (yydebug) \
2424 yy_reduce_print (yyvsp, Rule); \
2425} while (YYID (0))
885824d3 2426
e5081f8c 2427/* Nonzero means print parse trace. It is left uninitialized so that
2428 multiple parsers can coexist. */
2429int yydebug;
2430#else /* !YYDEBUG */
2431# define YYDPRINTF(Args)
08cf8642 2432# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2433# define YY_STACK_PRINT(Bottom, Top)
2434# define YY_REDUCE_PRINT(Rule)
e5081f8c 2435#endif /* !YYDEBUG */
2436
08cf8642 2437
e5081f8c 2438/* YYINITDEPTH -- initial size of the parser's stacks. */
885824d3 2439#ifndef YYINITDEPTH
e5081f8c 2440# define YYINITDEPTH 200
885824d3 2441#endif
2442
e5081f8c 2443/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2444 if the built-in stack extension method is used).
2445
2446 Do not make this value too large; the results are undefined if
08cf8642 2447 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
e5081f8c 2448 evaluated with infinite-precision integer arithmetic. */
a889b5ee 2449
885824d3 2450#ifndef YYMAXDEPTH
e5081f8c 2451# define YYMAXDEPTH 10000
885824d3 2452#endif
08cf8642 2453
885824d3 2454\f
08cf8642 2455
2456#if YYERROR_VERBOSE
e5081f8c 2457
2458# ifndef yystrlen
08cf8642 2459# if defined __GLIBC__ && defined _STRING_H
e5081f8c 2460# define yystrlen strlen
2461# else
2462/* Return the length of YYSTR. */
08cf8642 2463#if (defined __STDC__ || defined __C99__FUNC__ \
2464 || defined __cplusplus || defined _MSC_VER)
e5081f8c 2465static YYSIZE_T
e5081f8c 2466yystrlen (const char *yystr)
08cf8642 2467#else
2468static YYSIZE_T
e5081f8c 2469yystrlen (yystr)
08cf8642 2470 const char *yystr;
2471#endif
885824d3 2472{
08cf8642 2473 YYSIZE_T yylen;
2474 for (yylen = 0; yystr[yylen]; yylen++)
e5081f8c 2475 continue;
08cf8642 2476 return yylen;
e5081f8c 2477}
2478# endif
2479# endif
a889b5ee 2480
e5081f8c 2481# ifndef yystpcpy
08cf8642 2482# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
e5081f8c 2483# define yystpcpy stpcpy
2484# else
2485/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2486 YYDEST. */
08cf8642 2487#if (defined __STDC__ || defined __C99__FUNC__ \
2488 || defined __cplusplus || defined _MSC_VER)
e5081f8c 2489static char *
e5081f8c 2490yystpcpy (char *yydest, const char *yysrc)
08cf8642 2491#else
2492static char *
e5081f8c 2493yystpcpy (yydest, yysrc)
08cf8642 2494 char *yydest;
2495 const char *yysrc;
2496#endif
0866200b 2497{
08cf8642 2498 char *yyd = yydest;
2499 const char *yys = yysrc;
a889b5ee 2500
e5081f8c 2501 while ((*yyd++ = *yys++) != '\0')
2502 continue;
0866200b 2503
e5081f8c 2504 return yyd - 1;
2505}
2506# endif
2507# endif
885824d3 2508
08cf8642 2509# ifndef yytnamerr
2510/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2511 quotes and backslashes, so that it's suitable for yyerror. The
2512 heuristic is that double-quoting is unnecessary unless the string
2513 contains an apostrophe, a comma, or backslash (other than
2514 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2515 null, do not copy; instead, return the length of what the result
2516 would have been. */
2517static YYSIZE_T
2518yytnamerr (char *yyres, const char *yystr)
2519{
2520 if (*yystr == '"')
2521 {
2522 YYSIZE_T yyn = 0;
2523 char const *yyp = yystr;
2524
2525 for (;;)
2526 switch (*++yyp)
2527 {
2528 case '\'':
2529 case ',':
2530 goto do_not_strip_quotes;
2531
2532 case '\\':
2533 if (*++yyp != '\\')
2534 goto do_not_strip_quotes;
2535 /* Fall through. */
2536 default:
2537 if (yyres)
2538 yyres[yyn] = *yyp;
2539 yyn++;
2540 break;
2541
2542 case '"':
2543 if (yyres)
2544 yyres[yyn] = '\0';
2545 return yyn;
2546 }
2547 do_not_strip_quotes: ;
2548 }
368f75ae 2549
08cf8642 2550 if (! yyres)
2551 return yystrlen (yystr);
885824d3 2552
08cf8642 2553 return yystpcpy (yyres, yystr) - yyres;
2554}
e5081f8c 2555# endif
08cf8642 2556
2557/* Copy into YYRESULT an error message about the unexpected token
2558 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2559 including the terminating null byte. If YYRESULT is null, do not
2560 copy anything; just return the number of bytes that would be
2561 copied. As a special case, return 0 if an ordinary "syntax error"
2562 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2563 size calculation. */
2564static YYSIZE_T
2565yysyntax_error (char *yyresult, int yystate, int yychar)
2566{
2567 int yyn = yypact[yystate];
2568
2569 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2570 return 0;
2571 else
2572 {
2573 int yytype = YYTRANSLATE (yychar);
2574 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2575 YYSIZE_T yysize = yysize0;
2576 YYSIZE_T yysize1;
2577 int yysize_overflow = 0;
2578 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2579 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2580 int yyx;
2581
2582# if 0
2583 /* This is so xgettext sees the translatable formats that are
2584 constructed on the fly. */
2585 YY_("syntax error, unexpected %s");
2586 YY_("syntax error, unexpected %s, expecting %s");
2587 YY_("syntax error, unexpected %s, expecting %s or %s");
2588 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2589 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
368f75ae 2590# endif
08cf8642 2591 char *yyfmt;
2592 char const *yyf;
2593 static char const yyunexpected[] = "syntax error, unexpected %s";
2594 static char const yyexpecting[] = ", expecting %s";
2595 static char const yyor[] = " or %s";
2596 char yyformat[sizeof yyunexpected
2597 + sizeof yyexpecting - 1
2598 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2599 * (sizeof yyor - 1))];
2600 char const *yyprefix = yyexpecting;
2601
2602 /* Start YYX at -YYN if negative to avoid negative indexes in
2603 YYCHECK. */
2604 int yyxbegin = yyn < 0 ? -yyn : 0;
2605
2606 /* Stay within bounds of both yycheck and yytname. */
2607 int yychecklim = YYLAST - yyn + 1;
2608 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2609 int yycount = 1;
2610
2611 yyarg[0] = yytname[yytype];
2612 yyfmt = yystpcpy (yyformat, yyunexpected);
2613
2614 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2615 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2616 {
2617 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2618 {
2619 yycount = 1;
2620 yysize = yysize0;
2621 yyformat[sizeof yyunexpected - 1] = '\0';
2622 break;
2623 }
2624 yyarg[yycount++] = yytname[yyx];
2625 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2626 yysize_overflow |= (yysize1 < yysize);
2627 yysize = yysize1;
2628 yyfmt = yystpcpy (yyfmt, yyprefix);
2629 yyprefix = yyor;
2630 }
2631
2632 yyf = YY_(yyformat);
2633 yysize1 = yysize + yystrlen (yyf);
2634 yysize_overflow |= (yysize1 < yysize);
2635 yysize = yysize1;
2636
2637 if (yysize_overflow)
2638 return YYSIZE_MAXIMUM;
2639
2640 if (yyresult)
2641 {
2642 /* Avoid sprintf, as that infringes on the user's name space.
2643 Don't have undefined behavior even if the translation
2644 produced a string with the wrong number of "%s"s. */
2645 char *yyp = yyresult;
2646 int yyi = 0;
2647 while ((*yyp = *yyf) != '\0')
2648 {
2649 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2650 {
2651 yyp += yytnamerr (yyp, yyarg[yyi++]);
2652 yyf += 2;
2653 }
2654 else
2655 {
2656 yyp++;
2657 yyf++;
2658 }
2659 }
2660 }
2661 return yysize;
2662 }
2663}
2664#endif /* YYERROR_VERBOSE */
2665\f
2666
2667/*-----------------------------------------------.
2668| Release the memory associated to this symbol. |
2669`-----------------------------------------------*/
2670
2671/*ARGSUSED*/
2672#if (defined __STDC__ || defined __C99__FUNC__ \
2673 || defined __cplusplus || defined _MSC_VER)
2674static void
2675yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2676#else
2677static void
2678yydestruct (yymsg, yytype, yyvaluep)
2679 const char *yymsg;
2680 int yytype;
2681 YYSTYPE *yyvaluep;
c05aefaa 2682#endif
08cf8642 2683{
2684 YYUSE (yyvaluep);
8f58355a 2685
08cf8642 2686 if (!yymsg)
2687 yymsg = "Deleting";
2688 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2689
2690 switch (yytype)
2691 {
2692
2693 default:
2694 break;
2695 }
2696}
2697\f
2698
2699/* Prevent warnings from -Wmissing-prototypes. */
c05aefaa 2700
08cf8642 2701#ifdef YYPARSE_PARAM
2702#if defined __STDC__ || defined __cplusplus
2703int yyparse (void *YYPARSE_PARAM);
2704#else
2705int yyparse ();
2706#endif
2707#else /* ! YYPARSE_PARAM */
2708#if defined __STDC__ || defined __cplusplus
2709int yyparse (void);
368f75ae 2710#else
08cf8642 2711int yyparse ();
368f75ae 2712#endif
08cf8642 2713#endif /* ! YYPARSE_PARAM */
2714
2715
e5081f8c 2716
08cf8642 2717/* The look-ahead symbol. */
2718int yychar;
e5081f8c 2719
08cf8642 2720/* The semantic value of the look-ahead symbol. */
2721YYSTYPE yylval;
e5081f8c 2722
08cf8642 2723/* Number of syntax errors so far. */
2724int yynerrs;
2725
2726
2727
2728/*----------.
2729| yyparse. |
2730`----------*/
e5081f8c 2731
08cf8642 2732#ifdef YYPARSE_PARAM
2733#if (defined __STDC__ || defined __C99__FUNC__ \
2734 || defined __cplusplus || defined _MSC_VER)
368f75ae 2735int
08cf8642 2736yyparse (void *YYPARSE_PARAM)
2737#else
2738int
2739yyparse (YYPARSE_PARAM)
2740 void *YYPARSE_PARAM;
2741#endif
2742#else /* ! YYPARSE_PARAM */
2743#if (defined __STDC__ || defined __C99__FUNC__ \
2744 || defined __cplusplus || defined _MSC_VER)
2745int
2746yyparse (void)
2747#else
2748int
2749yyparse ()
368f75ae 2750
08cf8642 2751#endif
2752#endif
2753{
2754
2755 int yystate;
2756 int yyn;
e5081f8c 2757 int yyresult;
2758 /* Number of tokens to shift before error messages enabled. */
2759 int yyerrstatus;
08cf8642 2760 /* Look-ahead token as an internal (translated) token number. */
2761 int yytoken = 0;
2762#if YYERROR_VERBOSE
2763 /* Buffer for error messages, and its allocated size. */
2764 char yymsgbuf[128];
2765 char *yymsg = yymsgbuf;
2766 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2767#endif
e5081f8c 2768
2769 /* Three stacks and their tools:
2770 `yyss': related to states,
2771 `yyvs': related to semantic values,
2772 `yyls': related to locations.
2773
2774 Refer to the stacks thru separate pointers, to allow yyoverflow
2775 to reallocate them elsewhere. */
2776
08cf8642 2777 /* The state stack. */
2778 yytype_int16 yyssa[YYINITDEPTH];
2779 yytype_int16 *yyss = yyssa;
2780 yytype_int16 *yyssp;
a889b5ee 2781
e5081f8c 2782 /* The semantic value stack. */
2783 YYSTYPE yyvsa[YYINITDEPTH];
2784 YYSTYPE *yyvs = yyvsa;
08cf8642 2785 YYSTYPE *yyvsp;
0866200b 2786
885824d3 2787
885824d3 2788
08cf8642 2789#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
885824d3 2790
08cf8642 2791 YYSIZE_T yystacksize = YYINITDEPTH;
368f75ae 2792
e5081f8c 2793 /* The variables used to return semantic value and location from the
2794 action routines. */
2795 YYSTYPE yyval;
0866200b 2796
08cf8642 2797
2798 /* The number of symbols on the RHS of the reduced rule.
2799 Keep to zero when no symbol should be popped. */
2800 int yylen = 0;
885824d3 2801
e5081f8c 2802 YYDPRINTF ((stderr, "Starting parse\n"));
885824d3 2803
2804 yystate = 0;
2805 yyerrstatus = 0;
2806 yynerrs = 0;
2807 yychar = YYEMPTY; /* Cause a token to be read. */
2808
2809 /* Initialize stack pointers.
2810 Waste one element of value and location stack
2811 so that they stay on the same level as the state stack.
2812 The wasted elements are never initialized. */
2813
e5081f8c 2814 yyssp = yyss;
885824d3 2815 yyvsp = yyvs;
08cf8642 2816
e5081f8c 2817 goto yysetstate;
885824d3 2818
e5081f8c 2819/*------------------------------------------------------------.
2820| yynewstate -- Push a new state, which is found in yystate. |
2821`------------------------------------------------------------*/
2822 yynewstate:
2823 /* In all cases, when you get here, the value and location stacks
08cf8642 2824 have just been pushed. So pushing a state here evens the stacks. */
e5081f8c 2825 yyssp++;
885824d3 2826
e5081f8c 2827 yysetstate:
2828 *yyssp = yystate;
885824d3 2829
08cf8642 2830 if (yyss + yystacksize - 1 <= yyssp)
885824d3 2831 {
885824d3 2832 /* Get the current used size of the three stacks, in elements. */
e5081f8c 2833 YYSIZE_T yysize = yyssp - yyss + 1;
885824d3 2834
2835#ifdef yyoverflow
e5081f8c 2836 {
08cf8642 2837 /* Give user a chance to reallocate the stack. Use copies of
e5081f8c 2838 these so that the &'s don't force the real ones into
2839 memory. */
2840 YYSTYPE *yyvs1 = yyvs;
08cf8642 2841 yytype_int16 *yyss1 = yyss;
2842
e5081f8c 2843
2844 /* Each stack pointer address is followed by the size of the
08cf8642 2845 data in use in that stack, in bytes. This used to be a
2846 conditional around just the two extra args, but that might
2847 be undefined if yyoverflow is a macro. */
2848 yyoverflow (YY_("memory exhausted"),
368f75ae 2849 &yyss1, yysize * sizeof (*yyssp),
2850 &yyvs1, yysize * sizeof (*yyvsp),
08cf8642 2851
368f75ae 2852 &yystacksize);
08cf8642 2853
e5081f8c 2854 yyss = yyss1;
2855 yyvs = yyvs1;
2856 }
885824d3 2857#else /* no yyoverflow */
e5081f8c 2858# ifndef YYSTACK_RELOCATE
08cf8642 2859 goto yyexhaustedlab;
e5081f8c 2860# else
885824d3 2861 /* Extend the stack our own way. */
08cf8642 2862 if (YYMAXDEPTH <= yystacksize)
2863 goto yyexhaustedlab;
885824d3 2864 yystacksize *= 2;
08cf8642 2865 if (YYMAXDEPTH < yystacksize)
885824d3 2866 yystacksize = YYMAXDEPTH;
e5081f8c 2867
2868 {
08cf8642 2869 yytype_int16 *yyss1 = yyss;
e5081f8c 2870 union yyalloc *yyptr =
2871 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2872 if (! yyptr)
08cf8642 2873 goto yyexhaustedlab;
e5081f8c 2874 YYSTACK_RELOCATE (yyss);
2875 YYSTACK_RELOCATE (yyvs);
08cf8642 2876
2877# undef YYSTACK_RELOCATE
e5081f8c 2878 if (yyss1 != yyssa)
2879 YYSTACK_FREE (yyss1);
2880 }
2881# endif
885824d3 2882#endif /* no yyoverflow */
2883
e5081f8c 2884 yyssp = yyss + yysize - 1;
2885 yyvsp = yyvs + yysize - 1;
08cf8642 2886
885824d3 2887
e5081f8c 2888 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2889 (unsigned long int) yystacksize));
885824d3 2890
08cf8642 2891 if (yyss + yystacksize - 1 <= yyssp)
885824d3 2892 YYABORT;
2893 }
2894
e5081f8c 2895 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
885824d3 2896
2897 goto yybackup;
e5081f8c 2898
e5081f8c 2899/*-----------.
2900| yybackup. |
2901`-----------*/
2902yybackup:
885824d3 2903
08cf8642 2904 /* Do appropriate processing given the current state. Read a
2905 look-ahead token if we need one and don't already have one. */
885824d3 2906
08cf8642 2907 /* First try to decide what to do without reference to look-ahead token. */
885824d3 2908 yyn = yypact[yystate];
08cf8642 2909 if (yyn == YYPACT_NINF)
885824d3 2910 goto yydefault;
2911
08cf8642 2912 /* Not known => get a look-ahead token if don't already have one. */
368f75ae 2913
08cf8642 2914 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
885824d3 2915 if (yychar == YYEMPTY)
2916 {
e5081f8c 2917 YYDPRINTF ((stderr, "Reading a token: "));
885824d3 2918 yychar = YYLEX;
2919 }
2920
08cf8642 2921 if (yychar <= YYEOF)
885824d3 2922 {
08cf8642 2923 yychar = yytoken = YYEOF;
e5081f8c 2924 YYDPRINTF ((stderr, "Now at end of input.\n"));
885824d3 2925 }
2926 else
2927 {
08cf8642 2928 yytoken = YYTRANSLATE (yychar);
2929 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
885824d3 2930 }
2931
08cf8642 2932 /* If the proper action on seeing token YYTOKEN is to reduce or to
2933 detect an error, take that action. */
2934 yyn += yytoken;
2935 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
885824d3 2936 goto yydefault;
885824d3 2937 yyn = yytable[yyn];
08cf8642 2938 if (yyn <= 0)
885824d3 2939 {
08cf8642 2940 if (yyn == 0 || yyn == YYTABLE_NINF)
885824d3 2941 goto yyerrlab;
2942 yyn = -yyn;
2943 goto yyreduce;
2944 }
885824d3 2945
2946 if (yyn == YYFINAL)
2947 YYACCEPT;
2948
e5081f8c 2949 /* Count tokens shifted since error; after three, turn off error
2950 status. */
2951 if (yyerrstatus)
2952 yyerrstatus--;
885824d3 2953
08cf8642 2954 /* Shift the look-ahead token. */
2955 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2956
2957 /* Discard the shifted token unless it is eof. */
2958 if (yychar != YYEOF)
2959 yychar = YYEMPTY;
2960
2961 yystate = yyn;
2962 *++yyvsp = yylval;
2963
2964 goto yynewstate;
885824d3 2965
0866200b 2966
e5081f8c 2967/*-----------------------------------------------------------.
2968| yydefault -- do the default action for the current state. |
2969`-----------------------------------------------------------*/
2970yydefault:
885824d3 2971 yyn = yydefact[yystate];
2972 if (yyn == 0)
2973 goto yyerrlab;
e5081f8c 2974 goto yyreduce;
2975
885824d3 2976
08cf8642 2977/*-----------------------------.
2978| yyreduce -- Do a reduction. |
2979`-----------------------------*/
2980yyreduce:
2981 /* yyn is the number of a rule to reduce with. */
2982 yylen = yyr2[yyn];
2983
2984 /* If YYLEN is nonzero, implement the default value of the action:
2985 `$$ = $1'.
2986
2987 Otherwise, the following line sets YYVAL to garbage.
2988 This behavior is undocumented and Bison
2989 users should not rely upon it. Assigning to YYVAL
2990 unconditionally makes the parser a bit smaller, and it avoids a
2991 GCC warning that YYVAL may be used uninitialized. */
2992 yyval = yyvsp[1-yylen];
2993
2994
2995 YY_REDUCE_PRINT (yyn);
2996 switch (yyn)
2997 {
2998 case 2:
2999
3000 { lhExternals ((yyvsp[(1) - (1)].interfacelist)); ;}
3001 break;
3002
3003 case 3:
3004
3005 { interfaceNodeList_free ((yyvsp[(1) - (3)].interfacelist)); interfaceNodeList_free ((yyvsp[(3) - (3)].interfacelist)); ;}
3006 break;
3007
3008 case 4:
3009
3010 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3011 break;
3012
3013 case 5:
3014
3015 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3016 break;
3017
3018 case 8:
3019
3020 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3021 break;
3022
3023 case 9:
3024
3025 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3026 break;
3027
3028 case 10:
3029
3030 { (yyval.interfacelist) = consInterfaceNode ((yyvsp[(1) - (2)].iface), (yyvsp[(2) - (2)].interfacelist));;}
3031 break;
3032
3033 case 11:
3034
3035 { (yyval.interfacelist) = interfaceNodeList_new (); ;}
3036 break;
3037
3038 case 12:
3039
3040 { (yyval.interfacelist) = interfaceNodeList_addh ((yyvsp[(1) - (2)].interfacelist), (yyvsp[(2) - (2)].iface));;}
3041 break;
3042
3043 case 16:
3044
3045 { (yyval.iface) = makeInterfaceNodeImports ((yyvsp[(2) - (3)].importlist));
3046 /* assume subspecs are already processed, symbol table info in external file */
3047 ;}
3048 break;
3049
3050 case 17:
3051
3052 { (yyval.iface) = makeInterfaceNodeUses ((yyvsp[(2) - (3)].traitreflist)); readlsignatures ((yyval.iface));;}
3053 break;
3054
3055 case 18:
3056
3057 { declareConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makeConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3058 break;
3059
3060 case 19:
3061
3062 { declareVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makeVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3063 break;
3064
3065 case 20:
3066
3067 { declareType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makeType ((yyvsp[(1) - (1)].type)); ;}
3068 break;
3069
3070 case 21:
3071
3072 { declareFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makeFcn ((yyvsp[(1) - (1)].fcn)); ;}
3073 break;
3074
3075 case 22:
3076
3077 { (yyval.iface) = interfaceNode_makeClaim ((yyvsp[(1) - (1)].claim)); ;}
3078 break;
3079
3080 case 23:
3081
3082 { declareIter ((yyvsp[(1) - (1)].iter)); (yyval.iface) = interfaceNode_makeIter ((yyvsp[(1) - (1)].iter)); ;}
3083 break;
3084
3085 case 24:
3086
3087 { (yyval.iter) = makeIterNode ((yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].paramlist)); ;}
3088 break;
3089
3090 case 25:
3091
3092 { (yyval.paramlist) = paramNodeList_new (); ;}
3093 break;
3094
3095 case 26:
3096
3097 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3098 break;
3099
3100 case 27:
3101
3102 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), (yyvsp[(1) - (1)].param)); ;}
3103 break;
3104
3105 case 28:
3106
3107 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist),(yyvsp[(3) - (3)].param)); ;}
3108 break;
3109
3110 case 29:
3111
3112 { (yyval.param) = markYieldParamNode ((yyvsp[(2) - (2)].param)); ;}
3113 break;
3114
3115 case 30:
3116
3117 { (yyval.param) = (yyvsp[(1) - (1)].param); ;}
3118 break;
3119
3120 case 31:
3121
3122 { symtable_export (g_symtab, FALSE); ;}
3123 break;
3124
3125 case 32:
3126
3127 { (yyval.iface) = (yyvsp[(3) - (3)].iface); symtable_export (g_symtab, TRUE); ;}
3128 break;
3129
3130 case 33:
3131
3132 { declarePrivConstant ((yyvsp[(1) - (1)].constdeclaration)); (yyval.iface) = interfaceNode_makePrivConst ((yyvsp[(1) - (1)].constdeclaration)); ;}
3133 break;
3134
3135 case 34:
3136
3137 { declarePrivVar ((yyvsp[(1) - (1)].vardeclaration)); (yyval.iface) = interfaceNode_makePrivVar ((yyvsp[(1) - (1)].vardeclaration)); ;}
3138 break;
3139
3140 case 35:
3141
3142 { declarePrivType ((yyvsp[(1) - (1)].type)); (yyval.iface) = interfaceNode_makePrivType ((yyvsp[(1) - (1)].type)); ;}
3143 break;
3144
3145 case 36:
3146
3147 { declarePrivFcn ((yyvsp[(1) - (1)].fcn), typeId_invalid); (yyval.iface) = interfaceNode_makePrivFcn ((yyvsp[(1) - (1)].fcn)); ;}
3148 break;
3149
3150 case 37:
3151
3152 { (yyval.constdeclaration) = makeConstDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls)); ;}
3153 break;
3154
3155 case 38:
3156
3157 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_NONE; ;}
3158 break;
3159
3160 case 39:
3161
3162 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_CONST; ;}
3163 break;
3164
3165 case 40:
3166
3167 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, FALSE); (yyval.vardeclaration)->qualifier = QLF_VOLATILE; ;}
3168 break;
3169
3170 case 41:
3171
3172 { (yyval.type) = makeAbstractTypeNode ((yyvsp[(1) - (1)].abstract)); ;}
3173 break;
3174
3175 case 42:
3176
3177 { (yyval.type) = makeExposedTypeNode ((yyvsp[(1) - (1)].exposed)); ;}
3178 break;
3179
3180 case 43:
3181
3182 { (yyval.typequal) = qual_createPrintfLike (); ;}
3183 break;
3184
3185 case 44:
3186
3187 { (yyval.typequal) = qual_createScanfLike (); ;}
3188 break;
3189
3190 case 45:
3191
3192 { (yyval.typequal) = qual_createMessageLike (); ;}
3193 break;
3194
3195 case 46:
3196
3197 { enteringFcnScope ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declare), (yyvsp[(3) - (3)].globals)); ;}
3198 break;
3199
3200 case 47:
3201
3202 { (yyval.fcn) = makeFcnNode (qual_createUnknown (), (yyvsp[(1) - (13)].lcltypespec), (yyvsp[(2) - (13)].declare), (yyvsp[(3) - (13)].globals), (yyvsp[(6) - (13)].vardeclarationlist), (yyvsp[(7) - (13)].letdecls),
3203 (yyvsp[(8) - (13)].lclpredicate), (yyvsp[(9) - (13)].lclpredicate), (yyvsp[(10) - (13)].modify), (yyvsp[(11) - (13)].lclpredicate), (yyvsp[(12) - (13)].lclpredicate));
3204 /* type, declarator, glovbls, privateinits,
3205 lets, checks, requires, modifies, ensures, claims */
3206 symtable_exitScope (g_symtab);
3207 ;}
3208 break;
3209
3210 case 48:
3211
3212 { enteringFcnScope ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].declare), (yyvsp[(4) - (4)].globals)); ;}
3213 break;
3214
3215 case 49:
3216
3217 { (yyval.fcn) = makeFcnNode ((yyvsp[(1) - (14)].typequal), (yyvsp[(2) - (14)].lcltypespec), (yyvsp[(3) - (14)].declare), (yyvsp[(4) - (14)].globals), (yyvsp[(7) - (14)].vardeclarationlist),
3218 (yyvsp[(8) - (14)].letdecls), (yyvsp[(9) - (14)].lclpredicate), (yyvsp[(10) - (14)].lclpredicate), (yyvsp[(11) - (14)].modify), (yyvsp[(12) - (14)].lclpredicate), (yyvsp[(13) - (14)].lclpredicate));
3219 /* type, declarator, glovbls, privateinits,
3220 lets, checks, requires, modifies, ensures, claims */
3221 symtable_exitScope (g_symtab);
3222 ;}
3223 break;
3224
3225 case 50:
3226
3227 { enteringClaimScope ((yyvsp[(4) - (6)].paramlist), (yyvsp[(6) - (6)].globals)); ;}
3228 break;
3229
3230 case 51:
3231
3232 { (yyval.claim) = makeClaimNode ((yyvsp[(2) - (13)].ltok), (yyvsp[(4) - (13)].paramlist), (yyvsp[(6) - (13)].globals), (yyvsp[(9) - (13)].letdecls), (yyvsp[(10) - (13)].lclpredicate), (yyvsp[(11) - (13)].program), (yyvsp[(12) - (13)].lclpredicate));
3233 symtable_exitScope (g_symtab); ;}
3234 break;
3235
3236 case 52:
3237
3238 { (yyval.claim) = (claimNode) 0; ;}
3239 break;
3240
3241 case 53:
3242
3243 {g_inTypeDef = TRUE; ;}
3244 break;
3245
3246 case 54:
3247
3248 {g_inTypeDef = FALSE; ;}
3249 break;
3250
3251 case 55:
3252
3253 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), TRUE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3254 break;
3255
3256 case 56:
3257
3258 {g_inTypeDef = TRUE; ;}
3259 break;
3260
3261 case 57:
3262
3263 {g_inTypeDef = FALSE; ;}
3264 break;
3265
3266 case 58:
3267
3268 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3269 break;
3270
3271 case 59:
3272
3273 {g_inTypeDef = TRUE; ;}
3274 break;
3275
3276 case 60:
3277
3278 {g_inTypeDef = FALSE; ;}
3279 break;
3280
3281 case 61:
3282
3283 { (yyval.abstract) = makeAbstractNode ((yyvsp[(2) - (7)].ltok), (yyvsp[(5) - (7)].ltok), TRUE, TRUE, (yyvsp[(7) - (7)].abstbody)); ;}
3284 break;
3285
3286 case 62:
3287
3288 {g_inTypeDef = TRUE; ;}
3289 break;
3290
3291 case 63:
3292
3293 {g_inTypeDef = FALSE; ;}
3294 break;
3295
3296 case 64:
3297
3298 { (yyval.abstract) = makeAbstractNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(4) - (6)].ltok), FALSE, FALSE, (yyvsp[(6) - (6)].abstbody)); ;}
3299 break;
3300
3301 case 65:
3302
3303 { g_inTypeDef = TRUE; setExposedType ((yyvsp[(2) - (2)].lcltypespec)); ;}
3304 break;
3305
3306 case 66:
3307
3308 { g_inTypeDef = FALSE; ;}
3309 break;
3310
3311 case 67:
3312
3313 { (yyval.exposed) = makeExposedNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].lcltypespec), (yyvsp[(4) - (6)].declaratorinvs)); /* to support mutually recursive types */ ;}
3314 break;
3315
3316 case 68:
3317
3318 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeSU ((yyvsp[(1) - (2)].structorunion)), declaratorInvNodeList_new ()); ;}
3319 break;
3320
3321 case 69:
3322
3323 { (yyval.exposed) = makeExposedNode ((yyvsp[(2) - (2)].ltok), makeLclTypeSpecNodeEnum ((yyvsp[(1) - (2)].enumspec)), declaratorInvNodeList_new ()); ;}
3324 break;
3325
3326 case 70:
3327
3328 { (yyval.importlist) = importNodeList_add (importNodeList_new (), (yyvsp[(1) - (1)].import)); ;}
3329 break;
3330
3331 case 71:
3332
3333 { (yyval.importlist) = importNodeList_add ((yyvsp[(1) - (3)].importlist), (yyvsp[(3) - (3)].import)); ;}
3334 break;
3335
3336 case 72:
3337
3338 { (yyval.import) = importNode_makePlain ((yyvsp[(1) - (1)].ltok)); ;}
3339 break;
3340
3341 case 73:
3342
3343 { checkBrackets ((yyvsp[(1) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); (yyval.import) = importNode_makeBracketed ((yyvsp[(2) - (3)].ltok)); ;}
3344 break;
3345
3346 case 74:
3347
3348 { (yyval.import) = importNode_makeQuoted ((yyvsp[(1) - (1)].ltok)); ;}
3349 break;
3350
3351 case 75:
3352
3353 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3354 break;
3355
3356 case 76:
3357
3358 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3359 break;
3360
3361 case 78:
3362
3363 { (yyval.traitreflist) = traitRefNodeList_add (traitRefNodeList_new (), (yyvsp[(1) - (1)].traitref)); ;}
3364 break;
3365
3366 case 79:
3367
3368 { (yyval.traitreflist) = traitRefNodeList_add ((yyvsp[(1) - (3)].traitreflist), (yyvsp[(3) - (3)].traitref)); ;}
3369 break;
3370
3371 case 80:
3372
3373 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (1)].ltok)), (renamingNode)0); ;}
3374 break;
3375
3376 case 81:
3377
3378 { (yyval.traitref) = makeTraitRefNode (ltokenList_singleton ((yyvsp[(1) - (4)].ltok)), (yyvsp[(3) - (4)].renaming)); ;}
3379 break;
3380
3381 case 82:
3382
3383 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (3)].ltokenList), (renamingNode)0); ;}
3384 break;
3385
3386 case 83:
3387
3388 { (yyval.traitref) = makeTraitRefNode ((yyvsp[(2) - (6)].ltokenList), (yyvsp[(5) - (6)].renaming)); ;}
3389 break;
3390
3391 case 84:
3392
3393 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
3394 break;
3395
3396 case 85:
3397
3398 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
3399 break;
3400
3401 case 86:
3402
3403 { (yyval.renaming) = makeRenamingNode (typeNameNodeList_new (), (yyvsp[(1) - (1)].replacelist)); ;}
3404 break;
3405
3406 case 87:
3407
3408 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (1)].namelist), replaceNodeList_new ()); ;}
3409 break;
3410
3411 case 88:
3412
3413 { (yyval.renaming) = makeRenamingNode ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].replacelist)); ;}
3414 break;
3415
3416 case 89:
3417
3418 { (yyval.namelist) = typeNameNodeList_add (typeNameNodeList_new (), (yyvsp[(1) - (1)].typname)); ;}
3419 break;
3420
3421 case 90:
3422
3423 { (yyval.namelist) = typeNameNodeList_add ((yyvsp[(1) - (3)].namelist), (yyvsp[(3) - (3)].typname)); ;}
3424 break;
3425
3426 case 91:
3427
3428 { (yyval.replacelist) = replaceNodeList_add (replaceNodeList_new (), (yyvsp[(1) - (1)].replace)); ;}
3429 break;
3430
3431 case 92:
3432
3433 { (yyval.replacelist) = replaceNodeList_add ((yyvsp[(1) - (3)].replacelist), (yyvsp[(3) - (3)].replace)); ;}
3434 break;
3435
3436 case 93:
3437
3438 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), TRUE, (yyvsp[(3) - (3)].ltok), NULL, NULL); ;}
3439 break;
3440
3441 case 94:
3442
3443 { (yyval.replace) = makeReplaceNameNode ((yyvsp[(2) - (3)].ltok), (yyvsp[(1) - (3)].typname), (yyvsp[(3) - (3)].name)); ;}
3444 break;
3445
3446 case 95:
3447
3448 { (yyval.replace) = makeReplaceNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(1) - (4)].typname), FALSE, ltoken_undefined,
3449 (yyvsp[(3) - (4)].name), (yyvsp[(4) - (4)].signature)); ;}
3450 break;
3451
3452 case 96:
3453
3454 { (yyval.name) = makeNameNodeId ((yyvsp[(1) - (1)].ltok)); ;}
3455 break;
3456
3457 case 97:
3458
3459 { (yyval.name) = makeNameNodeForm ((yyvsp[(1) - (1)].opform)); ;}
3460 break;
3461
3462 case 100:
3463
3464 { (yyval.initdecls) = initDeclNodeList_add (initDeclNodeList_new (), (yyvsp[(1) - (1)].initdecl)); ;}
3465 break;
3466
3467 case 101:
3468
3469 { (yyval.initdecls) = initDeclNodeList_add ((yyvsp[(1) - (3)].initdecls), (yyvsp[(3) - (3)].initdecl)); ;}
3470 break;
3471
3472 case 102:
3473
3474 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (1)].declare), (termNode)0); ;}
3475 break;
3476
3477 case 103:
3478
3479 { (yyval.initdecl) = makeInitDeclNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].term)); ;}
3480 break;
3481
3482 case 104:
3483
3484 { (yyval.globals) = varDeclarationNodeList_new (); ;}
3485 break;
3486
3487 case 105:
3488
3489 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].globals), (yyvsp[(2) - (2)].vardeclaration)); (yyval.globals) = (yyvsp[(1) - (2)].globals); ;}
3490 break;
3491
3492 case 106:
3493
3494 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].initdecls), TRUE, FALSE); ;}
3495 break;
3496
3497 case 107:
3498
3499 { (yyval.vardeclaration) = makeInternalStateNode (); ;}
3500 break;
3501
3502 case 108:
3503
3504 { (yyval.vardeclaration) = makeFileSystemNode (); ;}
3505 break;
3506
3507 case 109:
3508
3509 { (yyval.vardeclarationlist) = varDeclarationNodeList_new (); ;}
3510 break;
3511
3512 case 110:
3513
3514 { varDeclarationNodeList_addh ((yyvsp[(1) - (2)].vardeclarationlist), (yyvsp[(2) - (2)].vardeclaration)); (yyval.vardeclarationlist) = (yyvsp[(1) - (2)].vardeclarationlist); ;}
3515 break;
3516
3517 case 111:
3518
3519 { (yyval.vardeclaration) = makeVarDeclarationNode ((yyvsp[(2) - (4)].lcltypespec), (yyvsp[(3) - (4)].initdecls), FALSE, TRUE); ;}
3520 break;
3521
3522 case 112:
3523
3524 { (yyval.letdecls) = letDeclNodeList_new (); ;}
3525 break;
3526
3527 case 113:
3528
3529 { (yyval.letdecls) = (yyvsp[(2) - (3)].letdecls); ;}
3530 break;
3531
3532 case 114:
3533
3534 { (yyval.letdecls) = letDeclNodeList_add (letDeclNodeList_new (), (yyvsp[(1) - (1)].letdecl)); ;}
3535 break;
3536
3537 case 115:
3538
3539 { (yyval.letdecls) = letDeclNodeList_add ((yyvsp[(1) - (3)].letdecls), (yyvsp[(3) - (3)].letdecl)); ;}
3540 break;
3541
3542 case 116:
3543
3544 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].lcltypespec), (yyvsp[(5) - (5)].term)); ;}
3545 break;
3546
3547 case 117:
3548
3549 { (yyval.letdecl) = makeLetDeclNode ((yyvsp[(1) - (3)].ltok), (lclTypeSpecNode)0, (yyvsp[(3) - (3)].term)); ;}
3550 break;
3551
3552 case 119:
3553
3554 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3555 break;
3556
3557 case 120:
3558
3559 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeChecksNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3560 break;
3561
3562 case 121:
3563
3564 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3565 break;
3566
3567 case 122:
3568
3569 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeRequiresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3570 break;
3571
3572 case 123:
3573
3574 { (yyval.modify) = (modifyNode)0; ;}
3575 break;
3576
3577 case 124:
3578
3579 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), TRUE); ;}
3580 break;
3581
3582 case 125:
3583
3584 { (yyval.modify) = makeModifyNodeSpecial ((yyvsp[(1) - (3)].ltok), FALSE); ;}
3585 break;
3586
3587 case 126:
3588
3589 { (yyval.modify) = makeModifyNodeRef ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].storereflist)); ;}
3590 break;
3591
3592 case 127:
3593
3594 { (yyval.storereflist) = storeRefNodeList_add (storeRefNodeList_new (), (yyvsp[(1) - (1)].storeref)); ;}
3595 break;
3596
3597 case 128:
3598
3599 { (yyval.storereflist) = storeRefNodeList_add ((yyvsp[(1) - (3)].storereflist), (yyvsp[(3) - (3)].storeref)); ;}
3600 break;
3601
3602 case 129:
3603
3604 { (yyval.storeref) = makeStoreRefNodeTerm ((yyvsp[(1) - (1)].term)); ;}
3605 break;
3606
3607 case 130:
3608
3609 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(1) - (1)].lcltypespec), FALSE); ;}
3610 break;
3611
3612 case 131:
3613
3614 { (yyval.storeref) = makeStoreRefNodeType ((yyvsp[(2) - (2)].lcltypespec), TRUE); ;}
3615 break;
3616
3617 case 132:
3618
3619 { (yyval.storeref) = makeStoreRefNodeInternal (); ;}
3620 break;
3621
3622 case 133:
3623
3624 { (yyval.storeref) = makeStoreRefNodeSystem (); ;}
3625 break;
3626
3627 case 134:
3628
3629 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3630 break;
3631
3632 case 135:
3633
3634 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeEnsuresNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3635 break;
3636
3637 case 136:
3638
3639 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3640 break;
3641
3642 case 137:
3643
3644 { checkLclPredicate ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); (yyval.lclpredicate) = makeIntraClaimNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate));;}
3645 break;
3646
3647 case 138:
3648
3649 { (yyval.paramlist) = paramNodeList_new (); ;}
3650 break;
3651
3652 case 139:
3653
3654 { (yyval.paramlist) = (yyvsp[(1) - (1)].paramlist); ;}
3655 break;
3656
3657 case 141:
3658
3659 { (yyval.paramlist) = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;}
3660 break;
3661
3662 case 142:
3663
3664 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), paramNode_elipsis ()); ;}
3665 break;
3666
3667 case 143:
3668
3669 { (yyval.paramlist) = paramNodeList_single ((yyvsp[(1) - (1)].param)); ;}
3670 break;
3671
3672 case 144:
3673
3674 { (yyval.paramlist) = paramNodeList_add ((yyvsp[(1) - (3)].paramlist), (yyvsp[(3) - (3)].param)); ;}
3675 break;
3676
3677 case 145:
3678
3679 { (yyval.program) = (programNode)0; ;}
3680 break;
3681
3682 case 146:
3683
3684 { (yyval.program) = (yyvsp[(3) - (4)].program); ;}
3685 break;
3686
3687 case 147:
3688
3689 { (yyval.program) = (yyvsp[(3) - (5)].program); ;}
3690 break;
3691
3692 case 148:
3693
3694 { (yyval.program) = makeProgramNode ((yyvsp[(1) - (1)].stmt)); ;}
3695 break;
3696
3697 case 149:
3698
3699 { (yyval.program) = (yyvsp[(2) - (3)].program); (yyval.program)->wrapped = (yyval.program)->wrapped + 1; ;}
3700 break;
3701
3702 case 150:
3703
3704 { programNodeList x = programNodeList_new ();
3705 programNodeList_addh (x, (yyvsp[(1) - (2)].program));
3706 (yyval.program) = makeProgramNodeAction (x, ACT_ITER);
3707 ;}
3708 break;
3709
3710 case 151:
3711
3712 { programNodeList x = programNodeList_new ();
3713 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3714 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3715 (yyval.program) = makeProgramNodeAction (x, ACT_ALTERNATE);
3716 ;}
3717 break;
3718
3719 case 152:
3720
3721 { programNodeList x = programNodeList_new ();
3722 programNodeList_addh (x, (yyvsp[(1) - (3)].program));
3723 programNodeList_addh (x, (yyvsp[(3) - (3)].program));
3724 (yyval.program) = makeProgramNodeAction (x, ACT_SEQUENCE);
3725 ;}
3726 break;
3727
3728 case 153:
3729
3730 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].termlist)); ;}
3731 break;
3732
3733 case 154:
3734
3735 { (yyval.stmt) = makeStmtNode (ltoken_undefined, (yyvsp[(1) - (3)].ltok), termNodeList_new ()); ;}
3736 break;
3737
3738 case 155:
3739
3740 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(3) - (5)].ltok), termNodeList_new ()); ;}
3741 break;
3742
3743 case 156:
3744
3745 { (yyval.stmt) = makeStmtNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(3) - (6)].ltok), (yyvsp[(5) - (6)].termlist)); ;}
3746 break;
3747
3748 case 157:
3749
3750 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
3751 break;
3752
3753 case 158:
3754
3755 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
3756 break;
3757
3758 case 160:
3759
3760 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
3761 break;
3762
3763 case 161:
3764
3765 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
3766 break;
3767
3768 case 162:
3769
3770 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
3771 break;
3772
3773 case 163:
3774
3775 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
3776 break;
3777
3778 case 164:
3779
3780 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
3781 break;
3782
3783 case 165:
3784
3785 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)); ;}
3786 break;
3787
3788 case 166:
3789
3790 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
3791 break;
3792
3793 case 167:
3794
3795 { (yyval.abstbody) = (abstBodyNode)0; ;}
3796 break;
3797
3798 case 168:
3799
3800 { (yyval.abstbody) = makeAbstBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].fcns)); ;}
3801 break;
3802
3803 case 169:
3804
3805 { (yyval.abstbody) = makeAbstBodyNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList)); ;}
3806 break;
3807
3808 case 170:
3809
3810 { (yyval.abstbody) = (abstBodyNode)0; ;}
3811 break;
3812
3813 case 171:
3814
3815 { (yyval.fcns) = fcnNodeList_new (); ;}
3816 break;
3817
3818 case 172:
3819
3820 { (yyval.fcns) = fcnNodeList_add ((yyvsp[(1) - (2)].fcns), (yyvsp[(2) - (2)].fcn)); ;}
3821 break;
3822
3823 case 173:
3824
3825 { (yyval.lclpredicate) = (lclPredicateNode)0; ;}
3826 break;
3827
3828 case 175:
3829
3830 { g_inTypeDef = FALSE; ;}
3831 break;
3832
3833 case 176:
3834
3835 { (yyvsp[(5) - (6)].lclpredicate)->tok = (yyvsp[(1) - (6)].ltok); (yyvsp[(5) - (6)].lclpredicate)->kind = LPD_CONSTRAINT;
3836 checkLclPredicate ((yyvsp[(1) - (6)].ltok), (yyvsp[(5) - (6)].lclpredicate));
3837 (yyval.lclpredicate) = (yyvsp[(5) - (6)].lclpredicate);
3838 symtable_exitScope (g_symtab);
3839 g_inTypeDef = TRUE;
3840 ;}
3841 break;
3842
3843 case 177:
3844
3845 { (yyval.declaratorinvs) = declaratorInvNodeList_add (declaratorInvNodeList_new (), (yyvsp[(1) - (1)].declaratorinv)); ;}
3846 break;
3847
3848 case 178:
3849
3850 { (yyval.declaratorinvs) = declaratorInvNodeList_add ((yyvsp[(1) - (3)].declaratorinvs), (yyvsp[(3) - (3)].declaratorinv)); ;}
3851 break;
3852
3853 case 179:
3854
3855 { declareForwardType ((yyvsp[(1) - (1)].declare)); ;}
3856 break;
3857
3858 case 180:
3859
3860 { (yyval.declaratorinv) = makeDeclaratorInvNode ((yyvsp[(1) - (3)].declare), (yyvsp[(3) - (3)].abstbody)); ;}
3861 break;
3862
3863 case 181:
3864
3865 { (yyval.abstbody) = (abstBodyNode)0; ;}
3866 break;
3867
3868 case 182:
3869
3870 { (yyval.abstbody) = makeExposedBodyNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].lclpredicate)); ;}
3871 break;
3872
3873 case 183:
3874
3875 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_VOID, 0)); ;}
3876 break;
3877
3878 case 184:
3879
3880 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_CHAR, 0)); ;}
3881 break;
3882
3883 case 185:
3884
3885 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_DOUBLE, 0)); ;}
3886 break;
3887
3888 case 186:
3889
3890 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_FLOAT, 0)); ;}
3891 break;
3892
3893 case 187:
3894
3895 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_INT, 0)); ;}
3896 break;
3897
3898 case 188:
3899
3900 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_LONG, 0)); ;}
3901 break;
3902
3903 case 189:
3904
3905 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SHORT, 0)); ;}
3906 break;
3907
3908 case 190:
3909
3910 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_SIGNED, 0)); ;}
3911 break;
3912
3913 case 191:
3914
3915 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNSIGNED, 0)); ;}
3916 break;
3917
3918 case 192:
3919
3920 { (yyval.ltok) = (yyvsp[(1) - (1)].ltok); ltoken_setIntField ((yyval.ltok), fixBits (TS_UNKNOWN, 0)); ;}
3921 break;
3922
3923 case 193:
3924
3925 { (yyval.ctypes) = makeCTypesNode ((CTypesNode)0, (yyvsp[(1) - (1)].ltok)); ;}
3926 break;
3927
3928 case 194:
3929
3930 { (yyval.ctypes) = makeCTypesNode ((yyvsp[(1) - (2)].ctypes), (yyvsp[(2) - (2)].ltok)); ;}
3931 break;
3932
3933 case 195:
3934
3935 { (yyval.ctypes) = makeTypeSpecifier ((yyvsp[(1) - (1)].ltok)); ;}
3936 break;
3937
3938 case 196:
3939
3940 { (yyval.ctypes) = (yyvsp[(1) - (1)].ctypes); (yyval.ctypes)->sort = sort_lookupName (lclctype_toSort ((yyvsp[(1) - (1)].ctypes)->intfield)); ;}
3941 break;
3942
3943 case 197:
3944
3945 { (yyval.typequal) = qual_createOut (); ;}
3946 break;
3947
3948 case 198:
3949
3950 { (yyval.typequal) = qual_createUnused (); ;}
3951 break;
3952
3953 case 199:
3954
3955 { (yyval.typequal) = qual_createSef (); ;}
3956 break;
3957
3958 case 200:
3959
3960 { (yyval.typequal) = qual_createOnly (); ;}
3961 break;
3962
3963 case 201:
3964
3965 { (yyval.typequal) = qual_createOwned (); ;}
3966 break;
3967
3968 case 202:
3969
3970 { (yyval.typequal) = qual_createDependent (); ;}
3971 break;
3972
3973 case 203:
3974
3975 { (yyval.typequal) = qual_createKeep (); ;}
3976 break;
3977
3978 case 204:
3979
3980 { (yyval.typequal) = qual_createKept (); ;}
3981 break;
3982
3983 case 205:
3984
3985 { (yyval.typequal) = qual_createObserver (); ;}
3986 break;
3987
3988 case 206:
3989
3990 { (yyval.typequal) = qual_createExits (); ;}
3991 break;
3992
3993 case 207:
3994
3995 { (yyval.typequal) = qual_createMayExit (); ;}
3996 break;
3997
3998 case 208:
3999
4000 { (yyval.typequal) = qual_createTrueExit (); ;}
4001 break;
4002
4003 case 209:
4004
4005 { (yyval.typequal) = qual_createFalseExit (); ;}
4006 break;
4007
4008 case 210:
4009
4010 { (yyval.typequal) = qual_createNeverExit (); ;}
4011 break;
4012
4013 case 211:
4014
4015 { (yyval.typequal) = qual_createOnly (); ;}
4016 break;
4017
4018 case 212:
4019
4020 { (yyval.typequal) = qual_createShared (); ;}
4021 break;
4022
4023 case 213:
4024
4025 { (yyval.typequal) = qual_createUnique (); ;}
4026 break;
4027
4028 case 214:
4029
4030 { (yyval.typequal) = qual_createChecked (); ;}
4031 break;
4032
4033 case 215:
4034
4035 { (yyval.typequal) = qual_createUnchecked (); ;}
4036 break;
4037
4038 case 216:
4039
4040 { (yyval.typequal) = qual_createCheckedStrict (); ;}
4041 break;
4042
4043 case 217:
4044
4045 { (yyval.typequal) = qual_createTrueNull (); ;}
4046 break;
4047
4048 case 218:
4049
4050 { (yyval.typequal) = qual_createFalseNull (); ;}
4051 break;
4052
4053 case 219:
4054
4055 { (yyval.typequal) = qual_createRelNull (); ;}
4056 break;
4057
4058 case 220:
4059
4060 { (yyval.typequal) = qual_createRelDef (); ;}
4061 break;
4062
4063 case 221:
4064
4065 { (yyval.typequal) = qual_createRefCounted (); ;}
4066 break;
4067
4068 case 222:
4069
4070 { (yyval.typequal) = qual_createRefs (); ;}
4071 break;
4072
4073 case 223:
4074
4075 { (yyval.typequal) = qual_createNewRef (); ;}
4076 break;
4077
4078 case 224:
4079
4080 { (yyval.typequal) = qual_createKillRef (); ;}
4081 break;
4082
4083 case 225:
4084
4085 { (yyval.typequal) = qual_createNull (); ;}
4086 break;
4087
4088 case 226:
4089
4090 { (yyval.typequal) = qual_createNotNull (); ;}
4091 break;
4092
4093 case 227:
4094
4095 { (yyval.typequal) = qual_createReturned (); ;}
4096 break;
4097
4098 case 228:
4099
4100 { (yyval.typequal) = qual_createExposed (); ;}
4101 break;
4102
4103 case 229:
4104
4105 { (yyval.typequal) = qual_createPartial (); ;}
4106 break;
4107
4108 case 230:
4109
4110 { (yyval.typequal) = qual_createNullTerminated () ; ;}
4111 break;
4112
4113 case 231:
4114
4115 { (yyval.typequal) = qual_createUndef (); ;}
4116 break;
4117
4118 case 232:
4119
4120 { (yyval.typequal) = qual_createKilled (); ;}
4121 break;
4122
4123 case 233:
4124
4125 { (yyval.lcltypespec) = makeLclTypeSpecNodeType ((yyvsp[(1) - (1)].ctypes)); ;}
4126 break;
4127
4128 case 234:
4129
4130 { (yyval.lcltypespec) = makeLclTypeSpecNodeSU ((yyvsp[(1) - (1)].structorunion)); ;}
4131 break;
4132
4133 case 235:
4134
4135 { (yyval.lcltypespec) = makeLclTypeSpecNodeEnum ((yyvsp[(1) - (1)].enumspec)); ;}
4136 break;
4137
4138 case 236:
4139
4140 { (yyval.lcltypespec) = lclTypeSpecNode_addQual ((yyvsp[(2) - (2)].lcltypespec), (yyvsp[(1) - (2)].typequal)); ;}
4141 break;
4142
4143 case 237:
4144
4145 { (yyval.lcltypespec) = makeLclTypeSpecNodeConj ((yyvsp[(2) - (5)].lcltypespec), (yyvsp[(4) - (5)].lcltypespec)); ;}
4146 break;
4147
4148 case 239:
4149
4150 { llassert (lclTypeSpecNode_isDefined ((yyvsp[(1) - (2)].lcltypespec)));
4151 (yyvsp[(1) - (2)].lcltypespec)->pointers = (yyvsp[(2) - (2)].pointers); (yyval.lcltypespec) = (yyvsp[(1) - (2)].lcltypespec); ;}
4152 break;
4153
4154 case 240:
4155
4156 { (yyval.pointers) = pointers_createLt ((yyvsp[(1) - (1)].ltok)); ;}
4157 break;
4158
4159 case 241:
4160
4161 { (yyval.pointers) = pointers_extend ((yyvsp[(1) - (2)].pointers), pointers_createLt ((yyvsp[(2) - (2)].ltok))); ;}
4162 break;
4163
4164 case 242:
4165
4166 { (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4167 break;
4168
4169 case 243:
4170
4171 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_STRUCT, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4172 break;
4173
4174 case 244:
4175
4176 { (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy ((yyvsp[(2) - (2)].ltok))); ;}
4177 break;
4178
4179 case 245:
4180
4181 { (yyval.structorunion) = makestrOrUnionNode ((yyvsp[(1) - (6)].ltok), SU_UNION, (yyvsp[(2) - (6)].ltok), (yyvsp[(5) - (6)].structdecls)); ;}
4182 break;
4183
4184 case 246:
4185
4186 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_STRUCT, (yyvsp[(2) - (2)].ltok)); ;}
4187 break;
4188
4189 case 247:
4190
4191 { (yyval.structorunion) = makeForwardstrOrUnionNode ((yyvsp[(1) - (2)].ltok), SU_UNION, (yyvsp[(2) - (2)].ltok)); ;}
4192 break;
4193
4194 case 248:
4195
4196 { (yyval.ltok) = ltoken_undefined; ;}
4197 break;
4198
4199 case 250:
4200
4201 { (yyval.structdecls) = stDeclNodeList_add (stDeclNodeList_new (), (yyvsp[(1) - (1)].structdecl)); ;}
4202 break;
4203
4204 case 251:
4205
4206 { (yyval.structdecls) = stDeclNodeList_add ((yyvsp[(1) - (2)].structdecls), (yyvsp[(2) - (2)].structdecl)); ;}
4207 break;
4208
4209 case 252:
4210
4211 { (yyval.structdecl) = makestDeclNode ((yyvsp[(1) - (3)].lcltypespec), (yyvsp[(2) - (3)].declarelist)); ;}
4212 break;
4213
4214 case 253:
4215
4216 { (yyval.declarelist) = declaratorNodeList_add (declaratorNodeList_new (), (yyvsp[(1) - (1)].declare)); ;}
4217 break;
4218
4219 case 254:
4220
4221 { (yyval.declarelist) = declaratorNodeList_add ((yyvsp[(1) - (3)].declarelist), (yyvsp[(3) - (3)].declare)); ;}
4222 break;
4223
4224 case 255:
4225
4226 { ; ;}
4227 break;
4228
4229 case 256:
4230
4231 { ; ;}
4232 break;
4233
4234 case 257:
4235
4236 { (yyval.enumspec) = makeEnumSpecNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), (yyvsp[(4) - (6)].ltokenList)); ;}
4237 break;
4238
4239 case 258:
4240
4241 { (yyval.enumspec) = makeEnumSpecNode2 ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].ltok)); ;}
4242 break;
4243
4244 case 259:
4245
4246 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4247 break;
4248
4249 case 260:
4250
4251 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4252 break;
4253
4254 case 261:
4255
4256 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4257 break;
4258
4259 case 262:
4260
4261 { (yyval.declare) = makeDeclaratorNode ((yyvsp[(1) - (1)].typeexpr)); ;}
4262 break;
4263
4264 case 263:
4265
4266 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4267 break;
4268
4269 case 264:
4270
4271 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4272 break;
4273
4274 case 265:
4275
4276 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4277 break;
4278
4279 case 266:
4280
4281 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4282 break;
4283
4284 case 267:
4285
4286 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4287 break;
4288
4289 case 268:
4290
4291 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4292 break;
4293
4294 case 269:
4295
4296 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4297 break;
4298
4299 case 270:
4300
4301 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4302 break;
4303
4304 case 271:
4305
4306 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4307 break;
4308
4309 case 272:
4310
4311 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4312 break;
4313
4314 case 273:
4315
4316 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4317 break;
4318
4319 case 274:
4320
4321 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4322 break;
4323
4324 case 275:
4325
4326 { (yyval.typeexpr) = makeTypeExpr ((yyvsp[(1) - (1)].ltok)); ;}
4327 break;
4328
4329 case 276:
4330
4331 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4332 break;
4333
4334 case 277:
4335
4336 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4337 break;
4338
4339 case 278:
4340
4341 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4342 break;
4343
4344 case 279:
4345
4346 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4347 break;
4348
4349 case 280:
4350
4351 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4352 break;
4353
4354 case 281:
4355
4356 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].typeexpr)); ;}
4357 break;
4358
4359 case 282:
4360
4361 { (yyval.param) = makeParamNode ((yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4362 break;
4363
4364 case 283:
4365
4366 { (yyval.typname) = makeTypeNameNode (FALSE, (yyvsp[(1) - (2)].lcltypespec), (yyvsp[(2) - (2)].abstDecl)); ;}
4367 break;
4368
4369 case 284:
4370
4371 { (yyval.typname) = makeTypeNameNode (TRUE, (yyvsp[(2) - (3)].lcltypespec), (yyvsp[(3) - (3)].abstDecl)); ;}
4372 break;
4373
4374 case 285:
4375
4376 { (yyval.typname) = makeTypeNameNodeOp ((yyvsp[(1) - (1)].opform)); ;}
4377 break;
4378
4379 case 286:
4380
4381 { (yyval.abstDecl) = (abstDeclaratorNode)0; ;}
4382 break;
4383
4384 case 287:
4385
4386 { (yyval.abstDecl) = (abstDeclaratorNode)(yyvsp[(1) - (1)].typeexpr); ;}
4387 break;
4388
4389 case 288:
4390
4391 { (yyval.typeexpr) = (yyvsp[(2) - (3)].typeexpr); (yyval.typeexpr)->wrapped = (yyval.typeexpr)->wrapped + 1; ;}
4392 break;
4393
4394 case 289:
4395
4396 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].typeexpr)); ;}
4397 break;
4398
4399 case 290:
4400
4401 { (yyval.typeexpr) = makePointerNode ((yyvsp[(1) - (1)].ltok), (typeExpr)0); ;}
4402 break;
4403
4404 case 291:
4405
4406 { (yyval.typeexpr) = makeArrayNode ((typeExpr)0, (yyvsp[(1) - (1)].array)); ;}
4407 break;
4408
4409 case 292:
4410
4411 { (yyval.typeexpr) = makeArrayNode ((yyvsp[(1) - (2)].typeexpr), (yyvsp[(2) - (2)].array)); ;}
4412 break;
4413
4414 case 293:
4415
4416 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (3)].typeexpr), paramNodeList_new ()); ;}
4417 break;
4418
4419 case 294:
4420
4421 { (yyval.typeexpr) = makeFunctionNode ((typeExpr)0, (yyvsp[(2) - (3)].paramlist)); ;}
4422 break;
4423
4424 case 295:
4425
4426 { (yyval.typeexpr) = makeFunctionNode ((yyvsp[(1) - (4)].typeexpr), (yyvsp[(3) - (4)].paramlist)); ;}
4427 break;
4428
4429 case 296:
4430
4431 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (2)].ltok), (termNode)0); ;}
4432 break;
885824d3 4433
08cf8642 4434 case 297:
e5081f8c 4435
08cf8642 4436 { (yyval.array) = makeArrayQualNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].term)); ;}
4437 break;
e5081f8c 4438
08cf8642 4439 case 298:
e5081f8c 4440
08cf8642 4441 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (6)].ltok), OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;}
4442 break;
885824d3 4443
08cf8642 4444 case 299:
885824d3 4445
08cf8642 4446 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (1)].ltok), OPF_ANYOP, opFormUnion_createAnyOp ((yyvsp[(1) - (1)].ltok)), ltoken_undefined); ;}
4447 break;
8f58355a 4448
08cf8642 4449 case 300:
4450
4451 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MANYOP, opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4452 break;
4453
4454 case 301:
4455
4456 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_ANYOPM, opFormUnion_createAnyOp ((yyvsp[(1) - (2)].ltok)), ltoken_undefined); ;}
4457 break;
4458
4459 case 302:
4460
4461 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MANYOPM,
4462 opFormUnion_createAnyOp ((yyvsp[(2) - (3)].ltok)), ltoken_undefined); ;}
4463 break;
4464
4465 case 303:
4466
4467 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4468 break;
4469
4470 case 304:
4471
4472 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4473 break;
4474
4475 case 305:
4476
4477 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_MIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4478 break;
4479
4480 case 306:
4481
4482 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_MMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4483 break;
4484
4485 case 307:
4486
4487 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_BMIDDLE, opFormUnion_createMiddle ((yyvsp[(2) - (3)].count)), (yyvsp[(3) - (3)].ltok)); ;}
4488 break;
4489
4490 case 308:
4491
4492 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (4)].ltok), OPF_BMIDDLEM, opFormUnion_createMiddle ((yyvsp[(2) - (4)].count)), (yyvsp[(3) - (4)].ltok)); ;}
4493 break;
4494
4495 case 309:
4496
4497 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (4)].ltok), OPF_BMMIDDLE, opFormUnion_createMiddle ((yyvsp[(3) - (4)].count)), (yyvsp[(4) - (4)].ltok)); ;}
4498 break;
4499
4500 case 310:
4501
4502 { (yyval.opform) = makeOpFormNode ((yyvsp[(2) - (5)].ltok), OPF_BMMIDDLEM, opFormUnion_createMiddle ((yyvsp[(3) - (5)].count)), (yyvsp[(4) - (5)].ltok)); ;}
4503 break;
4504
4505 case 311:
4506
4507 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_SELECT,
4508 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4509 break;
4510
4511 case 312:
4512
4513 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (2)].ltok), OPF_MAP,
4514 opFormUnion_createAnyOp ((yyvsp[(2) - (2)].ltok)), ltoken_undefined); ;}
4515 break;
4516
4517 case 313:
4518
4519 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MSELECT,
4520 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4521 break;
4522
4523 case 314:
4524
4525 { (yyval.opform) = makeOpFormNode ((yyvsp[(1) - (3)].ltok), OPF_MMAP,
4526 opFormUnion_createAnyOp ((yyvsp[(3) - (3)].ltok)), ltoken_undefined); ;}
4527 break;
4528
4529 case 322:
4530
4531 { (yyval.count) = 0; ;}
4532 break;
4533
4534 case 324:
4535
4536 { (yyval.count) = 1; ;}
4537 break;
4538
4539 case 325:
4540
4541 { (yyval.count) = (yyvsp[(1) - (3)].count) + 1; ;}
4542 break;
4543
4544 case 328:
4545
4546 { (yyval.signature) = makesigNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltokenList), (yyvsp[(4) - (4)].ltok)); ;}
4547 break;
4548
4549 case 329:
4550
4551 { (yyval.ltokenList) = ltokenList_new (); ;}
4552 break;
4553
4554 case 331:
4555
4556 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4557 break;
4558
4559 case 332:
4560
4561 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (3)].ltokenList), (yyvsp[(3) - (3)].ltok)); ;}
4562 break;
4563
4564 case 333:
4565
4566 { (yyval.lclpredicate) = makeLclPredicateNode (ltoken_undefined, (yyvsp[(1) - (1)].term), LPD_PLAIN);;}
4567 break;
4568
4569 case 334:
4570
4571 { (yyval.term) = checkSort ((yyvsp[(1) - (1)].term)); ;}
4572 break;
4573
4574 case 335:
4575
4576 { (yyval.term) = makeIfTermNode ((yyvsp[(1) - (6)].ltok),(yyvsp[(2) - (6)].term),(yyvsp[(3) - (6)].ltok),(yyvsp[(4) - (6)].term),(yyvsp[(5) - (6)].ltok),(yyvsp[(6) - (6)].term)); ;}
4577 break;
4578
4579 case 337:
4580
4581 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4582 break;
4583
4584 case 339:
4585
4586 { checkLclPredicate ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)); (yyval.term) = makeQuantifiedTermNode ((yyvsp[(1) - (4)].quantifiers), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].lclpredicate)->predicate, (yyvsp[(4) - (4)].ltok));
368f75ae 4587 symtable_exitScope (g_symtab);
08cf8642 4588 ;}
4589 break;
4590
4591 case 340:
4592
4593 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4594 break;
4595
4596 case 341:
4597
4598 { (yyval.term) = makeInfixTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term));;}
4599 break;
4600
4601 case 343:
4602
4603 { (yyval.term) = makePostfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltokenList)); ;}
4604 break;
4605
4606 case 344:
4607
4608 { (yyval.term) = CollapseInfixTermNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].termlist)); ;}
4609 break;
4610
4611 case 348:
4612
4613 { (yyval.term) = makePrefixTermNode ((yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4614 break;
4615
4616 case 349:
4617
4618 { (yyval.ltokenList) = ltokenList_singleton ((yyvsp[(1) - (1)].ltok)); ;}
4619 break;
4620
4621 case 350:
4622
4623 { (yyval.ltokenList) = ltokenList_push ((yyvsp[(1) - (2)].ltokenList), (yyvsp[(2) - (2)].ltok)); ;}
4624 break;
4625
4626 case 351:
4627
4628 { (yyval.termlist) = pushInfixOpPartNode (termNodeList_new (), (yyvsp[(1) - (2)].ltok), (yyvsp[(2) - (2)].term)); ;}
4629 break;
4630
4631 case 352:
4632
4633 { (yyval.termlist) = pushInfixOpPartNode ((yyvsp[(1) - (3)].termlist), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].term)); ;}
4634 break;
4635
4636 case 354:
4637
4638 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4639 break;
4640
4641 case 355:
4642
4643 { (yyval.term) = updateMatchedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4644 break;
4645
4646 case 356:
4647
4648 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term), (termNode)0); ;}
4649 break;
4650
4651 case 357:
4652
4653 { (yyval.term) = updateMatchedNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].term), (yyvsp[(3) - (3)].term)); ;}
4654 break;
4655
4656 case 358:
4657
4658 { (yyval.term) = computePossibleSorts ((yyvsp[(1) - (1)].term)); ;}
4659 break;
4660
4661 case 359:
4662
4663 { (yyval.term) = updateSqBracketedNode ((termNode)0, (yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].term)); ;}
4664 break;
4665
4666 case 360:
4667
4668 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->sort = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4669 break;
4670
4671 case 362:
4672
4673 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (5)].ltok), (yyvsp[(2) - (5)].termlist), (yyvsp[(3) - (5)].ltok));
4674 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(5) - (5)].ltok))); ;}
4675 break;
4676
4677 case 363:
4678
4679 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4680 break;
4681
4682 case 364:
4683
4684 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (4)].ltok), termNodeList_new (), (yyvsp[(2) - (4)].ltok));
4685 (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(4) - (4)].ltok)));
4686 ;}
4687 break;
4688
4689 case 365:
4690
4691 { (yyval.term) = makeSqBracketedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4692 break;
4693
4694 case 366:
4695
4696 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (3)].ltok), (yyvsp[(2) - (3)].termlist), (yyvsp[(3) - (3)].ltok)); ;}
4697 break;
4698
4699 case 367:
4700
4701 { (yyval.term) = makeMatchedNode ((yyvsp[(1) - (2)].ltok), termNodeList_new (), (yyvsp[(2) - (2)].ltok)); ;}
4702 break;
4703
4704 case 368:
4705
4706 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4707 break;
4708
4709 case 369:
4710
4711 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4712 break;
4713
4714 case 370:
4715
4716 { (yyval.term) = (yyvsp[(2) - (3)].term); (yyval.term)->wrapped = (yyval.term)->wrapped + 1; ;}
4717 break;
4718
4719 case 371:
4720
4721 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4722 break;
4723
4724 case 372:
4725
4726 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4727 break;
4728
4729 case 374:
4730
4731 { (yyval.term) = makePostfixTermNode2 ((yyvsp[(1) - (2)].term), (yyvsp[(2) - (2)].ltok)); ;}
4732 break;
4733
4734 case 375:
4735
4736 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeSelectTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4737 break;
4738
4739 case 376:
4740
4741 { ltoken_markOwned ((yyvsp[(3) - (3)].ltok)); (yyval.term) = makeMapTermNode ((yyvsp[(1) - (3)].term), (yyvsp[(2) - (3)].ltok), (yyvsp[(3) - (3)].ltok)); ;}
4742 break;
4743
4744 case 377:
4745
4746 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (3)].term), makeSqBracketedNode ((yyvsp[(2) - (3)].ltok), termNodeList_new (), (yyvsp[(3) - (3)].ltok)),
4747 (termNode)0); ;}
4748 break;
4749
4750 case 378:
4751
4752 { (yyval.term) = updateSqBracketedNode ((yyvsp[(1) - (4)].term), makeSqBracketedNode ((yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)), (termNode)0); ;}
4753 break;
4754
4755 case 379:
4756
4757 { (yyval.term) = (yyvsp[(1) - (3)].term); (yyval.term)->given = sort_lookupName (ltoken_getText ((yyvsp[(3) - (3)].ltok))); ;}
4758 break;
4759
4760 case 380:
4761
4762 { (yyval.termlist) = termNodeList_push (termNodeList_new (), (yyvsp[(1) - (1)].term)); ;}
4763 break;
4764
4765 case 381:
4766
4767 { (yyval.termlist) = termNodeList_push ((yyvsp[(1) - (3)].termlist), (yyvsp[(3) - (3)].term)); ;}
4768 break;
4769
4770 case 387:
4771
4772 { (yyval.term) = makeSimpleTermNode ((yyvsp[(1) - (1)].ltok)); ;}
4773 break;
4774
4775 case 388:
4776
4777 { (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), (yyvsp[(3) - (4)].termlist), (yyvsp[(4) - (4)].ltok)); ;}
4778 break;
4779
4780 case 389:
4781
4782 { (yyval.term) = makeUnchangedTermNode1 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].ltok)); ;}
4783 break;
4784
4785 case 390:
4786
4787 { (yyval.term) = makeUnchangedTermNode2 ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].storereflist)); ;}
4788 break;
4789
4790 case 391:
4791
4792 { termNodeList x = termNodeList_new ();
4793 termNodeList_addh (x, (yyvsp[(3) - (4)].term));
4794 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(2) - (4)].ltok), x, (yyvsp[(4) - (4)].ltok));
4795 ;}
4796 break;
4797
4798 case 392:
4799
4800 { termNodeList x = termNodeList_new ();
4801 termNodeList_addh (x, (yyvsp[(3) - (6)].term));
4802 termNodeList_addh (x, (yyvsp[(5) - (6)].term));
4803 (yyval.term) = makeOpCallTermNode ((yyvsp[(1) - (6)].ltok), (yyvsp[(2) - (6)].ltok), x, (yyvsp[(6) - (6)].ltok));
4804 ;}
4805 break;
4806
4807 case 393:
4808
4809 { (yyval.term) = makeSizeofTermNode ((yyvsp[(1) - (4)].ltok), (yyvsp[(3) - (4)].lcltypespec)); ;}
4810 break;
4811
4812 case 394:
4813
4814 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortInt); ;}
4815 break;
4816
4817 case 395:
4818
4819 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortCstring); ;}
4820 break;
4821
4822 case 396:
4823
4824 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortChar); ;}
4825 break;
4826
4827 case 397:
4828
4829 { (yyval.term) = makeLiteralTermNode ((yyvsp[(1) - (1)].ltok), g_sortDouble); ;}
4830 break;
4831
4832 case 398:
4833
4834 { (yyval.quantifiers) = quantifierNodeList_add (quantifierNodeList_new (), (yyvsp[(1) - (1)].quantifier)); ;}
4835 break;
4836
4837 case 399:
4838
4839 { (yyval.quantifiers) = quantifierNodeList_add ((yyvsp[(1) - (2)].quantifiers), (yyvsp[(2) - (2)].quantifier)); ;}
4840 break;
4841
4842 case 400:
4843
4844 { scopeInfo si = (scopeInfo) dmalloc (sizeof (*si));
885824d3 4845 si->kind = SPE_QUANT;
08cf8642 4846 symtable_enterScope (g_symtab, si); ;}
4847 break;
8f58355a 4848
08cf8642 4849 case 401:
3e3ec469 4850
08cf8642 4851 { (yyval.quantifier) = makeQuantifierNode ((yyvsp[(3) - (3)].vars), (yyvsp[(1) - (3)].ltok)); ;}
4852 break;
885824d3 4853
08cf8642 4854 case 402:
4855
4856 { (yyval.vars) = varNodeList_add (varNodeList_new (), (yyvsp[(1) - (1)].var)); ;}
4857 break;
4858
4859 case 403:
4860
4861 { (yyval.vars) = varNodeList_add ((yyvsp[(1) - (3)].vars), (yyvsp[(3) - (3)].var)); ;}
4862 break;
4863
4864 case 404:
4865
4866 { (yyval.var) = makeVarNode ((yyvsp[(1) - (3)].ltok), FALSE, (yyvsp[(3) - (3)].lcltypespec)); ;}
4867 break;
4868
4869 case 405:
4870
4871 { (yyval.var) = makeVarNode ((yyvsp[(1) - (4)].ltok), TRUE, (yyvsp[(4) - (4)].lcltypespec)); ;}
4872 break;
4873
4874
4875/* Line 1267 of yacc.c. */
4876
4877 default: break;
368f75ae 4878 }
08cf8642 4879 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4880
4881 YYPOPSTACK (yylen);
4882 yylen = 0;
4883 YY_STACK_PRINT (yyss, yyssp);
885824d3 4884
4885 *++yyvsp = yyval;
08cf8642 4886
885824d3 4887
e5081f8c 4888 /* Now `shift' the result of the reduction. Determine what state
4889 that goes to, based on the state we popped back to and the rule
4890 number reduced by. */
885824d3 4891
4892 yyn = yyr1[yyn];
4893
08cf8642 4894 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4895 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
885824d3 4896 yystate = yytable[yystate];
4897 else
08cf8642 4898 yystate = yydefgoto[yyn - YYNTOKENS];
885824d3 4899
4900 goto yynewstate;
4901
885824d3 4902
e5081f8c 4903/*------------------------------------.
4904| yyerrlab -- here on detecting error |
4905`------------------------------------*/
4906yyerrlab:
4907 /* If not already recovering from an error, report this error. */
4908 if (!yyerrstatus)
885824d3 4909 {
4910 ++yynerrs;
08cf8642 4911#if ! YYERROR_VERBOSE
4912 yyerror (YY_("syntax error"));
4913#else
4914 {
4915 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4916 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4917 {
4918 YYSIZE_T yyalloc = 2 * yysize;
4919 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4920 yyalloc = YYSTACK_ALLOC_MAXIMUM;
4921 if (yymsg != yymsgbuf)
e5081f8c 4922 YYSTACK_FREE (yymsg);
08cf8642 4923 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4924 if (yymsg)
4925 yymsg_alloc = yyalloc;
4926 else
4927 {
4928 yymsg = yymsgbuf;
4929 yymsg_alloc = sizeof yymsgbuf;
4930 }
4931 }
4932
4933 if (0 < yysize && yysize <= yymsg_alloc)
4934 {
4935 (void) yysyntax_error (yymsg, yystate, yychar);
4936 yyerror (yymsg);
4937 }
4938 else
4939 {
4940 yyerror (YY_("syntax error"));
4941 if (yysize != 0)
4942 goto yyexhaustedlab;
4943 }
4944 }
4945#endif
885824d3 4946 }
d0b80d80 4947
e5081f8c 4948
08cf8642 4949
885824d3 4950 if (yyerrstatus == 3)
4951 {
08cf8642 4952 /* If just tried and failed to reuse look-ahead token after an
e5081f8c 4953 error, discard it. */
885824d3 4954
08cf8642 4955 if (yychar <= YYEOF)
4956 {
4957 /* Return failure if at end of input. */
4958 if (yychar == YYEOF)
4959 YYABORT;
4960 }
4961 else
4962 {
4963 yydestruct ("Error: discarding",
4964 yytoken, &yylval);
4965 yychar = YYEMPTY;
4966 }
885824d3 4967 }
4968
08cf8642 4969 /* Else will try to reuse look-ahead token after shifting the error
e5081f8c 4970 token. */
08cf8642 4971 goto yyerrlab1;
885824d3 4972
368f75ae 4973
08cf8642 4974/*---------------------------------------------------.
4975| yyerrorlab -- error raised explicitly by YYERROR. |
4976`---------------------------------------------------*/
4977yyerrorlab:
368f75ae 4978
08cf8642 4979 /* Pacify compilers like GCC when the user code never invokes
4980 YYERROR and the label yyerrorlab therefore never appears in user
4981 code. */
4982 if (/*CONSTCOND*/ 0)
4983 goto yyerrorlab;
368f75ae 4984
08cf8642 4985 /* Do not reclaim the symbols of the rule which action triggered
4986 this YYERROR. */
4987 YYPOPSTACK (yylen);
4988 yylen = 0;
4989 YY_STACK_PRINT (yyss, yyssp);
4990 yystate = *yyssp;
4991 goto yyerrlab1;
885824d3 4992
885824d3 4993
08cf8642 4994/*-------------------------------------------------------------.
4995| yyerrlab1 -- common code for both syntax error and YYERROR. |
4996`-------------------------------------------------------------*/
4997yyerrlab1:
4998 yyerrstatus = 3; /* Each real token shifted decrements this. */
368f75ae 4999
08cf8642 5000 for (;;)
885824d3 5001 {
08cf8642 5002 yyn = yypact[yystate];
5003 if (yyn != YYPACT_NINF)
5004 {
5005 yyn += YYTERROR;
5006 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5007 {
5008 yyn = yytable[yyn];
5009 if (0 < yyn)
5010 break;
5011 }
5012 }
885824d3 5013
08cf8642 5014 /* Pop the current state because it cannot handle the error token. */
5015 if (yyssp == yyss)
5016 YYABORT;
885824d3 5017
885824d3 5018
08cf8642 5019 yydestruct ("Error: popping",
5020 yystos[yystate], yyvsp);
5021 YYPOPSTACK (1);
5022 yystate = *yyssp;
5023 YY_STACK_PRINT (yyss, yyssp);
885824d3 5024 }
885824d3 5025
5026 if (yyn == YYFINAL)
5027 YYACCEPT;
5028
885824d3 5029 *++yyvsp = yylval;
08cf8642 5030
5031
5032 /* Shift the error token. */
5033 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
885824d3 5034
5035 yystate = yyn;
5036 goto yynewstate;
c05aefaa 5037
c05aefaa 5038
e5081f8c 5039/*-------------------------------------.
5040| yyacceptlab -- YYACCEPT comes here. |
5041`-------------------------------------*/
5042yyacceptlab:
5043 yyresult = 0;
5044 goto yyreturn;
5045
5046/*-----------------------------------.
5047| yyabortlab -- YYABORT comes here. |
5048`-----------------------------------*/
5049yyabortlab:
5050 yyresult = 1;
5051 goto yyreturn;
5052
08cf8642 5053#ifndef yyoverflow
5054/*-------------------------------------------------.
5055| yyexhaustedlab -- memory exhaustion comes here. |
5056`-------------------------------------------------*/
5057yyexhaustedlab:
5058 yyerror (YY_("memory exhausted"));
e5081f8c 5059 yyresult = 2;
5060 /* Fall through. */
08cf8642 5061#endif
e5081f8c 5062
5063yyreturn:
08cf8642 5064 if (yychar != YYEOF && yychar != YYEMPTY)
5065 yydestruct ("Cleanup: discarding lookahead",
5066 yytoken, &yylval);
5067 /* Do not reclaim the symbols of the rule which action triggered
5068 this YYABORT or YYACCEPT. */
5069 YYPOPSTACK (yylen);
5070 YY_STACK_PRINT (yyss, yyssp);
5071 while (yyssp != yyss)
5072 {
5073 yydestruct ("Cleanup: popping",
5074 yystos[*yyssp], yyvsp);
5075 YYPOPSTACK (1);
5076 }
e5081f8c 5077#ifndef yyoverflow
5078 if (yyss != yyssa)
5079 YYSTACK_FREE (yyss);
c05aefaa 5080#endif
08cf8642 5081#if YYERROR_VERBOSE
5082 if (yymsg != yymsgbuf)
5083 YYSTACK_FREE (yymsg);
5084#endif
5085 /* Make sure YYID is used. */
5086 return YYID (yyresult);
885824d3 5087}
885824d3 5088
5089
08cf8642 5090
5091
5092
885824d3 5093# include "bison.reset"
5094
5095/*
5096** yytext is set in lex scanner
5097** extern YYSTYPE yylval;
5098** yylval is defined by code generated by bison
5099*/
5100
5101void ylerror (char *s)
5102{
5103 /*
5104 ** This resetting of the left context is very important when multiple
5105 ** files are to be parsed. We do not want failures to propagate.
5106 ** Lex/Yacc does not reset the flags when the parsing goes bad.
5107 ** BEGIN 0;
5108 **/
5109
5110 /*@-mustfree@*/
5111 lclfatalerror (yllval.ltok,
5112 message ("%s: Token code: %s, Token String: %s",
5113 cstring_fromChars (s),
5114 ltoken_unparseCodeName (yllval.ltok),
5115 ltoken_getRawString (yllval.ltok)));
5116 /*@=mustfree@*/
5117}
5118
5119static void yyprint (FILE *f, int t, YYSTYPE value)
5120{
5121 fprintf (f, " type: %d (%s)", t,
5122 cstring_toCharsSafe (ltoken_getRawString (value.ltok)));
5123}
5124
5125
5126
5127
5128
5129
5130
08cf8642 5131
885824d3 5132/*
5133** Resets all flags in bison.head
5134*/
5135
5136
5137/*@=allmacros@*/
5138/*@=boolint@*/
5139/*@=charint@*/
5140/*@=macroparams@*/
5141/*@=macroundef@*/
5142/*@=unreachable@*/
5143/*@=macrospec@*/
5144/*@=varuse@*/
5145/*@=ignorequals@*/
5146/*@=macrostmt@*/
5147/*@=noeffect@*/
5148/*@=shadow@*/
5149/*@=exitarg@*/
5150/*@=macroredef@*/
5151/*@=uniondef@*/
5152/*@=compdef@*/
5153/*@=matchfields@*/
5154/*@=exportlocal@*/
5155/*@=evalorderuncon@*/
5156/*@=exportheader@*/
5157/*@=typeuse@*/
5158/*@=redecl@*/
5159/*@=redef@*/
5160/*@=noparams@*/
5161/*@=ansireserved@*/
5162/*@=fielduse@*/
5163/*@=ifblock@*/
5164/*@=elseifcomplete@*/
5165/*@=whileblock@*/
5166/*@=forblock@*/
5167/*@=branchstate@*/
5168/*@=readonlytrans@*/
5169/*@=namechecks@*/
5170/*@=usedef@*/
5171/*@=systemunrecog@*/
5172/*@=dependenttrans@*/
5173/*@=unqualifiedtrans@*/
c05aefaa 5174/*@=declundef@*/
5175
5176
5177/*drl added 11/27/2001*/
bb7c2085 5178/*@=bounds@*/
e015e087 5179
5180/*drl added 12/11/2002*/
5181/*@=type@*/
a9ec3280 5182
5183/*@=enummemuse@*/
This page took 0.822648 seconds and 5 git commands to generate.