]> andersk Git - splint.git/blame - src/cgrammar.c.der
Updated expected output for help.expect to include new flags.
[splint.git] / src / cgrammar.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@*/
2e127cb8 44/*@-nullpass@*/
45/*@-nullptrarith*/
46/*@-usereleased@*/
c05aefaa 47/*@-declundef@*/
885824d3 48
c05aefaa 49/*drl added 11/27/2001*/
bb7c2085 50/*@-bounds@*/
1d91681f 51
52/*drl added 12/11/2002*/
53/*@-type@*/
54
885824d3 55/* < end of bison.head > */
56
08cf8642 57/* A Bison parser, made by GNU Bison 2.3. */
58
59/* Skeleton implementation for Bison's Yacc-like parsers in C
60
61 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
62 Free Software Foundation, Inc.
63
64 This program is free software; you can redistribute it and/or modify
65 it under the terms of the GNU General Public License as published by
66 the Free Software Foundation; either version 2, or (at your option)
67 any later version.
68
69 This program is distributed in the hope that it will be useful,
70 but WITHOUT ANY WARRANTY; without even the implied warranty of
71 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72 GNU General Public License for more details.
73
74 You should have received a copy of the GNU General Public License
75 along with this program; if not, write to the Free Software
76 Foundation, Inc., 51 Franklin Street, Fifth Floor,
77 Boston, MA 02110-1301, USA. */
78
79/* As a special exception, you may create a larger work that contains
80 part or all of the Bison parser skeleton and distribute that work
81 under terms of your choice, so long as that work isn't itself a
82 parser generator using the skeleton or a modified version thereof
83 as a parser skeleton. Alternatively, if you modify or redistribute
84 the parser skeleton itself, you may (at your option) remove this
85 special exception, which will cause the skeleton and the resulting
86 Bison output files to be licensed under the GNU General Public
87 License without this special exception.
88
89 This special exception was added by the Free Software Foundation in
90 version 2.2 of Bison. */
91
92/* C LALR(1) parser skeleton written by Richard Stallman, by
93 simplifying the original so-called "semantic" parser. */
94
95/* All symbols defined below should begin with yy or YY, to avoid
96 infringing on user name space. This should be done even for local
97 variables, as they might otherwise be expanded by user macros.
98 There are some unavoidable exceptions within include files to
99 define necessary library symbols; they are noted "INFRINGES ON
100 USER NAME SPACE" below. */
101
102/* Identify Bison output. */
103#define YYBISON 1
104
105/* Bison version. */
106#define YYBISON_VERSION "2.3"
107
108/* Skeleton name. */
109#define YYSKELETON_NAME "yacc.c"
110
111/* Pure parsers. */
112#define YYPURE 0
113
114/* Using locations. */
115#define YYLSP_NEEDED 0
116
117
118
119/* Tokens. */
120#ifndef YYTOKENTYPE
121# define YYTOKENTYPE
122 /* Put the tokens into the symbol table, so that GDB and other debuggers
123 know about them. */
124 enum yytokentype {
125 BADTOK = 258,
126 SKIPTOK = 259,
127 CTOK_ELIPSIS = 260,
128 CASE = 261,
129 DEFAULT = 262,
130 CIF = 263,
131 CELSE = 264,
132 SWITCH = 265,
133 WHILE = 266,
134 DO = 267,
135 CFOR = 268,
136 GOTO = 269,
137 CONTINUE = 270,
138 BREAK = 271,
139 RETURN = 272,
140 TSEMI = 273,
141 TLBRACE = 274,
142 TRBRACE = 275,
143 TCOMMA = 276,
144 TCOLON = 277,
145 TASSIGN = 278,
146 TLPAREN = 279,
147 TRPAREN = 280,
148 TLSQBR = 281,
149 TRSQBR = 282,
150 TDOT = 283,
151 TAMPERSAND = 284,
152 TEXCL = 285,
153 TTILDE = 286,
154 TMINUS = 287,
155 TPLUS = 288,
156 TMULT = 289,
157 TDIV = 290,
158 TPERCENT = 291,
159 TLT = 292,
160 TGT = 293,
161 TCIRC = 294,
162 TBAR = 295,
163 TQUEST = 296,
164 CSIZEOF = 297,
165 CALIGNOF = 298,
166 CTYPEOF = 299,
167 ARROW_OP = 300,
168 CTYPEDEF = 301,
169 COFFSETOF = 302,
170 INC_OP = 303,
171 DEC_OP = 304,
172 LEFT_OP = 305,
173 RIGHT_OP = 306,
174 LE_OP = 307,
175 GE_OP = 308,
176 EQ_OP = 309,
177 NE_OP = 310,
178 AND_OP = 311,
179 OR_OP = 312,
180 MUL_ASSIGN = 313,
181 DIV_ASSIGN = 314,
182 MOD_ASSIGN = 315,
183 ADD_ASSIGN = 316,
184 SUB_ASSIGN = 317,
185 LEFT_ASSIGN = 318,
186 RIGHT_ASSIGN = 319,
187 AND_ASSIGN = 320,
188 XOR_ASSIGN = 321,
189 OR_ASSIGN = 322,
190 CSTRUCT = 323,
191 CUNION = 324,
192 CENUM = 325,
193 VA_ARG = 326,
194 VA_DCL = 327,
195 QWARN = 328,
196 QGLOBALS = 329,
197 QMODIFIES = 330,
198 QNOMODS = 331,
199 QCONSTANT = 332,
200 QFUNCTION = 333,
201 QITER = 334,
202 QDEFINES = 335,
203 QUSES = 336,
204 QALLOCATES = 337,
205 QSETS = 338,
206 QRELEASES = 339,
207 QPRECLAUSE = 340,
208 QPOSTCLAUSE = 341,
209 QINVARIANT = 342,
210 QALT = 343,
211 QUNDEF = 344,
212 QKILLED = 345,
213 QENDMACRO = 346,
214 LLMACRO = 347,
215 LLMACROITER = 348,
216 LLMACROEND = 349,
217 TENDMACRO = 350,
218 QDREVEALSTATE = 351,
219 QSWITCHBREAK = 352,
220 QLOOPBREAK = 353,
221 QINNERBREAK = 354,
222 QSAFEBREAK = 355,
223 QINNERCONTINUE = 356,
224 QFALLTHROUGH = 357,
225 QLINTNOTREACHED = 358,
226 QLINTFALLTHROUGH = 359,
227 QLINTFALLTHRU = 360,
228 QARGSUSED = 361,
229 QPRINTFLIKE = 362,
230 QLINTPRINTFLIKE = 363,
231 QSCANFLIKE = 364,
232 QMESSAGELIKE = 365,
233 QNOTREACHED = 366,
234 QCONST = 367,
235 QRESTRICT = 368,
236 QVOLATILE = 369,
237 QINLINE = 370,
238 QEXTENSION = 371,
239 QEXTERN = 372,
240 QSTATIC = 373,
241 QAUTO = 374,
242 QREGISTER = 375,
243 QOUT = 376,
244 QIN = 377,
245 QYIELD = 378,
246 QONLY = 379,
247 QTEMP = 380,
248 QSHARED = 381,
249 QREF = 382,
250 QUNIQUE = 383,
251 QCHECKED = 384,
252 QUNCHECKED = 385,
253 QCHECKEDSTRICT = 386,
254 QCHECKMOD = 387,
255 QKEEP = 388,
256 QKEPT = 389,
257 QPARTIAL = 390,
258 QSPECIAL = 391,
259 QOWNED = 392,
260 QDEPENDENT = 393,
261 QRETURNED = 394,
262 QEXPOSED = 395,
263 QNULL = 396,
264 QOBSERVER = 397,
265 QISNULL = 398,
266 QEXITS = 399,
267 QMAYEXIT = 400,
268 QNEVEREXIT = 401,
269 QTRUEEXIT = 402,
270 QFALSEEXIT = 403,
271 QLONG = 404,
272 QSIGNED = 405,
273 QUNSIGNED = 406,
274 QSHORT = 407,
275 QUNUSED = 408,
276 QSEF = 409,
277 QNOTNULL = 410,
278 QRELNULL = 411,
279 QABSTRACT = 412,
280 QNUMABSTRACT = 413,
281 QCONCRETE = 414,
282 QMUTABLE = 415,
283 QIMMUTABLE = 416,
284 QTRUENULL = 417,
285 QFALSENULL = 418,
286 QEXTERNAL = 419,
287 QREFCOUNTED = 420,
288 QREFS = 421,
289 QNEWREF = 422,
290 QTEMPREF = 423,
291 QKILLREF = 424,
292 QRELDEF = 425,
293 CGCHAR = 426,
294 CBOOL = 427,
295 CINT = 428,
296 CGFLOAT = 429,
297 CDOUBLE = 430,
298 CVOID = 431,
299 QANYTYPE = 432,
300 QINTEGRALTYPE = 433,
301 QUNSIGNEDINTEGRALTYPE = 434,
302 QSIGNEDINTEGRALTYPE = 435,
303 QNULLTERMINATED = 436,
304 QSETBUFFERSIZE = 437,
305 QSETSTRINGLENGTH = 438,
306 QMAXSET = 439,
307 QMAXREAD = 440,
308 QTESTINRANGE = 441,
309 TCAND = 442,
310 IDENTIFIER = 443,
311 NEW_IDENTIFIER = 444,
312 TYPE_NAME_OR_ID = 445,
313 CANNOTATION = 446,
314 CCONSTANT = 447,
315 ITER_NAME = 448,
316 ITER_ENDNAME = 449,
317 TYPE_NAME = 450,
318 METASTATE_NAME = 451
319 };
320#endif
321/* Tokens. */
322#define BADTOK 258
323#define SKIPTOK 259
324#define CTOK_ELIPSIS 260
325#define CASE 261
326#define DEFAULT 262
327#define CIF 263
328#define CELSE 264
329#define SWITCH 265
330#define WHILE 266
331#define DO 267
332#define CFOR 268
333#define GOTO 269
334#define CONTINUE 270
335#define BREAK 271
336#define RETURN 272
337#define TSEMI 273
338#define TLBRACE 274
339#define TRBRACE 275
340#define TCOMMA 276
341#define TCOLON 277
342#define TASSIGN 278
343#define TLPAREN 279
344#define TRPAREN 280
345#define TLSQBR 281
346#define TRSQBR 282
347#define TDOT 283
348#define TAMPERSAND 284
349#define TEXCL 285
350#define TTILDE 286
351#define TMINUS 287
352#define TPLUS 288
353#define TMULT 289
354#define TDIV 290
355#define TPERCENT 291
356#define TLT 292
357#define TGT 293
358#define TCIRC 294
359#define TBAR 295
360#define TQUEST 296
361#define CSIZEOF 297
362#define CALIGNOF 298
363#define CTYPEOF 299
364#define ARROW_OP 300
365#define CTYPEDEF 301
366#define COFFSETOF 302
367#define INC_OP 303
368#define DEC_OP 304
369#define LEFT_OP 305
370#define RIGHT_OP 306
371#define LE_OP 307
372#define GE_OP 308
373#define EQ_OP 309
374#define NE_OP 310
375#define AND_OP 311
376#define OR_OP 312
377#define MUL_ASSIGN 313
378#define DIV_ASSIGN 314
379#define MOD_ASSIGN 315
380#define ADD_ASSIGN 316
381#define SUB_ASSIGN 317
382#define LEFT_ASSIGN 318
383#define RIGHT_ASSIGN 319
384#define AND_ASSIGN 320
385#define XOR_ASSIGN 321
386#define OR_ASSIGN 322
387#define CSTRUCT 323
388#define CUNION 324
389#define CENUM 325
390#define VA_ARG 326
391#define VA_DCL 327
392#define QWARN 328
393#define QGLOBALS 329
394#define QMODIFIES 330
395#define QNOMODS 331
396#define QCONSTANT 332
397#define QFUNCTION 333
398#define QITER 334
399#define QDEFINES 335
400#define QUSES 336
401#define QALLOCATES 337
402#define QSETS 338
403#define QRELEASES 339
404#define QPRECLAUSE 340
405#define QPOSTCLAUSE 341
406#define QINVARIANT 342
407#define QALT 343
408#define QUNDEF 344
409#define QKILLED 345
410#define QENDMACRO 346
411#define LLMACRO 347
412#define LLMACROITER 348
413#define LLMACROEND 349
414#define TENDMACRO 350
415#define QDREVEALSTATE 351
416#define QSWITCHBREAK 352
417#define QLOOPBREAK 353
418#define QINNERBREAK 354
419#define QSAFEBREAK 355
420#define QINNERCONTINUE 356
421#define QFALLTHROUGH 357
422#define QLINTNOTREACHED 358
423#define QLINTFALLTHROUGH 359
424#define QLINTFALLTHRU 360
425#define QARGSUSED 361
426#define QPRINTFLIKE 362
427#define QLINTPRINTFLIKE 363
428#define QSCANFLIKE 364
429#define QMESSAGELIKE 365
430#define QNOTREACHED 366
431#define QCONST 367
432#define QRESTRICT 368
433#define QVOLATILE 369
434#define QINLINE 370
435#define QEXTENSION 371
436#define QEXTERN 372
437#define QSTATIC 373
438#define QAUTO 374
439#define QREGISTER 375
440#define QOUT 376
441#define QIN 377
442#define QYIELD 378
443#define QONLY 379
444#define QTEMP 380
445#define QSHARED 381
446#define QREF 382
447#define QUNIQUE 383
448#define QCHECKED 384
449#define QUNCHECKED 385
450#define QCHECKEDSTRICT 386
451#define QCHECKMOD 387
452#define QKEEP 388
453#define QKEPT 389
454#define QPARTIAL 390
455#define QSPECIAL 391
456#define QOWNED 392
457#define QDEPENDENT 393
458#define QRETURNED 394
459#define QEXPOSED 395
460#define QNULL 396
461#define QOBSERVER 397
462#define QISNULL 398
463#define QEXITS 399
464#define QMAYEXIT 400
465#define QNEVEREXIT 401
466#define QTRUEEXIT 402
467#define QFALSEEXIT 403
468#define QLONG 404
469#define QSIGNED 405
470#define QUNSIGNED 406
471#define QSHORT 407
472#define QUNUSED 408
473#define QSEF 409
474#define QNOTNULL 410
475#define QRELNULL 411
476#define QABSTRACT 412
477#define QNUMABSTRACT 413
478#define QCONCRETE 414
479#define QMUTABLE 415
480#define QIMMUTABLE 416
481#define QTRUENULL 417
482#define QFALSENULL 418
483#define QEXTERNAL 419
484#define QREFCOUNTED 420
485#define QREFS 421
486#define QNEWREF 422
487#define QTEMPREF 423
488#define QKILLREF 424
489#define QRELDEF 425
490#define CGCHAR 426
491#define CBOOL 427
492#define CINT 428
493#define CGFLOAT 429
494#define CDOUBLE 430
495#define CVOID 431
496#define QANYTYPE 432
497#define QINTEGRALTYPE 433
498#define QUNSIGNEDINTEGRALTYPE 434
499#define QSIGNEDINTEGRALTYPE 435
500#define QNULLTERMINATED 436
501#define QSETBUFFERSIZE 437
502#define QSETSTRINGLENGTH 438
503#define QMAXSET 439
504#define QMAXREAD 440
505#define QTESTINRANGE 441
506#define TCAND 442
507#define IDENTIFIER 443
508#define NEW_IDENTIFIER 444
509#define TYPE_NAME_OR_ID 445
510#define CANNOTATION 446
511#define CCONSTANT 447
512#define ITER_NAME 448
513#define ITER_ENDNAME 449
514#define TYPE_NAME 450
515#define METASTATE_NAME 451
516
517
518
519
520/* Copy the first part of user declarations. */
d0b80d80 521
522
523/*
524**
525** cgrammar.y
526**
527** Yacc/Bison grammar for extended ANSI C used by Splint.
528**
529** original grammar by Nate Osgood ---
530** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
531**
532** changes for Splint --- handle typedef names correctly
533** fix struct/union parsing bug (empty struct is accepted)
534** add productions to handle macros --- require
535** error correction --- main source of conflicts in grammar.
536** need to process initializations sequentially, L->R
537**
538** production names are cryptic, so more productions fit on one line
539**
540** conflicts: 87 shift/reduce, 18 reduce/reduce
541** most of these are due to handling macros
542** a few are due to handling type expressions
543*/
544
545/*@=allmacros@*/
546
547extern int yylex ();
548extern void yyerror (char *);
549
550# include "splintMacros.nf"
551# include "basic.h"
552# include "cscanner.h"
16c024b5 553# include "cscannerHelp.h"
d0b80d80 554# include "cgrammar.h"
555# include "exprChecks.h"
556
557/*@-allmacros@*/
558/*@-matchfields@*/
559
560# define SHOWCSYM FALSE
561
562/*
563** This is necessary, or else when the bison-generated code #include's malloc.h,
564** there will be a parse error.
565**
566** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
567** in bison-generated files under Win32.
568*/
569
570# ifdef WIN32
571# undef malloc
572# undef calloc
573# undef realloc
574# endif
575
576
08cf8642 577
578/* Enabling traces. */
579#ifndef YYDEBUG
580# define YYDEBUG 1
581#endif
582
583/* Enabling verbose error messages. */
584#ifdef YYERROR_VERBOSE
585# undef YYERROR_VERBOSE
586# define YYERROR_VERBOSE 1
587#else
588# define YYERROR_VERBOSE 0
589#endif
590
591/* Enabling the token table. */
592#ifndef YYTOKEN_TABLE
593# define YYTOKEN_TABLE 0
594#endif
595
596#if ! defined cgrammar_YYSTYPE && ! defined cgrammar_YYSTYPE_IS_DECLARED
597typedef union cgrammar_YYSTYPE
598
368f75ae 599{
d0b80d80 600 lltok tok;
601 int count;
602 qual typequal;
603 qualList tquallist;
604 ctype ctyp;
605 /*@dependent@*/ sRef sr;
606 /*@only@*/ sRef osr;
607
608 /*@only@*/ functionClauseList funcclauselist;
609 /*@only@*/ functionClause funcclause;
610 /*@only@*/ flagSpec flagspec;
611 /*@only@*/ globalsClause globsclause;
612 /*@only@*/ modifiesClause modsclause;
613 /*@only@*/ warnClause warnclause;
614 /*@only@*/ stateClause stateclause;
615 /*@only@*/ pointers pointers;
616 /*@only@*/ functionConstraint fcnconstraint;
617
618 /*@only@*/ metaStateConstraint msconstraint;
619 /*@only@*/ metaStateSpecifier msspec;
620 /*@only@*/ metaStateExpression msexpr;
621 /*@observer@*/ metaStateInfo msinfo;
622
623 /*@only@*/ sRefList srlist;
624 /*@only@*/ globSet globset;
625 /*@only@*/ qtype qtyp;
626 /*@only@*/ cstring cname;
627 /*@observer@*/ annotationInfo annotation;
628 /*@only@*/ idDecl ntyp;
629 /*@only@*/ idDeclList ntyplist;
630 /*@only@*/ uentryList flist;
631 /*@owned@*/ uentryList entrylist;
632 /*@observer@*/ /*@dependent@*/ uentry entry;
633 /*@only@*/ uentry oentry;
634 /*@only@*/ exprNode expr;
635 /*@only@*/ enumNameList enumnamelist;
636 /*@only@*/ exprNodeList exprlist;
637 /*@only@*/ sRefSet srset;
638 /*@only@*/ cstringList cstringlist;
639
640 /*drl
641 added 1/19/2001
642 */
643 constraint con;
644 constraintList conL;
645 constraintExpr conE;
646 /* drl */
08cf8642 647}
648/* Line 193 of yacc.c. */
649
650 cgrammar_YYSTYPE;
651# define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
652# define cgrammar_YYSTYPE_IS_DECLARED 1
d0b80d80 653# define cgrammar_YYSTYPE_IS_TRIVIAL 1
654#endif
08cf8642 655
656
657
658/* Copy the second part of user declarations. */
659
660
661/* Line 216 of yacc.c. */
662
663
664#ifdef short
665# undef short
666#endif
667
668#ifdef YYTYPE_UINT8
669typedef YYTYPE_UINT8 yytype_uint8;
670#else
671typedef unsigned char yytype_uint8;
672#endif
673
674#ifdef YYTYPE_INT8
675typedef YYTYPE_INT8 yytype_int8;
676#elif (defined __STDC__ || defined __C99__FUNC__ \
677 || defined __cplusplus || defined _MSC_VER)
678typedef signed char yytype_int8;
679#else
680typedef short int yytype_int8;
681#endif
682
683#ifdef YYTYPE_UINT16
684typedef YYTYPE_UINT16 yytype_uint16;
685#else
686typedef unsigned short int yytype_uint16;
687#endif
688
689#ifdef YYTYPE_INT16
690typedef YYTYPE_INT16 yytype_int16;
691#else
692typedef short int yytype_int16;
693#endif
694
695#ifndef YYSIZE_T
696# ifdef __SIZE_TYPE__
697# define YYSIZE_T __SIZE_TYPE__
698# elif defined size_t
699# define YYSIZE_T size_t
700# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
701 || defined __cplusplus || defined _MSC_VER)
702# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
703# define YYSIZE_T size_t
704# else
705# define YYSIZE_T unsigned int
706# endif
707#endif
708
709#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
710
711#ifndef YY_
712# if YYENABLE_NLS
713# if ENABLE_NLS
714# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
715# define YY_(msgid) dgettext ("bison-runtime", msgid)
716# endif
717# endif
718# ifndef YY_
719# define YY_(msgid) msgid
720# endif
721#endif
722
723/* Suppress unused-variable warnings by "using" E. */
724#if ! defined lint || defined __GNUC__
725# define YYUSE(e) ((void) (e))
726#else
727# define YYUSE(e) /* empty */
728#endif
729
730/* Identity function, used to suppress warnings about constant conditions. */
731#ifndef lint
732# define YYID(n) (n)
733#else
734#if (defined __STDC__ || defined __C99__FUNC__ \
735 || defined __cplusplus || defined _MSC_VER)
736static int
737YYID (int i)
738#else
739static int
740YYID (i)
741 int i;
742#endif
743{
744 return i;
745}
368f75ae 746#endif
d0b80d80 747
08cf8642 748#if ! defined yyoverflow || YYERROR_VERBOSE
749
750/* The parser invokes alloca or malloc; define the necessary symbols. */
751
752# ifdef YYSTACK_USE_ALLOCA
753# if YYSTACK_USE_ALLOCA
754# ifdef __GNUC__
755# define YYSTACK_ALLOC __builtin_alloca
756# elif defined __BUILTIN_VA_ARG_INCR
757# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
758# elif defined _AIX
759# define YYSTACK_ALLOC __alloca
760# elif defined _MSC_VER
761# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
762# define alloca _alloca
763# else
764# define YYSTACK_ALLOC alloca
765# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
766 || defined __cplusplus || defined _MSC_VER)
767# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
768# ifndef _STDLIB_H
769# define _STDLIB_H 1
770# endif
771# endif
772# endif
773# endif
774# endif
775
776# ifdef YYSTACK_ALLOC
777 /* Pacify GCC's `empty if-body' warning. */
778# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
779# ifndef YYSTACK_ALLOC_MAXIMUM
780 /* The OS might guarantee only one guard page at the bottom of the stack,
781 and a page size can be as small as 4096 bytes. So we cannot safely
782 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
783 to allow for a few compiler-allocated temporary stack slots. */
784# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
785# endif
786# else
787# define YYSTACK_ALLOC YYMALLOC
788# define YYSTACK_FREE YYFREE
789# ifndef YYSTACK_ALLOC_MAXIMUM
790# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
791# endif
792# if (defined __cplusplus && ! defined _STDLIB_H \
793 && ! ((defined YYMALLOC || defined malloc) \
794 && (defined YYFREE || defined free)))
795# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
796# ifndef _STDLIB_H
797# define _STDLIB_H 1
798# endif
799# endif
800# ifndef YYMALLOC
801# define YYMALLOC malloc
802# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
803 || defined __cplusplus || defined _MSC_VER)
804void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
805# endif
806# endif
807# ifndef YYFREE
808# define YYFREE free
809# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
810 || defined __cplusplus || defined _MSC_VER)
811void free (void *); /* INFRINGES ON USER NAME SPACE */
812# endif
813# endif
814# endif
815#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
816
817
818#if (! defined yyoverflow \
819 && (! defined __cplusplus \
820 || (defined cgrammar_YYSTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
821
822/* A type that is properly aligned for any stack member. */
823union yyalloc
824{
825 yytype_int16 yyss;
826 cgrammar_YYSTYPE yyvs;
827 };
828
829/* The size of the maximum gap between one aligned stack and the next. */
830# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
831
832/* The size of an array large to enough to hold all stacks, each with
833 N elements. */
834# define YYSTACK_BYTES(N) \
835 ((N) * (sizeof (yytype_int16) + sizeof (cgrammar_YYSTYPE)) \
836 + YYSTACK_GAP_MAXIMUM)
d0b80d80 837
08cf8642 838/* Copy COUNT objects from FROM to TO. The source and destination do
839 not overlap. */
840# ifndef YYCOPY
841# if defined __GNUC__ && 1 < __GNUC__
842# define YYCOPY(To, From, Count) \
843 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
844# else
845# define YYCOPY(To, From, Count) \
846 do \
847 { \
848 YYSIZE_T yyi; \
849 for (yyi = 0; yyi < (Count); yyi++) \
850 (To)[yyi] = (From)[yyi]; \
851 } \
852 while (YYID (0))
853# endif
854# endif
d0b80d80 855
08cf8642 856/* Relocate STACK from its old location to the new one. The
857 local variables YYSIZE and YYSTACKSIZE give the old and new number of
858 elements in the stack, and YYPTR gives the new location of the
859 stack. Advance YYPTR to a properly aligned location for the next
860 stack. */
861# define YYSTACK_RELOCATE(Stack) \
862 do \
863 { \
864 YYSIZE_T yynewbytes; \
865 YYCOPY (&yyptr->Stack, Stack, yysize); \
866 Stack = &yyptr->Stack; \
867 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
868 yyptr += yynewbytes / sizeof (*yyptr); \
869 } \
870 while (YYID (0))
d0b80d80 871
08cf8642 872#endif
d0b80d80 873
08cf8642 874/* YYFINAL -- State number of the termination state. */
875#define YYFINAL 262
876/* YYLAST -- Last index in YYTABLE. */
877#define YYLAST 6819
878
879/* YYNTOKENS -- Number of terminals. */
880#define YYNTOKENS 197
881/* YYNNTS -- Number of nonterminals. */
882#define YYNNTS 276
883/* YYNRULES -- Number of rules. */
884#define YYNRULES 719
885/* YYNRULES -- Number of states. */
886#define YYNSTATES 1264
887
888/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
889#define YYUNDEFTOK 2
890#define YYMAXUTOK 451
891
892#define YYTRANSLATE(YYX) \
893 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
894
895/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
896static const yytype_uint8 yytranslate[] =
d0b80d80 897{
898 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
899 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
900 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
901 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
902 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
903 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
904 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
905 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
906 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
907 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
908 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
909 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
910 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
911 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
912 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
913 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
914 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
915 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
916 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
917 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
918 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
919 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
920 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
921 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
922 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
08cf8642 923 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
924 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
925 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
926 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
927 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
928 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
929 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
930 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
931 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
932 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
933 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
934 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
935 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
936 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
937 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
938 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
939 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
940 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
941 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
942 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
943 195, 196
d0b80d80 944};
945
946#if YYDEBUG
08cf8642 947/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
948 YYRHS. */
949static const yytype_uint16 yyprhs[] =
d0b80d80 950{
08cf8642 951 0, 0, 3, 4, 6, 8, 11, 14, 16, 18,
952 20, 22, 24, 26, 28, 37, 49, 50, 56, 58,
953 62, 64, 67, 69, 76, 80, 87, 88, 95, 96,
954 104, 106, 113, 117, 124, 125, 132, 133, 141, 142,
955 143, 154, 158, 162, 166, 169, 171, 175, 176, 181,
956 182, 187, 189, 193, 195, 197, 199, 203, 205, 209,
957 211, 213, 215, 217, 219, 221, 226, 232, 234, 236,
958 238, 240, 244, 249, 252, 256, 260, 264, 266, 268,
959 270, 271, 274, 275, 278, 280, 282, 284, 286, 288,
960 290, 292, 294, 296, 298, 300, 302, 305, 306, 311,
961 313, 316, 317, 321, 323, 327, 329, 331, 332, 335,
962 339, 342, 344, 348, 351, 352, 355, 357, 359, 361,
963 363, 365, 367, 369, 371, 373, 375, 377, 379, 381,
964 383, 385, 387, 391, 392, 396, 397, 398, 403, 406,
965 409, 411, 413, 415, 417, 421, 426, 429, 433, 437,
966 441, 443, 445, 447, 451, 453, 455, 459, 464, 467,
967 471, 475, 479, 480, 482, 484, 488, 490, 492, 494,
968 498, 500, 502, 503, 508, 510, 515, 519, 524, 531,
969 537, 543, 546, 549, 557, 559, 563, 565, 568, 571,
970 574, 577, 580, 583, 586, 589, 593, 595, 599, 604,
971 606, 616, 617, 621, 622, 623, 628, 631, 636, 639,
972 641, 646, 648, 652, 656, 660, 662, 666, 670, 672,
973 676, 680, 682, 686, 690, 694, 698, 700, 704, 708,
974 710, 714, 716, 720, 722, 726, 728, 729, 734, 736,
975 737, 742, 744, 745, 746, 753, 754, 755, 763, 765,
976 769, 773, 777, 781, 785, 789, 793, 797, 801, 805,
977 809, 811, 815, 816, 818, 820, 822, 824, 826, 830,
978 831, 841, 842, 854, 856, 858, 861, 862, 869, 870,
979 879, 884, 889, 890, 891, 894, 896, 901, 904, 906,
980 911, 912, 917, 919, 923, 928, 931, 934, 937, 939,
981 942, 946, 949, 951, 955, 957, 959, 961, 963, 965,
982 968, 969, 976, 979, 982, 983, 990, 991, 997, 999,
983 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019,
984 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039,
985 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059,
986 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
987 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099,
988 1101, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
edad9a7f 989 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
08cf8642 990 1160, 1163, 1166, 1169, 1172, 1175, 1178, 1181, 1185, 1187,
991 1192, 1194, 1198, 1201, 1204, 1207, 1208, 1210, 1211, 1212,
992 1213, 1226, 1227, 1228, 1240, 1247, 1254, 1255, 1256, 1267,
993 1268, 1269, 1280, 1286, 1292, 1297, 1302, 1303, 1305, 1307,
994 1310, 1316, 1320, 1323, 1328, 1330, 1334, 1339, 1346, 1347,
995 1356, 1361, 1363, 1367, 1370, 1372, 1377, 1379, 1381, 1384,
996 1387, 1389, 1392, 1394, 1397, 1399, 1401, 1403, 1405, 1408,
997 1410, 1413, 1416, 1420, 1422, 1426, 1428, 1432, 1434, 1436,
998 1440, 1441, 1444, 1445, 1450, 1455, 1457, 1459, 1462, 1464,
999 1466, 1469, 1470, 1472, 1478, 1481, 1485, 1489, 1494, 1498,
1000 1503, 1508, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528,
1001 1530, 1532, 1534, 1539, 1541, 1543, 1545, 1548, 1551, 1559,
1002 1566, 1569, 1570, 1571, 1582, 1583, 1590, 1592, 1594, 1596,
1003 1598, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1619,
1004 1621, 1622, 1626, 1629, 1632, 1634, 1636, 1638, 1640, 1642,
1005 1644, 1646, 1648, 1650, 1652, 1656, 1658, 1660, 1662, 1665,
1006 1668, 1669, 1672, 1673, 1678, 1679, 1686, 1687, 1691, 1692,
1007 1698, 1702, 1705, 1709, 1710, 1711, 1712, 1713, 1714, 1716,
1008 1719, 1722, 1726, 1729, 1733, 1737, 1742, 1745, 1748, 1752,
1009 1756, 1761, 1763, 1766, 1768, 1771, 1773, 1777, 1779, 1784,
1010 1786, 1789, 1791, 1794, 1796, 1799, 1801, 1806, 1809, 1810,
1011 1816, 1817, 1824, 1829, 1834, 1835, 1836, 1847, 1849, 1850,
1012 1855, 1857, 1859, 1861, 1863, 1865, 1868, 1870, 1874, 1876,
1013 1881, 1885, 1890, 1897, 1903, 1909, 1912, 1915, 1917, 1920,
1014 1923, 1926, 1929, 1932, 1935, 1938, 1941, 1943, 1945, 1950,
1015 1952, 1956, 1960, 1964, 1966, 1970, 1974, 1976, 1980, 1984,
1016 1986, 1990, 1994, 1998, 2002, 2004, 2008, 2012, 2014, 2018,
1017 2020, 2024, 2026, 2030, 2032, 2036, 2038, 2042, 2044, 2045,
1018 2046, 2053, 2054, 2055, 2063, 2065, 2069, 2073, 2077, 2081,
1019 2085, 2089, 2093, 2097, 2101, 2105, 2109, 2111, 2112, 2114,
1020 2117, 2125, 2128, 2131, 2139, 2146, 2149, 2153, 2156, 2160,
1021 2163, 2167, 2171, 2175, 2179, 2182, 2186, 2187, 2189, 2190,
1022 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2213
d0b80d80 1023};
08cf8642 1024
1025/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1026static const yytype_int16 yyrhs[] =
d0b80d80 1027{
08cf8642 1028 198, 0, -1, -1, 199, -1, 200, -1, 199, 200,
1029 -1, 261, 468, -1, 201, -1, 202, -1, 212, -1,
1030 215, -1, 303, -1, 18, -1, 1, -1, 77, 347,
1031 361, 371, 361, 468, 312, 91, -1, 77, 347, 361,
1032 371, 361, 23, 312, 319, 318, 468, 91, -1, -1,
1033 78, 203, 204, 468, 91, -1, 205, -1, 347, 361,
1034 205, -1, 209, -1, 375, 209, -1, 471, -1, 312,
1035 24, 361, 371, 312, 25, -1, 206, 26, 27, -1,
1036 206, 26, 312, 302, 27, 361, -1, -1, 206, 313,
1037 24, 25, 207, 233, -1, -1, 206, 313, 24, 372,
1038 25, 208, 233, -1, 471, -1, 312, 24, 361, 205,
1039 312, 25, -1, 209, 26, 27, -1, 209, 26, 312,
1040 302, 27, 361, -1, -1, 209, 313, 24, 25, 210,
1041 234, -1, -1, 209, 313, 24, 372, 25, 211, 234,
1042 -1, -1, -1, 79, 471, 24, 372, 25, 213, 234,
1043 214, 468, 91, -1, 92, 403, 95, -1, 93, 389,
1044 95, -1, 94, 390, 95, -1, 92, 95, -1, 256,
1045 -1, 218, 23, 221, -1, -1, 230, 219, 22, 222,
1046 -1, -1, 5, 220, 22, 222, -1, 218, -1, 218,
1047 40, 221, -1, 196, -1, 187, -1, 56, -1, 225,
1048 223, 224, -1, 225, -1, 228, 227, 228, -1, 184,
1049 -1, 185, -1, 53, -1, 52, -1, 54, -1, 229,
1050 -1, 231, 24, 228, 25, -1, 24, 228, 232, 228,
1051 25, -1, 230, -1, 192, -1, 470, -1, 189, -1,
1052 230, 26, 27, -1, 230, 26, 192, 27, -1, 34,
1053 230, -1, 24, 230, 25, -1, 230, 28, 471, -1,
1054 230, 45, 471, -1, 226, -1, 33, -1, 32, -1,
1055 -1, 235, 233, -1, -1, 236, 234, -1, 237, -1,
1056 241, -1, 240, -1, 325, -1, 328, -1, 247, -1,
1057 238, -1, 242, -1, 240, -1, 326, -1, 330, -1,
1058 248, -1, 238, 91, -1, -1, 74, 239, 249, 468,
1059 -1, 76, -1, 242, 91, -1, -1, 75, 243, 262,
1060 -1, 245, -1, 245, 40, 244, -1, 189, -1, 247,
1061 -1, -1, 248, 91, -1, 73, 244, 442, -1, 73,
1062 244, -1, 250, -1, 249, 21, 250, -1, 251, 252,
1063 -1, -1, 253, 251, -1, 470, -1, 189, -1, 303,
1064 -1, 89, -1, 90, -1, 121, -1, 122, -1, 135,
1065 -1, 80, -1, 81, -1, 82, -1, 83, -1, 84,
1066 -1, 85, -1, 86, -1, 371, -1, 347, 361, 371,
1067 -1, -1, 19, 258, 420, -1, -1, -1, 259, 424,
1068 260, 413, -1, 216, 257, -1, 265, 468, -1, 468,
1069 -1, 470, -1, 189, -1, 190, -1, 263, 26, 27,
1070 -1, 263, 26, 264, 27, -1, 34, 263, -1, 24,
1071 263, 25, -1, 263, 28, 471, -1, 263, 45, 471,
1072 -1, 263, -1, 442, -1, 263, -1, 265, 21, 263,
1073 -1, 470, -1, 189, -1, 266, 26, 27, -1, 266,
1074 26, 264, 27, -1, 34, 266, -1, 24, 266, 25,
1075 -1, 266, 28, 471, -1, 266, 45, 471, -1, -1,
1076 268, -1, 266, -1, 268, 21, 266, -1, 470, -1,
1077 189, -1, 442, -1, 24, 300, 25, -1, 190, -1,
1078 116, -1, -1, 24, 270, 413, 25, -1, 269, -1,
1079 271, 26, 300, 27, -1, 271, 24, 25, -1, 271,
1080 24, 272, 25, -1, 71, 24, 299, 21, 383, 25,
1081 -1, 271, 361, 28, 471, 312, -1, 271, 361, 45,
1082 471, 312, -1, 271, 48, -1, 271, 49, -1, 24,
1083 383, 25, 19, 425, 469, 20, -1, 299, -1, 272,
1084 21, 299, -1, 271, -1, 48, 273, -1, 49, 273,
1085 -1, 29, 281, -1, 34, 281, -1, 33, 281, -1,
1086 32, 281, -1, 31, 281, -1, 30, 281, -1, 278,
1087 276, 279, -1, 275, -1, 274, 28, 471, -1, 274,
1088 26, 300, 27, -1, 471, -1, 47, 312, 24, 383,
1089 361, 21, 274, 25, 312, -1, -1, 312, 277, 280,
1090 -1, -1, -1, 42, 24, 383, 25, -1, 42, 273,
1091 -1, 43, 24, 383, 25, -1, 43, 273, -1, 273,
1092 -1, 24, 383, 25, 281, -1, 281, -1, 282, 34,
1093 281, -1, 282, 35, 281, -1, 282, 36, 281, -1,
1094 282, -1, 283, 33, 282, -1, 283, 32, 282, -1,
1095 283, -1, 284, 50, 283, -1, 284, 51, 283, -1,
1096 284, -1, 285, 37, 284, -1, 285, 38, 284, -1,
1097 285, 52, 284, -1, 285, 53, 284, -1, 285, -1,
1098 286, 54, 285, -1, 286, 55, 285, -1, 286, -1,
1099 287, 29, 286, -1, 287, -1, 288, 39, 287, -1,
1100 288, -1, 289, 40, 288, -1, 289, -1, -1, 290,
1101 56, 291, 289, -1, 290, -1, -1, 292, 57, 293,
1102 290, -1, 292, -1, -1, -1, 292, 41, 295, 22,
1103 296, 294, -1, -1, -1, 292, 41, 297, 300, 22,
1104 298, 294, -1, 294, -1, 273, 23, 299, -1, 273,
1105 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1106 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1107 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1108 -1, 273, 66, 299, -1, 273, 67, 299, -1, 299,
1109 -1, 300, 21, 299, -1, -1, 300, -1, 294, -1,
1110 304, -1, 72, -1, 310, -1, 347, 312, 18, -1,
1111 -1, 347, 361, 371, 361, 305, 312, 318, 18, 312,
1112 -1, -1, 347, 361, 371, 361, 23, 306, 312, 319,
1113 318, 18, 312, -1, 308, -1, 195, -1, 371, 361,
1114 -1, -1, 371, 361, 23, 309, 312, 319, -1, -1,
1115 46, 347, 311, 361, 316, 312, 246, 18, -1, 46,
1116 347, 312, 18, -1, 46, 314, 312, 18, -1, -1,
1117 -1, 315, 312, -1, 308, -1, 314, 21, 361, 308,
1118 -1, 317, 312, -1, 307, -1, 316, 21, 361, 307,
1119 -1, -1, 318, 21, 361, 308, -1, 299, -1, 19,
1120 323, 20, -1, 19, 323, 21, 20, -1, 320, 319,
1121 -1, 321, 23, -1, 471, 22, -1, 322, -1, 321,
1122 322, -1, 26, 302, 27, -1, 28, 471, -1, 319,
1123 -1, 323, 21, 319, -1, 117, -1, 115, -1, 118,
1124 -1, 119, -1, 120, -1, 326, 91, -1, -1, 254,
1125 361, 327, 268, 468, 312, -1, 330, 91, -1, 255,
1126 361, -1, -1, 329, 336, 331, 267, 468, 312, -1,
1127 -1, 329, 332, 333, 468, 312, -1, 224, -1, 217,
1128 -1, 144, -1, 145, -1, 147, -1, 148, -1, 146,
1129 -1, 129, -1, 132, -1, 130, -1, 131, -1, 137,
1130 -1, 138, -1, 123, -1, 125, -1, 124, -1, 133,
1131 -1, 134, -1, 126, -1, 128, -1, 141, -1, 143,
1132 -1, 156, -1, 155, -1, 140, -1, 142, -1, 181,
1133 -1, 191, -1, 139, -1, 154, -1, 153, -1, 164,
1134 -1, 162, -1, 163, -1, 157, -1, 158, -1, 159,
1135 -1, 160, -1, 161, -1, 165, -1, 166, -1, 169,
1136 -1, 170, -1, 167, -1, 168, -1, 152, -1, 149,
1137 -1, 150, -1, 151, -1, 121, -1, 122, -1, 135,
1138 -1, 136, -1, 112, 312, -1, 114, 312, -1, 113,
1139 312, -1, 343, 312, -1, 336, 312, -1, 334, 312,
1140 -1, 337, 312, -1, 335, 312, -1, 339, 312, -1,
1141 338, 312, -1, 340, 312, -1, 341, 312, -1, 171,
1142 361, -1, 173, 361, -1, 172, 361, -1, 174, 361,
1143 -1, 175, 361, -1, 176, 361, -1, 177, 361, -1,
1144 178, 361, -1, 179, 361, -1, 180, 361, -1, 472,
1145 361, -1, 352, 361, -1, 366, 361, -1, 342, 361,
1146 -1, 312, 347, 312, -1, 349, -1, 349, 88, 348,
1147 91, -1, 383, -1, 383, 21, 348, -1, 324, 350,
1148 -1, 344, 350, -1, 345, 350, -1, -1, 347, -1,
1149 -1, -1, -1, 361, 68, 471, 312, 19, 353, 417,
1150 362, 418, 354, 20, 351, -1, -1, -1, 361, 69,
1151 471, 312, 19, 355, 417, 362, 418, 356, 20, -1,
1152 361, 68, 471, 312, 19, 20, -1, 361, 69, 471,
1153 312, 19, 20, -1, -1, -1, 361, 68, 312, 19,
1154 357, 417, 362, 418, 358, 20, -1, -1, -1, 361,
1155 69, 312, 19, 359, 417, 362, 418, 360, 20, -1,
1156 361, 68, 312, 19, 20, -1, 361, 69, 312, 19,
1157 20, -1, 361, 68, 471, 361, -1, 361, 69, 471,
1158 361, -1, -1, 363, -1, 215, -1, 362, 363, -1,
1159 347, 361, 364, 312, 18, -1, 347, 312, 18, -1,
1160 365, 361, -1, 364, 21, 365, 361, -1, 371, -1,
1161 22, 312, 302, -1, 371, 22, 312, 302, -1, 361,
1162 70, 19, 368, 20, 312, -1, -1, 361, 70, 471,
1163 19, 367, 368, 20, 312, -1, 361, 70, 471, 312,
1164 -1, 369, -1, 368, 21, 369, -1, 368, 21, -1,
1165 471, -1, 471, 23, 312, 302, -1, 206, -1, 385,
1166 -1, 375, 195, -1, 375, 370, -1, 206, -1, 375,
1167 206, -1, 378, -1, 361, 376, -1, 112, -1, 113,
1168 -1, 114, -1, 373, -1, 374, 373, -1, 34, -1,
1169 34, 374, -1, 34, 375, -1, 34, 374, 375, -1,
1170 377, -1, 377, 21, 5, -1, 471, -1, 377, 21,
1171 471, -1, 5, -1, 379, -1, 379, 21, 5, -1,
1172 -1, 380, 382, -1, -1, 379, 21, 381, 382, -1,
1173 312, 347, 370, 312, -1, 471, -1, 346, -1, 346,
1174 384, -1, 375, -1, 386, -1, 375, 386, -1, -1,
1175 386, -1, 312, 24, 361, 384, 25, -1, 26, 27,
1176 -1, 26, 302, 27, -1, 386, 26, 27, -1, 386,
1177 26, 302, 27, -1, 312, 24, 25, -1, 312, 24,
1178 378, 25, -1, 386, 312, 24, 25, -1, 386, 312,
1179 24, 378, 25, -1, 405, -1, 407, -1, 410, -1,
1180 413, -1, 428, -1, 431, -1, 465, -1, 436, -1,
1181 467, -1, 388, -1, 96, 24, 300, 25, -1, 391,
1182 -1, 389, -1, 398, -1, 391, 398, -1, 435, 391,
1183 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1184 404, 11, 24, 300, 25, -1, 393, 398, -1, -1,
1185 -1, 13, 24, 301, 18, 301, 18, 394, 301, 395,
1186 25, -1, -1, 193, 415, 24, 397, 439, 25, -1,
1187 194, -1, 405, -1, 407, -1, 410, -1, 401, 424,
1188 -1, 401, -1, 402, -1, 428, -1, 399, -1, 392,
1189 -1, 396, -1, 467, -1, 24, 398, 25, -1, 1,
1190 -1, -1, 430, 400, 398, -1, 415, 19, -1, 419,
1191 20, -1, 404, -1, 423, -1, 405, -1, 407, -1,
1192 410, -1, 414, -1, 429, -1, 431, -1, 436, -1,
1193 466, -1, 24, 404, 25, -1, 467, -1, 388, -1,
1194 1, -1, 471, 22, -1, 111, 387, -1, -1, 102,
1195 406, -1, -1, 6, 302, 408, 22, -1, -1, 102,
1196 406, 6, 302, 409, 22, -1, -1, 7, 411, 22,
1197 -1, -1, 102, 406, 7, 412, 22, -1, 24, 413,
1198 25, -1, 415, 421, -1, 415, 422, 416, -1, -1,
1199 -1, -1, -1, -1, 20, -1, 111, 20, -1, 427,
1200 20, -1, 427, 111, 20, -1, 424, 20, -1, 424,
1201 111, 20, -1, 424, 427, 20, -1, 424, 427, 111,
1202 20, -1, 19, 420, -1, 19, 20, -1, 19, 423,
1203 20, -1, 19, 424, 20, -1, 19, 424, 427, 20,
1204 -1, 404, -1, 423, 404, -1, 303, -1, 424, 303,
1205 -1, 426, -1, 425, 21, 426, -1, 299, -1, 19,
1206 425, 469, 20, -1, 387, -1, 427, 387, -1, 18,
1207 -1, 300, 18, -1, 18, -1, 300, 18, -1, 300,
1208 -1, 8, 24, 300, 25, -1, 430, 387, -1, -1,
1209 430, 387, 9, 432, 387, -1, -1, 10, 24, 300,
1210 433, 25, 387, -1, 11, 24, 300, 25, -1, 11,
1211 24, 300, 25, -1, -1, -1, 193, 437, 415, 24,
1212 438, 439, 25, 413, 463, 416, -1, 441, -1, -1,
1213 439, 440, 21, 441, -1, 462, -1, 470, -1, 190,
1214 -1, 189, -1, 192, -1, 442, 192, -1, 442, -1,
1215 24, 300, 25, -1, 443, -1, 271, 26, 300, 27,
1216 -1, 271, 24, 25, -1, 271, 24, 272, 25, -1,
1217 71, 24, 299, 21, 383, 25, -1, 271, 361, 28,
1218 471, 312, -1, 271, 361, 45, 471, 312, -1, 271,
1219 48, -1, 271, 49, -1, 444, -1, 48, 273, -1,
1220 49, 273, -1, 29, 281, -1, 34, 281, -1, 33,
1221 281, -1, 32, 281, -1, 31, 281, -1, 30, 281,
1222 -1, 276, -1, 445, -1, 24, 383, 25, 281, -1,
1223 446, -1, 282, 34, 281, -1, 282, 35, 281, -1,
1224 282, 36, 281, -1, 447, -1, 283, 33, 282, -1,
1225 283, 32, 282, -1, 448, -1, 284, 50, 283, -1,
1226 284, 51, 283, -1, 449, -1, 285, 37, 284, -1,
1227 285, 38, 284, -1, 285, 52, 284, -1, 285, 53,
1228 284, -1, 450, -1, 286, 54, 285, -1, 286, 55,
1229 285, -1, 451, -1, 287, 29, 286, -1, 452, -1,
1230 288, 39, 287, -1, 453, -1, 289, 40, 288, -1,
1231 454, -1, 290, 56, 289, -1, 455, -1, 292, 57,
1232 290, -1, 456, -1, -1, -1, 292, 41, 458, 22,
1233 459, 294, -1, -1, -1, 292, 41, 460, 300, 22,
1234 461, 294, -1, 457, -1, 273, 23, 299, -1, 273,
1235 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1236 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1237 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1238 -1, 273, 66, 299, -1, 273, 67, 299, -1, 194,
1239 -1, -1, 12, -1, 434, 387, -1, 464, 387, 11,
1240 24, 300, 25, 18, -1, 393, 387, -1, 434, 404,
1241 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1242 404, 11, 24, 300, 25, -1, 393, 404, -1, 14,
1243 471, 18, -1, 15, 18, -1, 101, 15, 18, -1,
1244 16, 18, -1, 97, 16, 18, -1, 98, 16, 18,
1245 -1, 99, 16, 18, -1, 100, 16, 18, -1, 17,
1246 18, -1, 17, 300, 18, -1, -1, 18, -1, -1,
1247 21, -1, 188, -1, 189, -1, 193, -1, 194, -1,
1248 470, -1, 190, -1, 195, -1, 190, -1, 44, 24,
1249 300, 25, -1, 44, 24, 383, 25, -1
d0b80d80 1250};
1251
08cf8642 1252/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1253static const yytype_uint16 yyrline[] =
d0b80d80 1254{
08cf8642 1255 0, 327, 327, 329, 333, 334, 338, 339, 340, 341,
1256 342, 343, 344, 345, 349, 351, 356, 356, 365, 371,
1257 376, 377, 382, 383, 385, 387, 405, 404, 436, 435,
1258 465, 466, 468, 472, 490, 489, 502, 501, 516, 517,
1259 515, 524, 525, 526, 527, 531, 535, 540, 540, 545,
1260 545, 553, 554, 558, 564, 565, 569, 570, 574, 580,
1261 581, 585, 586, 587, 591, 592, 593, 599, 600, 604,
1262 606, 608, 610, 619, 621, 623, 625, 642, 646, 647,
1263 654, 655, 665, 666, 671, 672, 673, 674, 675, 676,
1264 680, 681, 682, 683, 684, 685, 689, 693, 693, 702,
1265 706, 711, 710, 725, 727, 732, 736, 737, 741, 745,
1266 751, 756, 757, 761, 765, 766, 770, 771, 772, 776,
1267 777, 778, 779, 780, 784, 785, 786, 787, 788, 792,
1268 793, 797, 804, 809, 809, 815, 816, 815, 826, 837,
1269 838, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1270 854, 855, 860, 861, 865, 867, 869, 870, 871, 872,
1271 873, 875, 880, 881, 885, 891, 904, 905, 906, 907,
1272 908, 909, 910, 910, 916, 917, 918, 919, 920, 921,
1273 922, 923, 924, 925, 930, 931, 935, 936, 937, 938,
1274 939, 940, 941, 942, 943, 944, 945, 949, 950, 952,
1275 956, 962, 962, 966, 969, 973, 974, 975, 976, 982,
1276 983, 988, 989, 990, 991, 995, 996, 997, 1001, 1002,
1277 1003, 1007, 1008, 1009, 1010, 1011, 1015, 1016, 1017, 1021,
1278 1022, 1026, 1027, 1031, 1032, 1036, 1038, 1037, 1049, 1051,
1279 1050, 1063, 1065, 1067, 1064, 1069, 1070, 1069, 1075, 1076,
1280 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1281 1090, 1091, 1095, 1096, 1100, 1106, 1107, 1108, 1112, 1127,
1282 1126, 1138, 1137, 1146, 1147, 1151, 1156, 1156, 1161, 1161,
1283 1164, 1165, 1169, 1173, 1177, 1181, 1182, 1186, 1190, 1191,
1284 1195, 1196, 1200, 1201, 1202, 1203, 1211, 1212, 1217, 1218,
1285 1222, 1223, 1227, 1229, 1239, 1240, 1241, 1242, 1243, 1247,
1286 1252, 1251, 1267, 1271, 1276, 1275, 1290, 1289, 1321, 1322,
1287 1326, 1327, 1328, 1329, 1330, 1334, 1335, 1336, 1337, 1341,
1288 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1289 1352, 1353, 1354, 1355, 1356, 1357, 1361, 1362, 1366, 1367,
1290 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1384, 1385, 1386,
1291 1387, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
1292 1403, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1293 1416, 1417, 1418, 1426, 1427, 1428, 1429, 1430, 1431, 1432,
1294 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1443, 1448, 1449,
1295 1454, 1455, 1460, 1461, 1462, 1466, 1467, 1471, 1478, 1480,
1296 1478, 1484, 1486, 1484, 1489, 1491, 1493, 1495, 1493, 1498,
1297 1500, 1498, 1503, 1505, 1507, 1508, 1512, 1516, 1517, 1518,
1298 1522, 1524, 1529, 1531, 1536, 1537, 1538, 1543, 1545, 1545,
1299 1547, 1551, 1553, 1555, 1559, 1564, 1572, 1573, 1574, 1580,
1300 1585, 1586, 1591, 1592, 1596, 1597, 1598, 1602, 1603, 1607,
1301 1608, 1609, 1610, 1614, 1615, 1619, 1620, 1624, 1625, 1626,
1302 1630, 1630, 1631, 1631, 1636, 1648, 1665, 1666, 1670, 1671,
1303 1672, 1676, 1677, 1681, 1683, 1684, 1686, 1687, 1689, 1691,
1304 1693, 1695, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
1305 1710, 1711, 1715, 1719, 1723, 1727, 1728, 1733, 1735, 1737,
1306 1739, 1745, 1745, 1744, 1753, 1752, 1756, 1760, 1761, 1762,
1307 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
1308 1776, 1776, 1783, 1787, 1791, 1792, 1796, 1797, 1798, 1799,
1309 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1811, 1812,
1310 1820, 1821, 1828, 1828, 1830, 1830, 1835, 1835, 1837, 1837,
1311 1842, 1843, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1873,
1312 1874, 1875, 1877, 1878, 1880, 1882, 1889, 1894, 1896, 1898,
1313 1900, 1905, 1906, 1910, 1911, 1915, 1916, 1920, 1921, 1925,
1314 1926, 1930, 1931, 1935, 1936, 1937, 1941, 1955, 1960, 1960,
1315 1965, 1965, 1970, 1976, 1980, 1981, 1980, 1991, 1992, 1992,
1316 1997, 1998, 1999, 2010, 2018, 2019, 2023, 2024, 2028, 2029,
1317 2030, 2031, 2032, 2034, 2035, 2036, 2037, 2041, 2042, 2043,
1318 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2054, 2055, 2059,
1319 2060, 2061, 2062, 2066, 2067, 2068, 2072, 2073, 2074, 2078,
1320 2079, 2080, 2081, 2082, 2086, 2087, 2088, 2092, 2093, 2097,
1321 2098, 2102, 2103, 2107, 2108, 2112, 2113, 2117, 2118, 2119,
1322 2118, 2121, 2122, 2121, 2127, 2128, 2129, 2130, 2131, 2132,
1323 2133, 2134, 2135, 2136, 2137, 2138, 2142, 2143, 2147, 2151,
1324 2153, 2155, 2160, 2161, 2163, 2165, 2169, 2170, 2171, 2173,
1325 2174, 2175, 2176, 2177, 2178, 2179, 2182, 2184, 2187, 2189,
1326 2193, 2197, 2198, 2199, 2200, 2201, 2205, 2206, 2207, 2208
d0b80d80 1327};
1328#endif
1329
08cf8642 1330#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1331/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1332 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
d0b80d80 1333static const char *const yytname[] =
1334{
08cf8642 1335 "$end", "error", "$undefined", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS",
1336 "CASE", "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR",
1337 "GOTO", "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE",
1338 "TCOMMA", "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR",
1339 "TDOT", "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT",
1340 "TDIV", "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
1341 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
1342 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
1343 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
1344 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1345 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
1346 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
1347 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
1348 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT", "QUNDEF",
1349 "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER", "LLMACROEND",
1350 "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK", "QLOOPBREAK",
1351 "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH",
1352 "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED",
1353 "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE",
1354 "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE",
1355 "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN",
1356 "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED",
1357 "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT",
1358 "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED",
1359 "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT",
1360 "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT",
1361 "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QNUMABSTRACT",
1362 "QCONCRETE", "QMUTABLE", "QIMMUTABLE", "QTRUENULL", "QFALSENULL",
1363 "QEXTERNAL", "QREFCOUNTED", "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF",
1364 "QRELDEF", "CGCHAR", "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID",
1365 "QANYTYPE", "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE",
1366 "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", "QSETBUFFERSIZE",
1367 "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", "QTESTINRANGE", "TCAND",
1368 "IDENTIFIER", "NEW_IDENTIFIER", "TYPE_NAME_OR_ID", "CANNOTATION",
1369 "CCONSTANT", "ITER_NAME", "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME",
1370 "$accept", "file", "externalDefs", "externalDef", "constantDecl",
1371 "fcnDecl", "@1", "plainFcn", "plainNamedDecl", "namedDeclBase", "@2",
1372 "@3", "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7",
1373 "macroDef", "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier",
1374 "@8", "@9", "metaStateExpression", "metaStateName",
1375 "constraintSeperator", "BufConstraintList", "BufConstraint",
1376 "bufferModifier", "relationalOp", "BufConstraintExpr",
1377 "BufConstraintTerm", "BufConstraintSrefExpr", "BufUnaryOp",
1378 "BufBinaryOp", "functionClauses", "functionClausesPlain",
1379 "functionClause", "functionClausePlain", "globalsClause",
1380 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
1381 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
1382 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
1383 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
1384 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
1385 "modListExpr", "mExpr", "modList", "specClauseListExpr",
1386 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
1387 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
1388 "offsetofExpr", "sizeofExpr", "@16", "processSizeof", "endprocessSizeof",
1389 "sizeofExprAux", "castExpr", "timesExpr", "plusExpr", "shiftExpr",
1390 "relationalExpr", "equalityExpr", "bitandExpr", "xorExpr", "bitorExpr",
1391 "andExpr", "@17", "orExpr", "@18", "conditionalExpr", "@19", "@20",
1392 "@21", "@22", "assignExpr", "expr", "optExpr", "constantExpr",
1393 "initializer", "instanceDecl", "@23", "@24", "namedInitializerType",
1394 "namedInitializer", "@25", "typeDecl", "@26", "IsType", "PushType",
1395 "namedInitializerList", "namedInitializerListAux",
1396 "namedInitializerTypeList", "namedInitializerTypeListAux",
1397 "optDeclarators", "init", "designation", "designatorList", "designator",
1398 "initList", "storageSpecifier", "stateClause", "stateClausePlain", "@27",
1399 "conditionClause", "startConditionClause", "conditionClausePlain", "@28",
1400 "@29", "functionConstraint", "exitsQualifier", "checkQualifier",
1401 "stateQualifier", "paramQualifier", "visibilityQualifier",
1402 "returnQualifier", "typedefQualifier", "refcountQualifier",
1403 "typeModifier", "definedQualifier", "typeQualifier", "typeSpecifier",
1404 "completeType", "completeTypeSpecifier", "altType",
1405 "completeTypeSpecifierAux", "optCompleteType", "optStructInvariant",
1406 "suSpc", "@30", "@31", "@32", "@33", "@34", "@35", "@36", "@37",
1407 "NotType", "structDeclList", "structDecl", "structNamedDeclList",
1408 "structNamedDecl", "enumSpc", "@38", "enumeratorList", "enumerator",
1409 "optNamedDecl", "namedDecl", "genericParamList", "innerMods",
1410 "innerModsList", "pointers", "paramIdList", "idList", "paramTypeList",
1411 "paramList", "@39", "@40", "paramDecl", "typeExpression", "abstractDecl",
1412 "optAbstractDeclBase", "abstractDeclBase", "stmt", "debugStmt",
1413 "iterBody", "endBody", "iterDefStmtList", "iterDefIterationStmt",
1414 "forPred", "@41", "@42", "partialIterStmt", "@43", "iterDefStmt",
1415 "iterSelectionStmt", "@44", "openScope", "closeScope", "macroBody",
1416 "stmtErr", "labeledStmt", "optExtraFallThroughs", "caseStmt", "@45",
1417 "@46", "defaultStmt", "@47", "@48", "compoundStmt", "compoundStmtErr",
1418 "CreateInnerScope", "DeleteInnerScope", "CreateStructInnerScope",
1419 "DeleteStructInnerScope", "DeleteInnerScopeSafe", "compoundStmtRest",
1420 "compoundStmtAux", "compoundStmtAuxErr", "stmtListErr",
1421 "initializerList", "typeInitializerList", "typeInitializer", "stmtList",
1422 "expressionStmt", "expressionStmtErr", "ifPred", "selectionStmt", "@49",
1423 "@50", "whilePred", "iterWhilePred", "iterStmt", "@51", "@52",
1424 "iterArgList", "@53", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
1425 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
1426 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
1427 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
1428 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@54", "@55", "@56",
1429 "@57", "assignIterExpr", "endIter", "doHeader", "iterationStmt",
1430 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
d0b80d80 1431 "typeName", 0
1432};
1433#endif
1434
08cf8642 1435# ifdef YYPRINT
1436/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1437 token YYLEX-NUM. */
1438static const yytype_uint16 yytoknum[] =
1439{
1440 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1441 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1442 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1443 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1444 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1445 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1446 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1447 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1448 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1449 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1450 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1451 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1452 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1453 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1454 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1455 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1456 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1457 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1458 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1459 445, 446, 447, 448, 449, 450, 451
1460};
1461# endif
1462
1463/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1464static const yytype_uint16 yyr1[] =
d0b80d80 1465{
08cf8642 1466 0, 197, 198, 198, 199, 199, 200, 200, 200, 200,
1467 200, 200, 200, 200, 201, 201, 203, 202, 204, 204,
1468 205, 205, 206, 206, 206, 206, 207, 206, 208, 206,
1469 209, 209, 209, 209, 210, 209, 211, 209, 213, 214,
1470 212, 215, 215, 215, 215, 216, 217, 219, 218, 220,
1471 218, 221, 221, 222, 223, 223, 224, 224, 225, 226,
1472 226, 227, 227, 227, 228, 228, 228, 229, 229, 230,
1473 230, 230, 230, 230, 230, 230, 230, 231, 232, 232,
1474 233, 233, 234, 234, 235, 235, 235, 235, 235, 235,
1475 236, 236, 236, 236, 236, 236, 237, 239, 238, 240,
1476 241, 243, 242, 244, 244, 245, 246, 246, 247, 248,
1477 248, 249, 249, 250, 251, 251, 252, 252, 252, 253,
1478 253, 253, 253, 253, 254, 254, 254, 254, 254, 255,
1479 255, 256, 256, 258, 257, 259, 260, 257, 261, 262,
1480 262, 263, 263, 263, 263, 263, 263, 263, 263, 263,
1481 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
1482 266, 266, 267, 267, 268, 268, 269, 269, 269, 269,
1483 269, 269, 270, 269, 271, 271, 271, 271, 271, 271,
1484 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1485 273, 273, 273, 273, 273, 273, 273, 274, 274, 274,
1486 275, 277, 276, 278, 279, 280, 280, 280, 280, 281,
1487 281, 282, 282, 282, 282, 283, 283, 283, 284, 284,
1488 284, 285, 285, 285, 285, 285, 286, 286, 286, 287,
1489 287, 288, 288, 289, 289, 290, 291, 290, 292, 293,
1490 292, 294, 295, 296, 294, 297, 298, 294, 299, 299,
1491 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1492 300, 300, 301, 301, 302, 303, 303, 303, 304, 305,
1493 304, 306, 304, 307, 307, 308, 309, 308, 311, 310,
1494 310, 310, 312, 313, 314, 315, 315, 316, 317, 317,
1495 318, 318, 319, 319, 319, 319, 320, 320, 321, 321,
1496 322, 322, 323, 323, 324, 324, 324, 324, 324, 325,
1497 327, 326, 328, 329, 331, 330, 332, 330, 333, 333,
1498 334, 334, 334, 334, 334, 335, 335, 335, 335, 336,
1499 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
1500 336, 336, 336, 336, 336, 336, 337, 337, 338, 338,
1501 339, 339, 340, 340, 340, 340, 340, 341, 341, 341,
1502 341, 341, 341, 342, 342, 342, 342, 343, 343, 343,
1503 343, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1504 344, 344, 344, 345, 345, 345, 345, 345, 345, 345,
1505 345, 345, 345, 345, 345, 345, 345, 346, 347, 347,
1506 348, 348, 349, 349, 349, 350, 350, 351, 353, 354,
1507 352, 355, 356, 352, 352, 352, 357, 358, 352, 359,
1508 360, 352, 352, 352, 352, 352, 361, 362, 362, 362,
1509 363, 363, 364, 364, 365, 365, 365, 366, 367, 366,
1510 366, 368, 368, 368, 369, 369, 370, 370, 370, 370,
1511 371, 371, 372, 372, 373, 373, 373, 374, 374, 375,
1512 375, 375, 375, 376, 376, 377, 377, 378, 378, 378,
1513 380, 379, 381, 379, 382, 382, 383, 383, 384, 384,
1514 384, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1515 386, 386, 387, 387, 387, 387, 387, 387, 387, 387,
1516 387, 387, 388, 389, 390, 391, 391, 392, 392, 392,
1517 392, 394, 395, 393, 397, 396, 396, 398, 398, 398,
1518 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1519 400, 399, 401, 402, 403, 403, 404, 404, 404, 404,
1520 404, 404, 404, 404, 404, 404, 404, 404, 405, 405,
1521 406, 406, 408, 407, 409, 407, 411, 410, 412, 410,
1522 413, 413, 414, 415, 416, 417, 418, 419, 420, 420,
1523 420, 420, 420, 420, 420, 420, 421, 422, 422, 422,
1524 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
1525 427, 428, 428, 429, 429, 429, 430, 431, 432, 431,
1526 433, 431, 434, 435, 437, 438, 436, 439, 440, 439,
1527 441, 441, 441, 441, 442, 442, 443, 443, 444, 444,
1528 444, 444, 444, 444, 444, 444, 444, 445, 445, 445,
1529 445, 445, 445, 445, 445, 445, 445, 446, 446, 447,
1530 447, 447, 447, 448, 448, 448, 449, 449, 449, 450,
1531 450, 450, 450, 450, 451, 451, 451, 452, 452, 453,
1532 453, 454, 454, 455, 455, 456, 456, 457, 458, 459,
1533 457, 460, 461, 457, 462, 462, 462, 462, 462, 462,
1534 462, 462, 462, 462, 462, 462, 463, 463, 464, 465,
1535 465, 465, 466, 466, 466, 466, 467, 467, 467, 467,
1536 467, 467, 467, 467, 467, 467, 468, 468, 469, 469,
1537 470, 471, 471, 471, 471, 471, 472, 472, 472, 472
d0b80d80 1538};
1539
08cf8642 1540/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1541static const yytype_uint8 yyr2[] =
d0b80d80 1542{
08cf8642 1543 0, 2, 0, 1, 1, 2, 2, 1, 1, 1,
1544 1, 1, 1, 1, 8, 11, 0, 5, 1, 3,
1545 1, 2, 1, 6, 3, 6, 0, 6, 0, 7,
1546 1, 6, 3, 6, 0, 6, 0, 7, 0, 0,
1547 10, 3, 3, 3, 2, 1, 3, 0, 4, 0,
1548 4, 1, 3, 1, 1, 1, 3, 1, 3, 1,
1549 1, 1, 1, 1, 1, 4, 5, 1, 1, 1,
1550 1, 3, 4, 2, 3, 3, 3, 1, 1, 1,
1551 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1552 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1553 2, 0, 3, 1, 3, 1, 1, 0, 2, 3,
1554 2, 1, 3, 2, 0, 2, 1, 1, 1, 1,
368f75ae 1555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
08cf8642 1556 1, 1, 3, 0, 3, 0, 0, 4, 2, 2,
1557 1, 1, 1, 1, 3, 4, 2, 3, 3, 3,
1558 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
1559 3, 3, 0, 1, 1, 3, 1, 1, 1, 3,
1560 1, 1, 0, 4, 1, 4, 3, 4, 6, 5,
1561 5, 2, 2, 7, 1, 3, 1, 2, 2, 2,
1562 2, 2, 2, 2, 2, 3, 1, 3, 4, 1,
1563 9, 0, 3, 0, 0, 4, 2, 4, 2, 1,
1564 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
1565 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
1566 3, 1, 3, 1, 3, 1, 0, 4, 1, 0,
1567 4, 1, 0, 0, 6, 0, 0, 7, 1, 3,
1568 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1569 1, 3, 0, 1, 1, 1, 1, 1, 3, 0,
1570 9, 0, 11, 1, 1, 2, 0, 6, 0, 8,
1571 4, 4, 0, 0, 2, 1, 4, 2, 1, 4,
1572 0, 4, 1, 3, 4, 2, 2, 2, 1, 2,
1573 3, 2, 1, 3, 1, 1, 1, 1, 1, 2,
1574 0, 6, 2, 2, 0, 6, 0, 5, 1, 1,
d0b80d80 1575 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
d0b80d80 1576 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
08cf8642 1580 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
d0b80d80 1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
08cf8642 1582 2, 2, 2, 2, 2, 2, 2, 3, 1, 4,
1583 1, 3, 2, 2, 2, 0, 1, 0, 0, 0,
1584 12, 0, 0, 11, 6, 6, 0, 0, 10, 0,
1585 0, 10, 5, 5, 4, 4, 0, 1, 1, 2,
1586 5, 3, 2, 4, 1, 3, 4, 6, 0, 8,
1587 4, 1, 3, 2, 1, 4, 1, 1, 2, 2,
1588 1, 2, 1, 2, 1, 1, 1, 1, 2, 1,
1589 2, 2, 3, 1, 3, 1, 3, 1, 1, 3,
1590 0, 2, 0, 4, 4, 1, 1, 2, 1, 1,
1591 2, 0, 1, 5, 2, 3, 3, 4, 3, 4,
1592 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1593 1, 1, 4, 1, 1, 1, 2, 2, 7, 6,
1594 2, 0, 0, 10, 0, 6, 1, 1, 1, 1,
1595 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1596 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
1597 1, 1, 1, 1, 3, 1, 1, 1, 2, 2,
1598 0, 2, 0, 4, 0, 6, 0, 3, 0, 5,
1599 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
1600 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
1601 4, 1, 2, 1, 2, 1, 3, 1, 4, 1,
1602 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
1603 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
1604 1, 1, 1, 1, 1, 2, 1, 3, 1, 4,
1605 3, 4, 6, 5, 5, 2, 2, 1, 2, 2,
1606 2, 2, 2, 2, 2, 2, 1, 1, 4, 1,
1607 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
1608 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
1609 3, 1, 3, 1, 3, 1, 3, 1, 0, 0,
1610 6, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1611 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
1612 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
1613 3, 3, 3, 3, 2, 3, 0, 1, 0, 1,
1614 1, 1, 1, 1, 1, 1, 1, 1, 4, 4
d0b80d80 1615};
1616
08cf8642 1617/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1618 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1619 means the default is an error. */
1620static const yytype_uint16 yydefact[] =
d0b80d80 1621{
08cf8642 1622 0, 13, 12, 459, 0, 426, 266, 426, 16, 0,
1623 0, 0, 0, 282, 282, 282, 305, 304, 306, 307,
1624 308, 367, 368, 331, 333, 332, 336, 337, 325, 327,
1625 328, 326, 334, 335, 369, 370, 329, 330, 346, 342,
1626 338, 343, 339, 320, 321, 324, 322, 323, 364, 365,
1627 366, 363, 348, 347, 341, 340, 352, 353, 354, 355,
1628 356, 350, 351, 349, 357, 358, 361, 362, 359, 360,
1629 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
1630 344, 710, 711, 715, 345, 712, 713, 716, 0, 0,
1631 4, 7, 8, 450, 9, 10, 135, 45, 706, 11,
1632 265, 267, 0, 405, 282, 282, 282, 282, 282, 282,
1633 282, 282, 426, 282, 405, 405, 426, 398, 426, 0,
1634 426, 131, 282, 714, 22, 426, 454, 455, 456, 457,
1635 460, 461, 282, 285, 282, 282, 278, 426, 717, 426,
1636 426, 715, 0, 547, 203, 556, 0, 0, 0, 688,
1637 0, 0, 0, 0, 203, 593, 0, 203, 203, 203,
1638 203, 203, 203, 282, 203, 203, 0, 44, 0, 0,
1639 0, 0, 0, 0, 550, 203, 171, 167, 170, 614,
1640 604, 174, 186, 209, 196, 282, 211, 215, 218, 221,
1641 226, 229, 231, 233, 235, 238, 241, 248, 260, 595,
1642 546, 0, 0, 581, 536, 537, 538, 539, 0, 0,
1643 540, 203, 541, 0, 542, 168, 0, 543, 545, 166,
1644 0, 529, 0, 591, 0, 563, 516, 0, 0, 0,
1645 525, 0, 526, 505, 524, 521, 522, 517, 518, 519,
1646 0, 0, 523, 530, 0, 0, 527, 504, 0, 371,
1647 373, 372, 383, 385, 384, 386, 387, 388, 389, 390,
1648 391, 392, 1, 5, 282, 0, 133, 138, 426, 707,
1649 6, 426, 406, 402, 376, 378, 375, 377, 380, 379,
1650 381, 382, 396, 374, 403, 404, 0, 282, 282, 394,
1651 282, 282, 0, 395, 451, 393, 458, 462, 282, 167,
1652 170, 0, 426, 476, 0, 166, 426, 0, 284, 426,
1653 0, 275, 282, 706, 18, 20, 0, 426, 282, 30,
1654 470, 209, 264, 552, 0, 203, 203, 203, 203, 0,
1655 697, 699, 704, 0, 563, 0, 0, 0, 189, 194,
1656 193, 192, 191, 190, 0, 282, 187, 188, 203, 203,
1657 0, 0, 0, 0, 0, 550, 0, 282, 549, 501,
1658 203, 492, 493, 494, 495, 0, 496, 497, 203, 499,
1659 203, 498, 500, 563, 203, 203, 181, 182, 0, 203,
1660 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1661 204, 201, 203, 203, 203, 203, 203, 203, 203, 203,
1662 203, 203, 203, 203, 203, 203, 203, 203, 236, 245,
1663 239, 594, 203, 695, 41, 0, 564, 582, 597, 692,
1664 615, 0, 548, 203, 0, 0, 0, 592, 42, 506,
1665 510, 583, 426, 520, 532, 533, 0, 0, 0, 43,
1666 24, 203, 470, 426, 426, 282, 268, 132, 0, 400,
1667 0, 426, 0, 426, 0, 282, 0, 718, 282, 203,
1668 0, 478, 477, 479, 719, 282, 281, 282, 280, 276,
1669 426, 0, 282, 0, 426, 282, 21, 467, 0, 0,
1670 452, 468, 282, 0, 557, 0, 600, 0, 263, 0,
1671 696, 705, 563, 0, 169, 203, 544, 282, 0, 0,
1672 0, 700, 701, 702, 703, 698, 551, 203, 558, 0,
1673 691, 426, 561, 689, 0, 0, 176, 0, 184, 0,
1674 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1675 257, 258, 259, 195, 0, 212, 213, 214, 217, 216,
1676 219, 220, 222, 223, 224, 225, 227, 228, 230, 232,
1677 234, 203, 0, 203, 203, 261, 577, 717, 581, 0,
1678 426, 562, 598, 0, 0, 528, 514, 282, 584, 531,
1679 0, 0, 26, 0, 568, 203, 589, 134, 426, 203,
1680 563, 282, 269, 399, 282, 416, 0, 424, 419, 0,
1681 425, 0, 441, 444, 438, 440, 397, 484, 0, 470,
1682 480, 203, 0, 286, 274, 288, 273, 282, 282, 282,
1683 706, 17, 32, 203, 470, 282, 19, 453, 463, 465,
1684 38, 472, 426, 471, 475, 553, 596, 0, 602, 203,
1685 173, 203, 210, 426, 0, 282, 502, 554, 0, 560,
1686 576, 0, 605, 203, 177, 175, 282, 282, 203, 203,
1687 202, 237, 243, 0, 240, 578, 579, 203, 203, 203,
1688 603, 203, 426, 203, 426, 80, 28, 569, 572, 203,
1689 203, 570, 203, 590, 137, 0, 271, 282, 401, 422,
1690 565, 408, 423, 565, 411, 282, 443, 282, 0, 485,
1691 488, 282, 0, 486, 0, 470, 426, 107, 287, 203,
1692 282, 282, 0, 34, 0, 282, 0, 82, 469, 282,
1693 481, 203, 0, 203, 587, 708, 585, 0, 0, 0,
1694 559, 203, 203, 185, 179, 180, 282, 206, 282, 208,
1695 203, 246, 580, 599, 0, 282, 203, 203, 203, 203,
1696 203, 203, 203, 203, 0, 167, 170, 186, 209, 636,
1697 215, 218, 221, 226, 229, 231, 233, 235, 238, 0,
1698 608, 607, 168, 618, 627, 637, 639, 643, 646, 649,
1699 654, 657, 659, 661, 663, 665, 667, 674, 610, 166,
1700 0, 25, 0, 97, 101, 99, 124, 125, 126, 127,
1701 128, 129, 130, 27, 80, 84, 0, 86, 85, 0,
1702 89, 0, 426, 426, 87, 0, 88, 316, 0, 80,
1703 573, 574, 203, 571, 23, 282, 290, 426, 414, 565,
1704 426, 415, 565, 437, 442, 203, 0, 0, 489, 487,
1705 490, 0, 282, 0, 106, 203, 203, 0, 292, 277,
1706 203, 0, 298, 0, 203, 0, 426, 82, 36, 0,
1707 464, 466, 39, 82, 90, 92, 91, 95, 93, 94,
1708 473, 446, 0, 282, 481, 447, 482, 601, 511, 708,
1709 203, 0, 0, 178, 555, 0, 608, 0, 0, 244,
1710 203, 694, 0, 0, 189, 194, 193, 192, 191, 190,
1711 187, 188, 203, 203, 203, 181, 182, 0, 203, 203,
1712 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1713 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1714 203, 203, 203, 203, 203, 203, 671, 203, 515, 0,
1715 509, 105, 110, 103, 114, 706, 81, 96, 100, 108,
1716 310, 313, 309, 0, 314, 312, 29, 575, 203, 0,
1717 428, 426, 426, 427, 426, 426, 426, 445, 282, 483,
1718 491, 289, 279, 302, 0, 0, 301, 295, 296, 299,
1719 297, 290, 14, 33, 35, 82, 31, 706, 83, 470,
1720 474, 448, 449, 203, 0, 586, 183, 0, 199, 0,
1721 563, 205, 207, 247, 693, 169, 203, 0, 176, 0,
1722 0, 0, 0, 675, 676, 677, 678, 679, 680, 681,
1723 682, 683, 684, 685, 212, 213, 214, 217, 216, 219,
1724 220, 222, 223, 224, 225, 227, 228, 230, 232, 234,
1725 664, 0, 203, 666, 203, 508, 109, 0, 119, 120,
1726 121, 122, 123, 706, 111, 426, 114, 0, 0, 142,
1727 143, 102, 152, 706, 140, 141, 0, 49, 0, 0,
1728 59, 60, 70, 68, 319, 0, 318, 57, 77, 0,
1729 64, 67, 0, 706, 69, 162, 290, 282, 426, 0,
1730 282, 429, 417, 426, 420, 426, 439, 293, 203, 300,
1731 706, 37, 0, 282, 512, 588, 282, 203, 0, 690,
1732 687, 210, 282, 177, 175, 282, 282, 669, 0, 609,
1733 104, 114, 98, 117, 113, 118, 116, 115, 0, 146,
1734 0, 0, 0, 0, 139, 0, 0, 155, 164, 706,
1735 154, 0, 0, 67, 0, 73, 0, 55, 54, 0,
1736 62, 61, 63, 0, 0, 0, 0, 0, 0, 282,
1737 706, 163, 0, 270, 282, 431, 282, 282, 426, 434,
1738 0, 409, 0, 412, 294, 303, 0, 40, 282, 0,
1739 200, 0, 197, 686, 564, 0, 179, 180, 203, 672,
1740 112, 147, 144, 150, 0, 151, 148, 149, 153, 0,
1741 158, 0, 0, 0, 0, 282, 0, 79, 78, 0,
1742 74, 0, 51, 46, 47, 56, 67, 58, 71, 0,
1743 75, 76, 0, 0, 317, 282, 282, 291, 203, 282,
1744 0, 432, 282, 418, 0, 421, 0, 15, 513, 198,
1745 606, 178, 670, 203, 145, 159, 156, 0, 160, 161,
1746 165, 311, 53, 50, 0, 0, 72, 48, 65, 315,
1747 272, 435, 426, 430, 203, 407, 413, 673, 157, 66,
1748 52, 433, 436, 410
d0b80d80 1749};
1750
08cf8642 1751/* YYDEFGOTO[NTERM-NUM]. */
1752static const yytype_int16 yydefgoto[] =
d0b80d80 1753{
08cf8642 1754 -1, 88, 89, 90, 91, 92, 140, 313, 314, 93,
1755 665, 809, 315, 847, 975, 94, 707, 977, 950, 96,
1756 1064, 1202, 1147, 1131, 1203, 1243, 1139, 1066, 1067, 1068,
1757 1143, 1069, 1070, 1206, 1072, 1199, 793, 852, 794, 853,
1758 795, 854, 934, 855, 798, 856, 935, 932, 933, 833,
1759 800, 801, 1043, 1044, 1045, 1114, 1046, 802, 803, 97,
1760 267, 443, 268, 580, 98, 1051, 1183, 1184, 1053, 1128,
1761 1150, 1129, 181, 334, 182, 517, 183, 987, 184, 749,
1762 534, 185, 533, 650, 186, 187, 188, 189, 190, 191,
1763 192, 193, 194, 195, 551, 196, 554, 197, 552, 730,
1764 553, 880, 198, 227, 489, 323, 431, 100, 677, 815,
1765 605, 606, 609, 101, 309, 102, 265, 134, 135, 607,
1766 608, 949, 839, 840, 841, 842, 964, 103, 804, 858,
1767 1056, 806, 807, 859, 1075, 943, 1073, 104, 105, 106,
1768 107, 108, 109, 110, 111, 112, 113, 114, 115, 303,
1769 432, 448, 117, 273, 1263, 118, 819, 1224, 822, 1226,
1770 680, 1160, 683, 1162, 119, 952, 953, 1157, 1158, 120,
1771 688, 591, 592, 863, 137, 479, 129, 130, 122, 617,
1772 618, 480, 481, 482, 709, 623, 336, 827, 865, 463,
1773 358, 359, 228, 248, 229, 230, 360, 983, 1169, 232,
1774 661, 233, 234, 436, 235, 236, 202, 417, 361, 356,
1775 362, 483, 719, 363, 324, 638, 364, 207, 365, 561,
1776 817, 1082, 241, 577, 512, 416, 209, 578, 715, 716,
1777 579, 366, 210, 211, 367, 658, 627, 368, 244, 369,
1778 373, 722, 760, 929, 761, 215, 763, 764, 765, 766,
1779 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
1780 777, 1031, 1178, 1032, 1233, 778, 1174, 370, 371, 217,
1781 372, 270, 871, 305, 220, 125
d0b80d80 1782};
1783
08cf8642 1784/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1785 STATE-NUM. */
1786#define YYPACT_NINF -1033
1787static const yytype_int16 yypact[] =
d0b80d80 1788{
08cf8642 1789 2259, -1033, -1033, 357, 60, 5469, -1033, 6624, -1033, 677,
1790 1966, 3655, 3655, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1791 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1792 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1793 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1794 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1795 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1796 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1797 -1033, -1033, -1033, 805, -1033, -1033, -1033, -1033, 118, 2441,
1798 -1033, -1033, -1033, 331, -1033, -1033, 87, -1033, 134, -1033,
1799 -1033, -1033, 101, 6210, -1033, -1033, -1033, -1033, -1033, -1033,
1800 -1033, -1033, -1033, -1033, 6210, 6210, 151, 57, -1033, 666,
1801 -1033, -1033, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1802 357, -1033, 1900, -1033, 185, -1033, 151, -1033, -1033, -1033,
1803 5469, -1033, 210, -1033, 5716, -1033, 219, 230, 293, -1033,
1804 300, 677, 348, 362, 879, -1033, 2827, 5716, 5716, 5716,
1805 5716, 5716, 5716, -1033, 5748, 5748, 388, -1033, 395, 371,
1806 456, 463, 487, 417, 415, 4875, -1033, 500, 532, -1033,
1807 543, -1033, 652, 1193, -1033, -1033, -1033, 668, 145, 254,
1808 678, 474, 571, 569, 585, 579, 50, -1033, -1033, 55,
1809 -1033, 3458, 549, 560, -1033, -1033, -1033, -1033, 649, 3217,
1810 -1033, 4875, -1033, 3458, -1033, 501, 3458, -1033, -1033, 699,
1811 702, -1033, 690, -1033, 3022, 543, 704, 205, 656, 3611,
1812 -1033, 3655, -1033, -1033, -1033, 5934, -1033, -1033, -1033, -1033,
1813 740, 762, -1033, -1033, 3655, 3458, -1033, -1033, 669, -1033,
1814 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1815 -1033, -1033, -1033, -1033, 759, 765, -1033, -1033, 6486, -1033,
1816 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1817 -1033, -1033, -1033, -1033, -1033, -1033, 773, 995, -1033, -1033,
1818 677, 677, 14, -1033, 331, -1033, -1033, -1033, 5310, -1033,
1819 -1033, 94, 6624, 414, 777, -1033, -1033, 787, -1033, -1033,
1820 813, 827, 995, 134, -1033, 548, 798, -1033, 677, -1033,
1821 263, -1033, -1033, -1033, 814, 5716, 5716, 5716, 1299, 842,
1822 -1033, -1033, -1033, 346, 844, 593, 862, 867, -1033, -1033,
1823 -1033, -1033, -1033, -1033, 851, 5310, -1033, -1033, 5716, 5716,
1824 876, 926, 929, 938, 960, 415, 529, 5337, -1033, -1033,
1825 4875, -1033, -1033, -1033, -1033, 883, -1033, -1033, 4875, -1033,
1826 4875, -1033, -1033, -1033, 5641, 5716, -1033, -1033, 85, 5716,
1827 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1828 -1033, -1033, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1829 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, -1033, 892,
1830 -1033, -1033, 5716, -1033, -1033, 2632, -1033, -1033, 930, -1033,
1831 -1033, 958, -1033, 5716, 618, 972, 998, -1033, -1033, -1033,
1832 -1033, -1033, 151, 5934, -1033, -1033, 3655, 3261, 999, -1033,
1833 -1033, 5716, 368, 3808, 4959, 995, -1033, 384, 944, 1025,
1834 1030, 1033, 1036, 1033, 677, 1038, 475, -1033, -1033, 5652,
1835 1039, 567, -1033, 659, -1033, 995, -1033, 884, -1033, -1033,
1836 -1033, 973, 1049, 1041, -1033, 995, 548, -1033, 677, 1057,
1837 -1033, 1062, 677, 1064, -1033, 483, 1063, 562, 1063, 1072,
1838 -1033, -1033, 844, 1066, -1033, 5364, -1033, -1033, 1071, 1079,
1839 577, -1033, -1033, -1033, -1033, -1033, -1033, 5716, -1033, 1076,
1840 -1033, 3808, -1033, -1033, 1093, 1081, -1033, 638, -1033, 311,
1841 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1842 -1033, -1033, -1033, -1033, 631, -1033, -1033, -1033, 668, 668,
1843 145, 145, 254, 254, 254, 254, 678, 678, 474, 571,
1844 569, 5716, 1086, 5716, 5716, -1033, -1033, 2174, -1033, 3414,
1845 3998, -1033, -1033, 1087, 692, -1033, -1033, 995, -1033, -1033,
1846 1100, 1101, -1033, 1102, -1033, 4378, -1033, -1033, 4188, 4422,
1847 844, -1033, 1106, -1033, -1033, 1110, 1113, -1033, 1115, 1114,
1848 -1033, 741, -1033, 1121, -1033, -1033, -1033, -1033, 1111, 626,
1849 659, 5684, 1123, -1033, -1033, -1033, -1033, 1116, -1033, -1033,
1850 310, -1033, -1033, 5716, 502, 995, -1033, -1033, 1128, -1033,
1851 -1033, 1145, 6624, -1033, -1033, -1033, -1033, 1127, -1033, 1299,
1852 -1033, 5385, -1033, -1033, 1134, -1033, -1033, -1033, 1133, -1033,
1853 -1033, 1136, -1033, 5716, -1033, -1033, -1033, -1033, 5775, 5819,
1854 -1033, 585, -1033, 750, 579, -1033, -1033, 4529, 4875, 5716,
1855 -1033, 5853, -1033, 5716, -1033, 1496, -1033, -1033, -1033, 4573,
1856 4680, -1033, 4724, -1033, -1033, 1131, -1033, -1033, -1033, -1033,
1857 -1033, 1138, -1033, -1033, 1142, -1033, 677, -1033, 677, -1033,
1858 -1033, 132, 1144, -1033, 1150, 98, -1033, 1088, -1033, 3549,
1859 -1033, -1033, 1152, -1033, 1147, -1033, 325, 1496, -1033, 677,
1860 925, 4875, 1164, 5385, -1033, 1165, -1033, 1169, 1173, 1182,
1861 -1033, 5716, 5853, -1033, -1033, -1033, 5310, -1033, 5310, -1033,
1862 5716, -1033, -1033, -1033, 698, 5310, 5716, 5716, 5716, 5716,
1863 5716, 5716, 5748, 5748, 1139, 712, 732, 739, 1489, -1033,
1864 983, 783, 802, 761, 909, 1176, 1167, 1168, 1151, 107,
1865 1185, -1033, 45, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1866 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, 758,
1867 775, -1033, 1037, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1868 -1033, -1033, -1033, -1033, 1496, -1033, 1146, -1033, -1033, 1148,
1869 -1033, 1149, -1033, -1033, -1033, 1153, -1033, 1313, 1155, 1496,
1870 -1033, -1033, 4831, -1033, -1033, -1033, -1033, 6348, -1033, -1033,
1871 6348, -1033, -1033, -1033, -1033, 5716, 966, 1200, -1033, -1033,
1872 -1033, 1202, 884, 1211, -1033, 3549, 5716, 677, -1033, -1033,
1873 3549, 519, -1033, 1225, 3549, 1157, -1033, 1496, -1033, 1208,
1874 -1033, -1033, -1033, 1496, -1033, -1033, -1033, -1033, -1033, -1033,
1875 -1033, 331, 1226, -1033, 1007, -1033, 659, -1033, -1033, 1165,
1876 3701, 1244, 677, -1033, -1033, 782, 1240, 1241, 1242, -1033,
1877 5716, 1250, 803, 1245, 804, 822, 824, 848, 855, 857,
1878 864, 880, 5716, 5673, 5716, 896, 908, 109, 5716, 5716,
1879 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1880 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1881 5716, 5716, 5716, 5716, 5716, 5716, 1252, 5716, -1033, 1254,
1882 1259, -1033, 1090, 1238, 11, 301, -1033, -1033, -1033, -1033,
1883 -1033, -1033, -1033, 453, -1033, -1033, -1033, -1033, 3549, 376,
1884 -1033, 151, 5121, -1033, 6348, 5121, 6348, -1033, -1033, -1033,
1885 -1033, -1033, -1033, -1033, 993, 1256, -1033, -1033, -1033, -1033,
1886 -1033, -1033, -1033, -1033, -1033, 1496, -1033, 134, -1033, 233,
1887 -1033, -1033, -1033, 5705, 1264, -1033, -1033, 258, -1033, 1267,
1888 844, 1134, 1134, -1033, -1033, 913, 5364, 1258, 915, 921,
1889 358, 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1890 -1033, -1033, -1033, -1033, 933, 940, 941, 1188, 1196, 874,
1891 898, 84, 363, 455, 530, 91, 552, 106, 165, 477,
1892 585, 1265, 5716, 579, 5853, -1033, 501, 1037, -1033, -1033,
1893 -1033, -1033, -1033, 399, -1033, 6072, 11, 164, 164, -1033,
1894 -1033, -1033, 317, 442, -1033, -1033, 63, -1033, 982, 90,
1895 -1033, -1033, -1033, -1033, -1033, 1263, -1033, 43, -1033, 1008,
1896 -1033, 76, 1274, 134, -1033, 63, -1033, -1033, -1033, 1270,
1897 133, -1033, -1033, 5121, -1033, 5121, -1033, -1033, 5289, -1033,
1898 467, -1033, 1209, 240, -1033, -1033, -1033, 5716, 677, -1033,
1899 1105, 949, -1033, 951, 959, -1033, -1033, -1033, 1003, -1033,
1900 -1033, 11, -1033, -1033, -1033, -1033, -1033, -1033, 498, 317,
1901 793, 677, 677, 164, -1033, 63, 63, -1033, 416, 491,
1902 -1033, 1279, 1004, 581, 90, 421, 58, -1033, -1033, 982,
1903 -1033, -1033, -1033, 982, 22, 677, 677, 1282, 982, -1033,
1904 134, 1284, 612, -1033, 995, -1033, -1033, 1285, -1033, 1286,
1905 1287, -1033, 1289, -1033, -1033, -1033, 1219, -1033, 587, 1288,
1906 -1033, 447, -1033, -1033, -1033, 1290, 971, 984, 5716, -1033,
1907 -1033, -1033, -1033, 317, 1291, 501, -1033, -1033, 317, 639,
1908 416, 850, 677, 677, 63, -1033, 1118, -1033, -1033, 982,
1909 -1033, 581, 1272, -1033, 421, -1033, 421, -1033, -1033, 1293,
1910 -1033, -1033, 1118, 1297, -1033, -1033, -1033, -1033, 5716, 133,
1911 1298, -1033, -1033, -1033, 1304, -1033, 1306, -1033, -1033, -1033,
1912 -1033, 986, -1033, 5716, -1033, -1033, -1033, 1300, -1033, -1033,
1913 416, -1033, -1033, -1033, 1311, 58, -1033, -1033, -1033, -1033,
1914 -1033, -1033, -1033, -1033, 5716, -1033, -1033, -1033, -1033, -1033,
1915 -1033, -1033, -1033, -1033
d0b80d80 1916};
1917
08cf8642 1918/* YYPGOTO[NTERM-NUM]. */
1919static const yytype_int16 yypgoto[] =
d0b80d80 1920{
08cf8642 1921 -1033, -1033, -1033, 1248, -1033, -1033, -1033, -1033, -403, -118,
1922 -1033, -1033, 1020, -1033, -1033, -1033, -1033, -1033, 64, -1033,
1923 -1033, 397, -1033, -1033, 96, 130, -1033, 206, -1033, -1033,
1924 -1033, -938, -1033, -886, -1033, -1033, -620, -778, -1033, -1033,
1925 -1033, -610, -1033, -594, -1033, -577, -1033, 312, -1033, -1033,
1926 654, -668, -1033, 242, 308, -1033, -1033, -1033, -1033, -1033,
1927 -1033, -1033, -1033, -1033, -1033, -1033, -898, 166, -1033, -1032,
1928 -1033, 280, -1033, -1033, -636, 466, 1132, -1033, -1033, 1178,
1929 -1033, -1033, -1033, -1033, -117, -381, -345, -322, -372, -388,
1930 -347, -353, -535, -551, -1033, -626, -1033, -76, -1033, -1033,
1931 -1033, -1033, 1013, 1218, -602, -433, 6, -1033, -1033, -1033,
1932 533, -3, -1033, -1033, -1033, 634, -254, -1033, -1033, -1033,
1933 -1033, -911, -806, -1033, -1033, 523, -1033, -1033, -1033, -554,
1934 -1033, -1033, -1033, -384, -1033, -1033, -1033, -1033, -1033, 559,
1935 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1936 801, 784, -1033, 889, -1033, -1033, -1033, -1033, -1033, -1033,
1937 -1033, -1033, -1033, -1033, 224, -684, -890, -1033, 148, -1033,
1938 -1033, 683, 687, 511, 1, -395, 1246, -1033, 17, -1033,
1939 -1033, -578, -1033, -1033, -1033, 670, -125, 1074, -1033, -448,
1940 1141, 26, 1366, -1033, 1137, -1033, 744, -1033, -1033, -1033,
1941 -1033, -173, -1033, -1033, -1033, -1033, -1033, 20, 799, 1028,
1942 1251, -1033, -1033, 1261, -1033, -1033, -311, -1033, 617, 211,
1943 -423, -737, -1033, 869, -1033, -1033, 969, -187, 673, 518,
1944 -493, 127, -1033, 180, 40, -1033, -1033, 173, -1033, 337,
1945 -1033, -1033, 667, -1033, 356, -639, -1033, -1033, -1033, -1033,
1946 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1947 -1033, -1033, -1033, -1033, -1033, -1033, -1033, 1401, -1033, -1033,
1948 1588, -295, 522, 0, 19, -1033
d0b80d80 1949};
1950
08cf8642 1951/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1952 positive, shift that token. If negative, reduce the rule which
1953 number is the opposite. If zero, do what YYDEFACT says.
1954 If YYTABLE_NINF, syntax error. */
1955#define YYTABLE_NINF -718
1956static const yytype_int16 yytable[] =
d0b80d80 1957{
08cf8642 1958 123, 121, 133, 654, 294, 123, 99, 304, 571, 123,
1959 219, 219, 219, 600, 538, 539, 651, 548, 471, 124,
1960 131, 692, 762, 493, 124, 747, 598, 712, 142, 963,
1961 203, 546, 547, 454, 967, 759, 200, 1052, 971, 857,
1962 338, 339, 340, 341, 342, 343, 509, 573, 433, 1208,
1963 212, 425, 540, 541, 550, 796, 429, 1071, 430, 549,
1964 1090, 473, 1081, 1057, 95, 1081, -616, 657, 322, 974,
1965 -616, 797, 616, 411, 637, 978, 412, 542, 543, 544,
1966 545, 444, 1134, 762, 132, 670, 747, 1125, 799, 123,
1967 121, 409, 1059, 1189, 1190, 99, 759, 1126, -47, 1137,
1968 1038, 1039, 1144, 477, 1145, -650, 266, 410, 124, -650,
1969 758, 805, -655, 520, 1134, 412, -655, 831, 262, 457,
1970 1132, 1146, 123, 830, 1059, 271, 757, -658, 399, 400,
1971 521, -658, 1040, 1041, 397, 398, 955, 1001, 242, 242,
1972 123, 124, 1076, 401, 402, 288, 1042, 297, 926, 1118,
1973 1119, 123, 269, 95, 1002, 1156, 219, 318, 459, 319,
1974 403, 404, 1240, 449, 927, 1152, 3, 3, 694, -282,
1975 329, 758, 1133, 1135, 936, 219, 337, 395, 396, 857,
1976 702, 509, 200, 213, 796, 857, -660, 757, 1047, 946,
1977 -660, 243, 243, 1081, 405, 1081, 212, 1091, 1048, 796,
1978 797, 219, 81, 82, 141, 1207, 306, 85, 86, 219,
1979 1213, 219, 705, 219, 1209, 797, 219, 799, 1084, 704,
1980 498, 413, 473, 427, 219, 1188, 412, 200, 560, 219,
1981 1138, 219, 799, 419, 320, 200, 421, 420, 477, 200,
1982 805, 212, 200, 325, 219, 219, 81, 1062, 1201, 212,
1983 1204, 81, 1127, 212, 326, 805, 212, -426, 690, -426,
1984 820, 1244, 866, 569, 429, 438, 459, -426, 477, 674,
1985 1083, 200, 1085, 754, 3, 535, 536, 537, 81, 1062,
1986 750, 808, 1165, 1096, 1097, 212, 1098, 123, 447, 753,
1987 123, 123, 123, 1036, 252, 253, 254, 255, 256, 257,
1988 258, 259, 260, 261, 397, 398, 124, 857, 756, 451,
1989 453, 455, 123, 470, 755, 701, 751, 327, 123, 269,
1990 461, 81, 82, 141, 328, 1047, 85, 86, 269, 213,
1991 850, 124, 412, 700, 754, 1048, 282, 319, 645, 752,
1992 287, 750, 289, 1120, 293, 1121, 1161, 214, 1163, 295,
1993 753, 242, 81, 1049, 1050, -283, 242, 264, 242, 1204,
1994 219, 311, 1122, 312, 491, 322, 330, 412, 219, 756,
1995 219, 242, 633, 477, 213, 755, 1033, 751, 632, 412,
1996 331, 1094, 213, 322, -651, 1104, 213, 350, -651, 213,
1997 1030, 3, 957, 572, 1077, 762, 954, 1078, 747, 956,
1998 752, 692, -426, 965, 243, -426, 378, -426, 759, 243,
1999 808, 243, 348, 397, 398, 219, 866, 269, 213, 349,
2000 1111, -426, -426, -426, 243, 808, -426, -426, 81, 82,
2001 141, 322, 354, 85, 86, 558, 219, 219, -282, 568,
2002 459, 200, 1191, 219, 1192, 123, 581, 1144, 3, 1145,
2003 568, -426, -426, -426, 123, 212, -426, -426, 1057, 449,
2004 269, 1193, 603, 1123, 124, 123, 1146, 123, 412, 126,
2005 127, 128, 351, 593, 1229, 123, -652, 1058, 123, 352,
2006 -652, 1185, 123, 758, 124, 269, 124, 1059, 1078, 81,
2007 1049, 1050, 318, 214, 319, 445, 412, 619, -662, 757,
2008 494, 624, -662, 353, 412, 397, 398, 477, 626, 269,
2009 718, 219, 1194, 81, 82, 141, 406, 355, 85, 86,
2010 123, 123, -711, 1181, 1120, 322, 1121, 703, 403, 404,
2011 465, 1017, 1018, 467, 1027, 507, 508, 322, 214, 646,
2012 647, 475, 968, 1122, 478, 836, 214, 837, 1025, 1026,
2013 214, -653, 1185, 214, -715, -653, -426, -426, -426, 219,
2014 219, -426, -426, 242, 242, -712, 568, 123, 662, 1019,
2015 1020, 1029, -283, -656, 472, 219, 1028, -656, 219, 219,
2016 397, 398, 214, 412, 568, 200, 124, 628, 213, 399,
2017 400, -282, 861, 459, 1021, 1022, 1023, 1024, 412, 212,
2018 405, 877, 636, 878, 401, 402, 1200, 1144, 406, 1145,
2019 883, 411, -478, 459, 412, 123, 243, 243, 494, 884,
2020 885, 886, 887, 888, 889, 407, 1146, 208, 240, 240,
2021 1216, 477, 318, 1078, 319, 408, 427, 1060, 1061, 412,
2022 1054, 81, 1062, 494, 414, 1063, 754, 249, 250, 251,
2023 -426, 690, -426, 750, 879, -534, 567, 219, 219, 643,
2024 -426, 779, 753, 644, 1235, 1191, 478, 1192, 415, 219,
2025 219, 582, 219, 648, 649, 587, 374, 590, 375, 1100,
2026 -426, 756, 1092, -282, 1193, 601, 123, 755, 123, 751,
2027 -426, -426, -426, 420, 610, -426, -426, -426, 615, 219,
2028 376, 377, 392, 393, 394, 593, 123, 593, 461, 123,
2029 123, 219, 752, 412, 423, 399, 400, 660, 843, 412,
2030 600, -714, 779, 881, 422, 851, -713, 864, 624, 124,
2031 401, 402, 213, -613, 290, 291, 292, -613, 274, 275,
2032 276, 277, 278, 279, 280, 281, 861, 283, 1112, 322,
2033 286, 428, 214, -612, 201, 231, 231, -612, 1124, 434,
2034 322, 685, 686, 893, 439, 894, 302, -426, 307, 308,
2035 310, 412, 731, 208, 316, 81, 82, 141, 1149, -611,
2036 85, 86, 435, -611, -426, 1251, 440, 895, 896, 442,
2037 302, 446, 1014, 1015, 1016, 1166, 412, 344, 916, 917,
2038 930, 116, 464, 412, 993, 466, 136, 989, 139, 204,
2039 237, 237, 219, 918, 919, 912, 913, 1047, 208, 391,
2040 1182, 1262, 474, 691, 412, -630, 208, 1048, 995, -630,
2041 208, 468, 123, 208, 1195, 219, 484, 123, 478, -717,
2042 219, 240, 426, -635, 219, -634, 240, -635, 240, -634,
2043 469, 124, 914, 915, 843, 1215, 966, 717, 302, 843,
2044 490, 240, 208, 843, 123, 81, 82, 141, 492, -633,
2045 85, 86, 123, -633, 1047, 497, -632, 1236, -631, 1101,
2046 -632, 864, -631, 124, 1048, -628, 582, 495, 781, -628,
2047 116, 988, 496, -717, 501, -647, 214, 332, 441, -647,
2048 201, -629, 511, 298, 272, -629, 395, 396, 157, 158,
2049 159, 160, 161, 162, -242, 272, 272, -625, 3, -648,
2050 832, -625, 302, -648, 450, 452, 163, 164, 165, -626,
2051 395, 396, 302, -626, -617, 1055, -620, 460, -617, 562,
2052 -620, 317, 643, 1074, 502, 201, 1103, 503, 219, -282,
2053 166, 459, 316, 201, -640, 204, 504, 201, -640, 3,
2054 201, -641, -642, 920, 921, -641, -642, 843, 231, 563,
2055 -638, 897, -621, 231, -638, 231, -621, 1175, 505, 302,
2056 -619, 81, 1049, 1050, -619, 179, 958, 686, 231, 201,
2057 515, 302, -623, -717, -717, 176, -623, 565, -717, -717,
2058 204, 123, 123, 284, 285, -624, 1058, -622, 204, -624,
2059 570, -622, 204, 1087, 1088, 204, 1059, 909, 910, 911,
2060 1105, 1106, 566, 237, 412, 1179, 940, 941, 237, 3,
2061 237, -282, 208, 459, 779, 583, 1197, 1198, 81, 1049,
2062 1050, 3, 179, 237, 204, 1116, 584, 1055, 1055, 585,
2063 294, 1115, -282, 240, 240, 588, 1130, 594, 1074, 1074,
2064 1140, 1141, 1142, 599, 611, 614, 286, 81, 299, 300,
2065 973, 179, 81, 82, 141, 1130, 612, 85, 86, 604,
2066 123, 1159, 620, 621, 412, 586, 625, 589, 219, 595,
2067 629, 630, 596, 123, 581, 460, 634, 602, 123, 124,
2068 635, 639, 1232, 458, 641, 642, 613, 843, 652, 316,
2069 1168, 659, 124, 81, 82, 141, 622, 1172, 85, 86,
2070 1055, 123, 123, 1055, 663, 1130, 1130, 666, 664, 676,
2071 679, 302, 681, 684, 1074, 682, 1074, 696, 689, 1074,
2072 1186, 1187, 322, 1074, 687, 123, 123, 695, 1074, 706,
2073 708, 1217, 711, 631, 123, 720, 814, 1257, 818, 201,
2074 721, 782, 821, 892, 1210, 1211, 1060, 1061, 123, 828,
2075 81, 1062, 848, 124, 1063, 1080, 208, 829, 322, 846,
2076 231, 231, 868, 81, 82, 141, 870, 124, 85, 86,
2077 872, 1055, 123, 123, 1130, 81, 82, 141, 873, 1074,
2078 85, 86, 981, 1093, 874, 922, 923, 925, 924, -645,
2079 928, 1238, 1239, -645, 204, 675, 379, -644, 302, 123,
2080 1159, -644, 392, 393, 394, 959, 931, 960, 199, 962,
2081 392, 393, 394, 976, 602, 237, 237, 937, 124, 938,
2082 939, 697, 698, 699, 942, 1074, 945, 970, 972, 316,
2083 979, 380, 381, 382, 383, 384, 385, 386, 387, 388,
2084 389, 205, 238, 238, 986, 990, 991, 992, 994, 302,
2085 996, 206, 239, 239, -668, 1034, 321, 1035, 1037, 1102,
2086 724, 725, 179, 1089, 1095, 1099, 1136, 1107, 1155, 321,
2087 321, 321, 321, 321, 321, 391, 346, 347, 1148, 1173,
2088 1167, 1196, 1154, 201, 1212, 1194, 1219, 1223, 1222, 1225,
2089 1227, 816, 1245, 1228, 1242, 1231, 1253, -262, 1234, 823,
2090 1246, 825, 1248, 298, 1255, 460, 1256, 1258, 157, 158,
2091 159, 160, 161, 162, 844, 845, 1259, 263, 476, 849,
2092 1065, 1260, 1247, 622, 862, 1205, 163, 164, 165, 1110,
2093 301, 834, 418, 1180, 1117, 1151, 391, 1237, 204, 999,
2094 302, 499, 302, 390, 969, 961, 944, 1252, 678, 302,
2095 166, 826, 333, 824, 335, 982, 296, 462, 247, 860,
2096 640, 437, 1221, 506, 559, 1230, 869, 518, 985, 876,
2097 1109, 984, 522, 523, 524, 525, 526, 527, 528, 529,
2098 530, 531, 532, 0, 0, 0, 0, 205, 0, 0,
2099 0, 216, 245, 245, 0, 176, 0, 206, 0, 199,
2100 0, 0, 0, 710, 0, 555, 0, 199, 0, 0,
2101 0, 199, 0, 0, 199, 0, 23, 24, 25, 26,
2102 0, 27, 424, 0, 0, 0, 32, 33, 0, 948,
2103 36, 37, 205, 39, 40, 41, 42, 0, 0, 0,
2104 205, 0, 206, 199, 205, 0, 0, 205, 54, 55,
2105 206, 0, 0, 0, 206, 238, 1261, 206, 0, 0,
2106 238, 0, 238, 0, 0, 239, 0, 81, 299, 300,
2107 239, 179, 239, 0, 80, 238, 205, 980, 862, 0,
2108 602, 510, 0, 0, 84, 239, 206, 0, 0, 513,
2109 0, 514, 898, 0, 0, 0, 456, 0, 0, 0,
2110 0, 0, 0, 0, 321, 321, 321, 321, 321, 321,
2111 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2112 0, 0, 0, 485, 486, 487, 488, 899, 900, 901,
2113 902, 903, 904, 905, 906, 907, 908, 216, 0, 0,
2114 0, 0, 0, 456, 0, 0, 0, 500, 0, 782,
2115 783, 784, 785, 321, 0, 456, 786, 787, 788, 789,
2116 790, 791, 792, 0, 576, 1079, 0, 0, 0, 0,
2117 0, 321, 1086, 519, 0, 0, 0, 0, 218, 246,
2118 246, 0, 216, 0, 0, 0, 0, 0, 0, 0,
2119 216, 0, 0, 0, 216, 0, 0, 216, 951, 0,
2120 0, 951, 0, 0, 0, 245, 0, 321, 0, 0,
2121 245, 0, 245, 199, 0, 0, 0, 0, 0, 321,
2122 0, 564, 0, 0, 714, 245, 216, 0, 0, 0,
2123 0, 0, 576, 0, 0, 0, 723, 0, 0, 0,
2124 0, 0, 0, 0, 0, 0, 205, 0, 391, 0,
2125 0, 0, 0, 0, 0, 0, 206, 0, 0, 0,
2126 0, 0, 0, 321, 0, 0, 321, 238, 238, 0,
2127 0, 0, 0, 0, 0, 0, 0, 239, 239, 0,
2128 0, 576, 0, 0, 0, 0, 0, 0, 0, 0,
2129 0, 1153, 838, 0, 0, 0, 0, 0, 0, 576,
2130 673, 0, 0, 0, 0, 0, 714, 862, 0, 0,
2131 1170, 0, 0, 321, 0, 0, 302, 0, 0, 1176,
2132 1177, 0, 0, 0, 218, 321, 0, 0, 0, 0,
2133 0, 0, 0, 951, 0, 951, 951, 951, 0, 0,
909cf5eb 2134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2135 0, 653, 0, 0, 0, 0, 0, 199, 0, 0,
2136 727, 729, 0, 1214, 0, 0, 0, 0, 0, 218,
2137 1218, 1220, 0, 748, 0, 0, 0, 218, 673, 733,
2138 0, 218, 862, 0, 218, 0, 0, 0, 0, 0,
2139 205, 673, 246, 0, 0, 0, 216, 246, 0, 246,
2140 206, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
2141 0, 0, 246, 218, 0, 0, 0, 245, 245, 0,
2142 0, 0, 0, 0, 0, 0, 0, 488, 838, 1249,
2143 1250, 0, 867, 838, 748, 0, 1254, 838, 0, 0,
2144 0, 0, 321, 0, 0, 0, 0, 0, 321, 321,
2145 321, 321, 321, 321, 890, 891, 0, 734, 0, 0,
2146 0, 780, 0, 714, 951, 0, 951, 0, 0, 0,
2147 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2148 0, 0, 0, 0, 0, 997, 518, 0, 0, 0,
2149 0, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
2150 1012, 1013, 0, 0, 298, 0, 0, 0, 0, 157,
2151 158, 159, 160, 161, 162, 0, 0, 0, 0, 875,
2152 0, 0, -203, -203, 456, 0, 456, 163, 164, 165,
2153 0, 0, 0, 882, 0, 0, 0, 321, 0, 0,
2154 216, 838, 0, 0, 0, 0, 0, 143, 321, 0,
2155 0, 166, 144, 145, 146, 0, 147, 148, 149, 150,
2156 151, 152, 153, 154, 155, -563, 0, 0, 0, 0,
2157 156, 0, 0, 0, 0, 157, 158, 159, 160, 161,
2158 162, 0, 0, 218, 0, 0, 0, 0, -203, -203,
2159 0, 0, 321, 163, 164, 165, 176, 0, 0, 0,
2160 0, 0, 0, 0, 246, 246, 0, 0, 0, 0,
2161 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
2162 0, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2163 321, 321, 321, 321, 321, 321, 321, 321, 0, 321,
2164 0, 167, 168, 169, 170, 171, 172, 173, 174, 0,
2165 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
2166 0, 0, 176, 0, 0, 0, 0, 0, 81, 299,
2167 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2168 0, 838, 0, 0, 0, 0, 0, 0, 0, 0,
2169 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0,
2170 0, 0, 0, 0, 0, 0, 0, 0, 321, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
2173 0, 0, 0, 0, 81, 177, 178, 0, 179, 180,
2174 86, 0, 0, 0, 0, 0, 748, 0, 0, 0,
2175 0, 0, 0, 0, 0, -170, 0, 0, 0, 0,
2176 -170, -170, -170, 0, -170, -170, -170, -170, -170, -170,
2177 -170, -170, -170, -170, -170, -170, -715, -170, -170, 0,
2178 -170, 488, -170, -170, -170, -170, -170, -170, -170, -170,
2179 -170, -170, -170, -170, -170, -170, -170, -170, 0, -170,
2180 0, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2181 -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2182 -170, -170, 0, 0, 0, -170, 0, 0, 0, 0,
2183 1108, 0, 0, 0, 0, 0, 0, 0, 0, -2,
368f75ae 2184 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2185 -170, -170, -170, -170, -170, -170, -170, 2, 0, 0,
2186 0, 0, 0, -282, 0, -170, 0, 0, 0, 0,
2187 -170, 0, 0, 3, 0, 0, 0, 0, 0, 0,
8f58355a 2188 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
08cf8642 2189 321, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2190 0, 0, 0, 0, 0, 0, 0, -426, -426, -426,
8f58355a 2191 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
909cf5eb 2192 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2193 321, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2194 0, 0, -170, -170, -170, 321, -170, -170, -170, 0,
8f58355a 2195 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
08cf8642 2196 21, 22, 23, 24, 25, 26, 321, 27, 28, 29,
8f58355a 2197 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2198 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2199 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2200 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2201 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
08cf8642 2202 80, -3, 1, 0, 0, 0, 0, 81, 82, 83,
2203 84, 0, 85, 86, 87, 0, 0, 0, 0, 2,
2204 0, 0, 0, 0, 0, -282, 0, 0, 0, 0,
2205 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
2206 0, 0, 0, 0, 0, 4, 0, 5, 0, 0,
d0b80d80 2207 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2208 0, 0, 0, 0, 0, 0, 0, 0, 0, -426,
2209 -426, -426, 0, 6, 0, 0, 0, 0, 7, 8,
2210 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2211 0, 0, 0, 10, 11, 12, 0, 0, 0, 0,
d0b80d80 2212 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2213 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2214 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2215 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2216 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2217 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2218 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2219 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2220 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2221 82, 83, 84, 143, 85, 86, 87, 0, 144, 145,
2222 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2223 155, -563, 556, 0, 0, 0, 156, 0, 0, 0,
2224 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2225 0, 0, 0, 0, -203, -203, 4, 0, 5, 163,
2226 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2227 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2228 -426, -426, -426, 166, 6, 0, 0, 0, 0, 0,
edad9a7f 2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2230 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2231 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2232 0, 0, 0, 175, 13, 14, 15, 16, 176, 17,
2233 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2234 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2235 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2236 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2237 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2238 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2239 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
2240 81, 177, 557, 84, 179, 180, 86, 87, 143, 0,
2241 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2242 150, 151, 152, 153, 154, 155, -172, 0, 0, 0,
2243 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2244 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2245 -203, -282, 0, 0, 163, 164, 165, 0, 0, 0,
909cf5eb 2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2247 0, 0, 0, 0, 0, -282, -282, -282, 166, 0,
d0b80d80 2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
edad9a7f 2249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2250 0, 0, 0, 168, 169, 170, 171, 172, 173, 174,
2251 0, 0, 0, 0, 0, 0, 0, 0, 175, -282,
2252 -282, -282, -282, 176, -282, -282, -282, -282, -282, -282,
2253 -282, -282, -282, -282, 0, -282, -282, -282, -282, -282,
2254 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2255 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2256 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2257 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2258 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2259 0, 0, 0, 0, 0, 81, 177, 178, -282, 179,
2260 180, 86, -282, 221, 0, 0, 0, 0, 144, 145,
2261 146, 0, 0, 222, 149, 150, 151, 152, 153, 154,
2262 223, -172, -567, 0, 0, 0, 224, 0, 0, 0,
2263 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2264 0, 0, 0, 0, -203, -203, -282, 0, 0, 163,
2265 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
edad9a7f 2266 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2267 -282, -282, -282, 166, 0, 0, 0, 0, 0, 0,
edad9a7f 2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2269 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
2270 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2271 0, 0, 0, 175, -282, -282, -282, -282, 176, -282,
2272 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2273 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2274 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2275 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2276 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2277 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2278 -282, -282, -282, -282, 0, 0, 0, 0, 0, 0,
2279 81, 177, 178, -282, 179, 225, 226, -282, 143, 0,
2280 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2281 150, 151, 152, 153, 154, 155, -563, 0, 0, 0,
2282 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2283 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2284 -203, 0, 221, 0, 163, 164, 165, 144, 145, 146,
2285 0, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2286 -507, -507, 0, 0, 0, 224, -507, 0, 166, 0,
2287 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2288 0, 0, 0, -203, -203, 0, 0, 0, 163, 164,
2289 165, 0, -535, 168, 169, 170, 171, 172, 173, 174,
2290 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
2291 0, 0, 166, 176, 0, 0, 0, 0, 0, 0,
2f2892c2 2292 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2293 0, 0, 0, 0, 0, 0, -507, 0, 169, 170,
2294 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2295 0, 0, 175, 0, 0, 0, 0, 176, 0, 0,
2f2892c2 2296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2297 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2298 0, 0, 0, 0, 0, 81, 177, 178, 0, 179,
2299 180, 86, 0, 0, 0, 143, 0, 0, 0, 0,
2300 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2301 153, 154, 155, -563, 655, 0, 0, 0, 156, 0,
2302 0, 0, 0, 157, 158, 159, 160, 161, 162, 81,
2303 177, 178, 0, 179, 225, 226, -203, -203, 0, 143,
2304 0, 163, 164, 165, 144, 145, 146, 0, 147, 148,
2305 149, 150, 151, 152, 153, 154, 155, -563, 0, 0,
2306 0, 0, 156, 0, 0, 166, 0, 157, 158, 159,
2307 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2308 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2309 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2310 0, 0, 0, 0, 0, 175, 0, 0, 0, 166,
2311 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2312 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2313 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2314 174, 0, 0, 0, 0, 0, 0, 0, 835, 175,
2315 0, 0, 0, 298, 176, 836, 0, 837, 157, 158,
2316 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2317 0, 0, 0, 0, 0, 0, 163, 164, 165, 0,
2318 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2319 0, 0, 221, 0, 0, 0, 0, 144, 145, 146,
2320 166, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2321 -563, -567, 0, 0, 0, 224, 0, 0, 0, 0,
2322 157, 158, 159, 160, 161, 162, 81, 177, 178, 0,
2323 179, 180, 86, -203, -203, 0, 221, 0, 163, 164,
2324 165, 144, 145, 146, 0, 176, 222, 149, 150, 151,
2325 152, 153, 154, 223, -563, -567, 0, 0, 0, 224,
2326 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2327 0, 0, 0, 0, 0, 0, 0, -203, -203, 0,
2328 0, 0, 163, 164, 165, 0, -503, 0, 169, 170,
2329 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2330 713, -709, 175, 0, 0, 298, 166, 176, 0, 0,
2331 157, 158, 159, 160, 161, 162, 0, 81, 177, 178,
2332 0, 179, 85, 86, 0, 0, 0, 0, 163, 164,
2333 165, 0, 169, 170, 171, 172, 173, 174, 0, 0,
2334 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
2335 0, 176, 166, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2336 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2338 177, 178, 0, 179, 225, 226, 0, 0, 0, 0,
2339 0, 0, 0, 0, 144, 145, 146, 176, 147, 148,
2340 149, 150, 151, 152, 153, 154, 223, -563, 574, 0,
2341 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2342 160, 161, 162, 81, 177, 178, 0, 179, 225, 226,
2343 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
e5081f8c 2344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2346 6, 0, 0, 0, 0, 0, 0, 0, 0, 81,
08cf8642 2347 299, 300, 0, 179, 0, 0, 0, 0, 0, 0,
2348 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2349 174, 0, 0, 0, 0, 0, 0, 0, 0, 575,
2350 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2351 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2352 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2353 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2354 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2355 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2356 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2357 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2358 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2359 149, 150, 151, 152, 153, 154, 223, -563, 656, 0,
2360 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2361 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2362 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
e5081f8c 2363 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2365 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2367 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2368 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2369 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2370 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2371 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2372 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2373 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2374 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2375 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2376 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2377 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2378 149, 150, 151, 152, 153, 154, 223, -563, 668, 0,
2379 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2380 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2381 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
909cf5eb 2382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2384 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2386 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2387 174, 0, 0, 0, 0, 0, 0, 0, 0, 669,
2388 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2389 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2390 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2391 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2392 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2393 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2394 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2395 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2396 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2397 149, 150, 151, 152, 153, 154, 223, -563, 667, 0,
2398 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2399 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2400 0, 0, 0, 0, 0, 163, 164, 165, 144, 145,
2401 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2402 223, -563, 671, 0, 0, 0, 357, 0, 0, 166,
2403 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2404 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
2405 164, 165, 0, 0, 168, 169, 170, 171, 172, 173,
2406 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2407 0, 0, 0, 166, 176, 0, 0, 0, 0, 0,
909cf5eb 2408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2409 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2410 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2411 0, 0, 0, 672, 0, 144, 145, 146, 176, 147,
2412 148, 149, 150, 151, 152, 153, 154, 223, -563, 732,
2413 0, 0, 0, 357, 0, 0, 0, 0, 157, 158,
2414 159, 160, 161, 162, 0, 0, 81, 177, 178, 0,
2415 179, 180, 86, 0, 0, 0, 163, 164, 165, 144,
2416 145, 146, 0, 147, 148, 149, 150, 151, 152, 153,
2417 154, 223, -563, 810, 0, 0, 0, 357, 0, 0,
2418 166, 0, 157, 158, 159, 160, 161, 162, 0, 0,
2419 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2420 163, 164, 165, 0, 0, 168, 169, 170, 171, 172,
2421 173, 174, 0, 0, 0, 0, 0, 0, 0, 0,
2422 175, 0, 0, 0, 166, 176, 0, 0, 0, 0,
e5081f8c 2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2424 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
2425 169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
2426 0, 0, 0, 0, 175, 0, 144, 145, 146, 176,
2427 147, 148, 149, 150, 151, 152, 153, 154, 223, -563,
2428 811, 0, 0, 0, 357, 0, 0, 0, 0, 157,
2429 158, 159, 160, 161, 162, 0, 0, 81, 177, 178,
2430 0, 179, 180, 86, 0, 0, 0, 163, 164, 165,
2431 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2432 153, 154, 223, -563, 813, 0, 0, 0, 357, 0,
2433 0, 166, 0, 157, 158, 159, 160, 161, 162, 0,
2434 0, 81, 177, 178, 0, 179, 180, 86, 0, 0,
2435 0, 163, 164, 165, 0, 0, 168, 169, 170, 171,
2436 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2437 0, 812, 0, 0, 0, 166, 176, 0, 0, 0,
e5081f8c 2438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2440 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2441 0, 0, 0, 0, 0, 175, 0, 144, 145, 146,
2442 176, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2443 -563, 947, 0, 0, 0, 357, 0, 0, 0, 0,
2444 157, 158, 159, 160, 161, 162, 0, 0, 81, 177,
2445 178, 0, 179, 180, 86, 0, 0, 0, 163, 164,
2446 165, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2447 152, 153, 154, 223, -563, 0, 0, 0, 0, 357,
2448 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2449 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2450 0, 0, 163, 164, 165, 0, 0, 168, 169, 170,
2451 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2452 0, 0, 175, 0, 0, 0, 166, 176, 0, 0,
909cf5eb 2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2455 0, 168, 169, 170, 171, 172, 173, 174, -136, 0,
2456 0, 0, 0, -136, 0, 0, 175, 0, 0, 0,
2457 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2458 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
08cf8642 2460 177, 178, 0, 179, 180, 86, 0, 0, 0, 0,
368f75ae 2461 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2464 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
368f75ae 2465 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2466 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2467 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2468 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2469 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2470 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2471 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
08cf8642 2472 80, -566, 0, 0, 0, 0, 0, 0, 0, 138,
368f75ae 2473 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2474 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
d0b80d80 2475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2f2892c2 2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2481 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
edad9a7f 2482 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2483 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2484 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2485 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2486 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2487 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
08cf8642 2488 78, 79, 80, 0, 0, 0, 0, 0, 835, 1164,
2489 0, 138, 84, 298, 0, 836, 87, 837, 157, 158,
2490 159, 160, 161, 162, 0, 0, 0, 0, 0, -172,
2491 0, 0, 0, 0, 298, 0, 163, 164, 165, 157,
2492 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2493 0, 0, -203, -203, 0, 0, -172, 163, 164, 165,
2494 166, 357, 0, 0, 0, 0, 157, 158, 159, 160,
2495 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2496 -203, 166, 0, 631, 163, 164, 165, 0, 298, 0,
2497 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2498 0, 0, 0, 0, 713, 176, 0, 0, 166, 298,
2499 0, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2500 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
2501 0, 0, 163, 164, 165, 166, 0, 0, 0, 0,
edad9a7f 2502 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2503 0, 0, 0, 176, 0, 0, 166, 0, 0, 0,
d0b80d80 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2505 0, 0, 0, 0, 0, 0, 0, 81, 177, 178,
2506 176, 179, 85, 86, 0, 0, 0, 0, 0, 0,
2507 0, 0, 0, -282, 0, 0, 0, 0, 81, 299,
2508 300, 176, 179, 3, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
2510 0, 0, 0, 0, 0, 81, 299, 300, 0, 179,
e5081f8c 2511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2512 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2513 0, 0, 81, 299, 300, 0, 179, 0, 0, 0,
8f58355a 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2515 0, 0, 0, 81, 299, 300, 0, 179, 0, 0,
2516 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2517 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2518 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2519 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2520 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2521 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2522 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2523 80, 0, 0, 0, 0, 0, 0, 81, 82, 83,
2524 84, 0, 85, 86, 87, 298, 516, 0, 0, 0,
2525 157, 158, 159, 160, 161, 162, 298, 0, 0, 597,
2526 0, 157, 158, 159, 160, 161, 162, 0, 163, 164,
2527 165, 0, 0, 0, 0, 0, 0, 298, 998, 163,
2528 164, 165, 157, 158, 159, 160, 161, 162, 298, 0,
2529 0, 693, 166, 157, 158, 159, 160, 161, 162, 0,
2530 163, 164, 165, 166, 0, 0, 0, 0, 0, 298,
2531 -262, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2532 298, 0, 0, 0, 166, 157, 158, 159, 160, 161,
2533 162, 0, 163, 164, 165, 166, 0, 176, 0, 0,
2534 0, 0, 0, 163, 164, 165, 0, 0, 176, 0,
2535 0, 0, 345, 0, 0, 0, 166, 157, 158, 159,
2536 160, 161, 162, 0, 0, 0, 0, 166, 0, 176,
2537 0, 0, 0, 0, 0, 163, 164, 165, 0, 726,
2538 176, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2539 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2540 0, 176, 163, 164, 165, 0, 0, 0, 0, 81,
2541 299, 300, 176, 179, 0, 0, 0, 0, 0, 0,
2542 81, 299, 300, 728, 179, 0, 166, 0, 157, 158,
2543 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2544 0, 81, 299, 300, 176, 179, 163, 164, 165, 0,
2545 0, 0, 81, 299, 300, 0, 179, 735, 0, 0,
2546 0, 0, 736, 737, 738, 739, 740, 741, 0, 0,
2547 166, 176, 0, 81, 299, 300, 0, 179, 0, 0,
2548 163, 742, 743, 0, 81, 299, 300, 0, 179, 0,
8f58355a 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2550 0, 0, 0, 0, 744, 0, 0, 0, 0, 0,
2551 0, 0, 0, 0, 0, 176, 81, 299, 300, 0,
2552 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2554 0, 0, 0, 81, 299, 300, 0, 179, 0, 176,
2555 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
2556 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2558 0, 0, -426, -426, -426, 0, 6, 81, 299, 300,
2559 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2562 0, 81, 745, 746, 0, 179, 13, 14, 15, 16,
2563 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2564 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2565 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2566 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2567 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2568 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2569 75, 76, 77, 78, 79, 80, 4, 0, 5, 0,
2570 0, 0, 0, 0, 138, 84, 0, 0, 0, 87,
8f58355a 2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2572 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
8f58355a 2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2576 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2577 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2578 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2579 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2580 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2581 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2582 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2583 77, 78, 79, 80, 4, 0, 0, 0, 0, 0,
2584 81, 1113, 138, 84, 0, 0, 0, 87, 0, 0,
2585 0, 0, 0, 0, 0, 0, 0, 0, -426, -426,
2586 -426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2588 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2590 0, 0, 13, 14, 15, 16, 0, 17, 18, 19,
2591 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2592 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2593 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2594 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2595 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2596 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2597 79, 80, 4, 0, 0, 0, 0, 0, 0, 0,
2598 138, 84, 0, 0, 0, 87, 0, 0, 0, 0,
909cf5eb 2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2600 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2602 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2604 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2605 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2606 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2607 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2608 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2609 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2610 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2611 4, 0, 5, 0, 0, 0, 0, 0, 138, 84,
2612 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2613 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
368f75ae 2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2617 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2618 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2619 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2620 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2621 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2622 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2623 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2624 73, 74, 75, 76, 77, 78, 79, 80, 4, 0,
2625 0, 0, 0, 0, 0, 0, 138, 84, 0, 0,
2626 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2631 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2632 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2633 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2634 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2635 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2636 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2637 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2638 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
2639 0, 0, 0, 0, 138, 84, 0, 0, 0, 87
d0b80d80 2640};
2641
08cf8642 2642static const yytype_int16 yycheck[] =
d0b80d80 2643{
08cf8642 2644 0, 0, 5, 554, 122, 5, 0, 132, 441, 9,
2645 10, 11, 12, 461, 395, 396, 551, 405, 313, 0,
2646 3, 599, 661, 334, 5, 661, 459, 629, 9, 835,
2647 10, 403, 404, 19, 840, 661, 10, 935, 844, 707,
2648 157, 158, 159, 160, 161, 162, 357, 442, 235, 27,
2649 10, 224, 397, 398, 407, 665, 229, 943, 231, 406,
2650 971, 315, 952, 5, 0, 955, 21, 560, 144, 847,
2651 25, 665, 475, 18, 507, 853, 21, 399, 400, 401,
2652 402, 268, 24, 722, 24, 578, 722, 24, 665, 89,
2653 89, 41, 34, 1125, 1126, 89, 722, 34, 22, 56,
2654 89, 90, 26, 5, 28, 21, 19, 57, 89, 25,
2655 661, 665, 21, 28, 24, 21, 25, 695, 0, 25,
2656 1058, 45, 122, 25, 34, 24, 661, 21, 37, 38,
2657 45, 25, 121, 122, 50, 51, 820, 28, 11, 12,
2658 140, 122, 948, 52, 53, 88, 135, 130, 41, 1047,
2659 1048, 151, 18, 89, 45, 22, 156, 140, 26, 140,
2660 54, 55, 1194, 288, 57, 1076, 34, 34, 601, 18,
2661 151, 722, 1058, 1059, 794, 175, 156, 32, 33, 847,
2662 613, 492, 156, 10, 794, 853, 21, 722, 24, 809,
2663 25, 11, 12, 1083, 29, 1085, 156, 975, 34, 809,
2664 794, 201, 188, 189, 190, 1143, 21, 193, 194, 209,
2665 1148, 211, 615, 213, 192, 809, 216, 794, 955, 614,
2666 345, 201, 476, 18, 224, 1123, 21, 201, 415, 229,
2667 187, 231, 809, 213, 24, 209, 216, 192, 5, 213,
2668 794, 201, 216, 24, 244, 245, 188, 189, 1134, 209,
2669 1136, 188, 189, 213, 24, 809, 216, 24, 25, 26,
2670 683, 1199, 710, 436, 437, 245, 26, 34, 5, 580,
2671 954, 245, 956, 661, 34, 392, 393, 394, 188, 189,
2672 661, 665, 1088, 25, 26, 245, 28, 287, 287, 661,
2673 290, 291, 292, 932, 70, 71, 72, 73, 74, 75,
2674 76, 77, 78, 79, 50, 51, 287, 975, 661, 290,
2675 291, 292, 312, 312, 661, 610, 661, 24, 318, 18,
2676 303, 188, 189, 190, 24, 24, 193, 194, 18, 156,
2677 5, 312, 21, 23, 722, 34, 112, 318, 27, 661,
2678 116, 722, 118, 26, 120, 28, 1083, 10, 1085, 125,
2679 722, 224, 188, 189, 190, 24, 229, 26, 231, 1245,
2680 360, 137, 45, 139, 18, 441, 18, 21, 368, 722,
2681 370, 244, 497, 5, 201, 722, 927, 722, 495, 21,
2682 18, 983, 209, 459, 21, 27, 213, 16, 25, 216,
2683 925, 34, 825, 25, 18, 1034, 819, 21, 1034, 822,
2684 722, 979, 18, 836, 224, 21, 182, 23, 1034, 229,
2685 794, 231, 24, 50, 51, 415, 864, 18, 245, 24,
2686 21, 188, 189, 190, 244, 809, 193, 194, 188, 189,
2687 190, 507, 15, 193, 194, 415, 436, 437, 24, 433,
2688 26, 415, 26, 443, 28, 445, 445, 26, 34, 28,
2689 444, 188, 189, 190, 454, 415, 193, 194, 5, 584,
2690 18, 45, 465, 21, 445, 465, 45, 467, 21, 112,
2691 113, 114, 16, 454, 27, 475, 21, 24, 478, 16,
2692 25, 1120, 482, 1034, 465, 18, 467, 34, 21, 188,
2693 189, 190, 475, 156, 475, 271, 21, 478, 21, 1034,
2694 25, 482, 25, 16, 21, 50, 51, 5, 25, 18,
2695 635, 511, 21, 188, 189, 190, 39, 102, 193, 194,
2696 520, 521, 22, 25, 26, 601, 28, 25, 54, 55,
2697 306, 912, 913, 309, 922, 6, 7, 613, 201, 520,
2698 521, 317, 23, 45, 320, 26, 209, 28, 920, 921,
2699 213, 21, 1191, 216, 22, 25, 188, 189, 190, 559,
2700 560, 193, 194, 436, 437, 22, 560, 567, 567, 914,
2701 915, 924, 24, 21, 26, 575, 923, 25, 578, 579,
2702 50, 51, 245, 21, 578, 559, 567, 25, 415, 37,
2703 38, 24, 710, 26, 916, 917, 918, 919, 21, 559,
2704 29, 726, 25, 728, 52, 53, 25, 26, 39, 28,
2705 735, 18, 25, 26, 21, 615, 436, 437, 25, 736,
2706 737, 738, 739, 740, 741, 40, 45, 10, 11, 12,
2707 18, 5, 615, 21, 615, 56, 18, 184, 185, 21,
2708 935, 188, 189, 25, 95, 192, 1034, 13, 14, 15,
2709 24, 25, 26, 1034, 730, 95, 432, 657, 658, 21,
2710 34, 661, 1034, 25, 25, 26, 442, 28, 19, 669,
2711 670, 447, 672, 42, 43, 451, 24, 453, 26, 990,
2712 28, 1034, 977, 24, 45, 26, 686, 1034, 688, 1034,
2713 188, 189, 190, 192, 470, 193, 194, 45, 474, 699,
2714 48, 49, 34, 35, 36, 686, 706, 688, 691, 709,
2715 710, 711, 1034, 21, 24, 37, 38, 25, 699, 21,
2716 1168, 22, 722, 25, 22, 706, 22, 710, 709, 710,
2717 52, 53, 559, 21, 68, 69, 70, 25, 104, 105,
2718 106, 107, 108, 109, 110, 111, 864, 113, 1043, 825,
2719 116, 95, 415, 21, 10, 11, 12, 25, 1053, 19,
2720 836, 20, 21, 24, 95, 26, 132, 28, 134, 135,
2721 136, 21, 22, 156, 140, 188, 189, 190, 1073, 21,
2722 193, 194, 20, 25, 45, 1218, 27, 48, 49, 24,
2723 156, 18, 909, 910, 911, 1090, 21, 163, 37, 38,
2724 25, 0, 25, 21, 880, 18, 5, 25, 7, 10,
2725 11, 12, 812, 52, 53, 32, 33, 24, 201, 185,
2726 27, 1254, 24, 599, 21, 21, 209, 34, 25, 25,
2727 213, 18, 832, 216, 1129, 835, 22, 837, 614, 34,
2728 840, 224, 225, 21, 844, 21, 229, 25, 231, 25,
2729 23, 832, 50, 51, 835, 1150, 837, 633, 224, 840,
2730 18, 244, 245, 844, 864, 188, 189, 190, 24, 21,
2731 193, 194, 872, 25, 24, 24, 21, 27, 21, 996,
2732 25, 864, 25, 864, 34, 21, 662, 25, 664, 25,
2733 89, 872, 25, 88, 18, 21, 559, 18, 264, 25,
2734 156, 21, 19, 24, 103, 25, 32, 33, 29, 30,
2735 31, 32, 33, 34, 22, 114, 115, 21, 34, 21,
2736 696, 25, 288, 25, 290, 291, 47, 48, 49, 21,
2737 32, 33, 298, 25, 21, 935, 21, 303, 25, 9,
2738 25, 140, 21, 943, 18, 201, 25, 18, 948, 24,
2739 71, 26, 318, 209, 21, 156, 18, 213, 25, 34,
2740 216, 21, 21, 54, 55, 25, 25, 948, 224, 11,
2741 21, 747, 21, 229, 25, 231, 25, 1102, 18, 345,
2742 21, 188, 189, 190, 25, 192, 20, 21, 244, 245,
2743 373, 357, 21, 188, 189, 116, 25, 25, 193, 194,
2744 201, 1001, 1002, 114, 115, 21, 24, 21, 209, 25,
2745 11, 25, 213, 20, 21, 216, 34, 34, 35, 36,
2746 1001, 1002, 24, 224, 21, 22, 802, 803, 229, 34,
2747 231, 24, 415, 26, 1034, 91, 32, 33, 188, 189,
2748 190, 34, 192, 244, 245, 1045, 21, 1047, 1048, 19,
2749 1168, 1045, 19, 436, 437, 19, 1056, 19, 1058, 1059,
2750 52, 53, 54, 24, 91, 24, 432, 188, 189, 190,
2751 846, 192, 188, 189, 190, 1075, 27, 193, 194, 195,
2752 1080, 1080, 25, 21, 21, 451, 22, 453, 1088, 455,
2753 18, 25, 458, 1093, 1093, 461, 25, 463, 1098, 1080,
2754 21, 25, 1178, 302, 11, 24, 472, 1088, 22, 475,
2755 1093, 24, 1093, 188, 189, 190, 482, 1098, 193, 194,
2756 1120, 1121, 1122, 1123, 24, 1125, 1126, 25, 27, 23,
2757 20, 497, 19, 19, 1134, 20, 1136, 21, 27, 1139,
2758 1121, 1122, 1218, 1143, 23, 1145, 1146, 24, 1148, 21,
2759 5, 1154, 25, 19, 1154, 22, 25, 1233, 20, 415,
2760 24, 73, 20, 24, 1145, 1146, 184, 185, 1168, 25,
2761 188, 189, 25, 1154, 192, 951, 559, 27, 1254, 27,
2762 436, 437, 18, 188, 189, 190, 21, 1168, 193, 194,
2763 21, 1191, 1192, 1193, 1194, 188, 189, 190, 25, 1199,
2764 193, 194, 195, 979, 22, 29, 39, 56, 40, 21,
2765 25, 1192, 1193, 25, 415, 581, 23, 21, 584, 1219,
2766 1219, 25, 34, 35, 36, 25, 189, 25, 10, 18,
2767 34, 35, 36, 25, 600, 436, 437, 91, 1219, 91,
2768 91, 607, 608, 609, 91, 1245, 91, 22, 91, 615,
2769 24, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2770 67, 10, 11, 12, 20, 25, 25, 25, 18, 635,
2771 25, 10, 11, 12, 22, 21, 144, 18, 40, 21,
2772 646, 647, 192, 27, 20, 18, 23, 22, 18, 157,
2773 158, 159, 160, 161, 162, 661, 164, 165, 24, 194,
2774 91, 22, 1078, 559, 22, 21, 21, 20, 22, 20,
2775 91, 677, 40, 25, 196, 25, 18, 18, 27, 685,
2776 27, 687, 25, 24, 20, 691, 20, 27, 29, 30,
2777 31, 32, 33, 34, 700, 701, 25, 89, 318, 705,
2778 943, 1245, 1212, 709, 710, 1139, 47, 48, 49, 1037,
2779 132, 697, 211, 1111, 1046, 1075, 722, 1191, 559, 893,
2780 726, 348, 728, 185, 841, 832, 807, 1219, 584, 735,
2781 71, 688, 154, 686, 156, 864, 130, 303, 12, 709,
2782 511, 244, 1158, 355, 415, 1174, 713, 374, 870, 722,
2783 1034, 869, 379, 380, 381, 382, 383, 384, 385, 386,
2784 387, 388, 389, -1, -1, -1, -1, 156, -1, -1,
2785 -1, 10, 11, 12, -1, 116, -1, 156, -1, 201,
2786 -1, -1, -1, 622, -1, 412, -1, 209, -1, -1,
2787 -1, 213, -1, -1, 216, -1, 123, 124, 125, 126,
2788 -1, 128, 224, -1, -1, -1, 133, 134, -1, 815,
2789 137, 138, 201, 140, 141, 142, 143, -1, -1, -1,
2790 209, -1, 201, 245, 213, -1, -1, 216, 155, 156,
2791 209, -1, -1, -1, 213, 224, 1252, 216, -1, -1,
2792 229, -1, 231, -1, -1, 224, -1, 188, 189, 190,
2793 229, 192, 231, -1, 181, 244, 245, 863, 864, -1,
2794 866, 360, -1, -1, 191, 244, 245, -1, -1, 368,
2795 -1, 370, 23, -1, -1, -1, 298, -1, -1, -1,
2796 -1, -1, -1, -1, 392, 393, 394, 395, 396, 397,
2797 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
2798 -1, -1, -1, 325, 326, 327, 328, 58, 59, 60,
2799 61, 62, 63, 64, 65, 66, 67, 156, -1, -1,
2800 -1, -1, -1, 345, -1, -1, -1, 349, -1, 73,
2801 74, 75, 76, 441, -1, 357, 80, 81, 82, 83,
2802 84, 85, 86, -1, 443, 951, -1, -1, -1, -1,
2803 -1, 459, 958, 375, -1, -1, -1, -1, 10, 11,
2804 12, -1, 201, -1, -1, -1, -1, -1, -1, -1,
2805 209, -1, -1, -1, 213, -1, -1, 216, 817, -1,
2806 -1, 820, -1, -1, -1, 224, -1, 495, -1, -1,
2807 229, -1, 231, 415, -1, -1, -1, -1, -1, 507,
2808 -1, 423, -1, -1, 631, 244, 245, -1, -1, -1,
2809 -1, -1, 511, -1, -1, -1, 643, -1, -1, -1,
2810 -1, -1, -1, -1, -1, -1, 415, -1, 1034, -1,
2811 -1, -1, -1, -1, -1, -1, 415, -1, -1, -1,
2812 -1, -1, -1, 551, -1, -1, 554, 436, 437, -1,
2813 -1, -1, -1, -1, -1, -1, -1, 436, 437, -1,
2814 -1, 560, -1, -1, -1, -1, -1, -1, -1, -1,
2815 -1, 1077, 699, -1, -1, -1, -1, -1, -1, 578,
2816 579, -1, -1, -1, -1, -1, 713, 1093, -1, -1,
2817 1096, -1, -1, 601, -1, -1, 1102, -1, -1, 1105,
2818 1106, -1, -1, -1, 156, 613, -1, -1, -1, -1,
2819 -1, -1, -1, 952, -1, 954, 955, 956, -1, -1,
909cf5eb 2820 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2821 -1, 553, -1, -1, -1, -1, -1, 559, -1, -1,
2822 648, 649, -1, 1149, -1, -1, -1, -1, -1, 201,
2823 1156, 1157, -1, 661, -1, -1, -1, 209, 657, 658,
2824 -1, 213, 1168, -1, 216, -1, -1, -1, -1, -1,
2825 559, 670, 224, -1, -1, -1, 415, 229, -1, 231,
2826 559, -1, -1, -1, -1, -1, -1, -1, -1, 1195,
2827 -1, -1, 244, 245, -1, -1, -1, 436, 437, -1,
2828 -1, -1, -1, -1, -1, -1, -1, 629, 835, 1215,
2829 1216, -1, 711, 840, 722, -1, 1222, 844, -1, -1,
2830 -1, -1, 730, -1, -1, -1, -1, -1, 736, 737,
2831 738, 739, 740, 741, 742, 743, -1, 659, -1, -1,
2832 -1, 663, -1, 870, 1083, -1, 1085, -1, -1, -1,
2833 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2834 -1, -1, -1, -1, -1, 892, 893, -1, -1, -1,
2835 -1, 898, 899, 900, 901, 902, 903, 904, 905, 906,
2836 907, 908, -1, -1, 24, -1, -1, -1, -1, 29,
2837 30, 31, 32, 33, 34, -1, -1, -1, -1, 721,
2838 -1, -1, 42, 43, 726, -1, 728, 47, 48, 49,
2839 -1, -1, -1, 735, -1, -1, -1, 825, -1, -1,
2840 559, 948, -1, -1, -1, -1, -1, 1, 836, -1,
2841 -1, 71, 6, 7, 8, -1, 10, 11, 12, 13,
2842 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2843 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2844 34, -1, -1, 415, -1, -1, -1, -1, 42, 43,
2845 -1, -1, 880, 47, 48, 49, 116, -1, -1, -1,
2846 -1, -1, -1, -1, 436, 437, -1, -1, -1, -1,
2847 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2848 -1, 909, 910, 911, 912, 913, 914, 915, 916, 917,
2849 918, 919, 920, 921, 922, 923, 924, 925, -1, 927,
2850 -1, 95, 96, 97, 98, 99, 100, 101, 102, -1,
2851 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
2852 -1, -1, 116, -1, -1, -1, -1, -1, 188, 189,
2853 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
2854 -1, 1088, -1, -1, -1, -1, -1, -1, -1, -1,
2855 -1, -1, 894, -1, -1, -1, -1, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, -1, 996, -1,
2857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, 559, -1, -1,
2859 -1, -1, -1, -1, 188, 189, 190, -1, 192, 193,
2860 194, -1, -1, -1, -1, -1, 1034, -1, -1, -1,
2861 -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2862 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2863 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
2864 26, 983, 28, 29, 30, 31, 32, 33, 34, 35,
2865 36, 37, 38, 39, 40, 41, 42, 43, -1, 45,
2866 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2867 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2868 66, 67, -1, -1, -1, 71, -1, -1, -1, -1,
2869 1032, -1, -1, -1, -1, -1, -1, -1, -1, 0,
368f75ae 2870 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2871 96, 97, 98, 99, 100, 101, 102, 18, -1, -1,
2872 -1, -1, -1, 24, -1, 111, -1, -1, -1, -1,
2873 116, -1, -1, 34, -1, -1, -1, -1, -1, -1,
8f58355a 2874 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
08cf8642 2875 1178, -1, -1, -1, -1, 1097, -1, -1, -1, -1,
8f58355a 2876 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2877 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
3dabb077 2878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2879 1218, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2880 -1, -1, 188, 189, 190, 1233, 192, 193, 194, -1,
8f58355a 2881 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
08cf8642 2882 121, 122, 123, 124, 125, 126, 1254, 128, 129, 130,
8f58355a 2883 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2884 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2885 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2886 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2887 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
08cf8642 2888 181, 0, 1, -1, -1, -1, -1, 188, 189, 190,
2889 191, -1, 193, 194, 195, -1, -1, -1, -1, 18,
2890 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2891 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
2892 -1, -1, -1, -1, -1, 44, -1, 46, -1, -1,
e5081f8c 2893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2894 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2895 69, 70, -1, 72, -1, -1, -1, -1, 77, 78,
2896 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2897 -1, -1, -1, 92, 93, 94, -1, -1, -1, -1,
e5081f8c 2898 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2899 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
2900 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2901 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2902 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2903 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2904 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2905 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2906 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2907 189, 190, 191, 1, 193, 194, 195, -1, 6, 7,
2908 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2909 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2910 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2911 -1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
8f58355a 2912 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
e5081f8c 2913 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2914 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
2915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
368f75ae 2917 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
08cf8642 2918 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2919 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2920 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2921 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2922 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2923 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2924 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2925 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2926 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2927 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2928 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2929 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2930 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2931 43, 44, -1, -1, 47, 48, 49, -1, -1, -1,
e5081f8c 2932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2933 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
e5081f8c 2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 2935 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2936 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
2937 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2938 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2939 123, 124, 125, 126, -1, 128, 129, 130, 131, 132,
2940 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2941 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2942 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2943 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2944 173, 174, 175, 176, 177, 178, 179, 180, 181, -1,
2945 -1, -1, -1, -1, -1, 188, 189, 190, 191, 192,
2946 193, 194, 195, 1, -1, -1, -1, -1, 6, 7,
2947 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
368f75ae 2948 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
8f58355a 2949 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
08cf8642 2950 -1, -1, -1, -1, 42, 43, 44, -1, -1, 47,
8f58355a 2951 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 2952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2953 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2955 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
368f75ae 2956 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
08cf8642 2957 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2958 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2959 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2960 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2961 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2962 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2963 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2964 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2965 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2966 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2967 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2968 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2969 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2970 43, -1, 1, -1, 47, 48, 49, 6, 7, 8,
2971 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2972 19, 20, -1, -1, -1, 24, 25, -1, 71, -1,
2973 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2974 -1, -1, -1, 42, 43, -1, -1, -1, 47, 48,
2975 49, -1, 95, 96, 97, 98, 99, 100, 101, 102,
2976 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2977 -1, -1, 71, 116, -1, -1, -1, -1, -1, -1,
909cf5eb 2978 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2979 -1, -1, -1, -1, -1, -1, 95, -1, 97, 98,
2980 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2981 -1, -1, 111, -1, -1, -1, -1, 116, -1, -1,
909cf5eb 2982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 2983 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2984 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
2985 193, 194, -1, -1, -1, 1, -1, -1, -1, -1,
2986 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2987 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2988 -1, -1, -1, 29, 30, 31, 32, 33, 34, 188,
2989 189, 190, -1, 192, 193, 194, 42, 43, -1, 1,
2990 -1, 47, 48, 49, 6, 7, 8, -1, 10, 11,
2991 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2992 -1, -1, 24, -1, -1, 71, -1, 29, 30, 31,
2993 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2994 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2995 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
2996 -1, -1, -1, -1, -1, 111, -1, -1, -1, 71,
2997 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 2998 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2999 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3000 102, -1, -1, -1, -1, -1, -1, -1, 19, 111,
3001 -1, -1, -1, 24, 116, 26, -1, 28, 29, 30,
3002 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3003 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
3004 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3005 -1, -1, 1, -1, -1, -1, -1, 6, 7, 8,
3006 71, -1, 11, 12, 13, 14, 15, 16, 17, 18,
3007 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3008 29, 30, 31, 32, 33, 34, 188, 189, 190, -1,
3009 192, 193, 194, 42, 43, -1, 1, -1, 47, 48,
3010 49, 6, 7, 8, -1, 116, 11, 12, 13, 14,
3011 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3012 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3013 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
3014 -1, -1, 47, 48, 49, -1, 95, -1, 97, 98,
8f58355a 3015 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
08cf8642 3016 19, 20, 111, -1, -1, 24, 71, 116, -1, -1,
3017 29, 30, 31, 32, 33, 34, -1, 188, 189, 190,
3018 -1, 192, 193, 194, -1, -1, -1, -1, 47, 48,
3019 49, -1, 97, 98, 99, 100, 101, 102, -1, -1,
3020 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
3021 -1, 116, 71, -1, -1, -1, -1, -1, -1, -1,
3022 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3023 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3024 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3025 -1, -1, -1, -1, 6, 7, 8, 116, 10, 11,
368f75ae 3026 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3027 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
08cf8642 3028 32, 33, 34, 188, 189, 190, -1, 192, 193, 194,
368f75ae 3029 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3030 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3031 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3032 72, -1, -1, -1, -1, -1, -1, -1, -1, 188,
08cf8642 3033 189, 190, -1, 192, -1, -1, -1, -1, -1, -1,
368f75ae 3034 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3035 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3036 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3037 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3038 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3039 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3040 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3041 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3042 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3043 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3044 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3045 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3046 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3047 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3048 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3050 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3051 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3053 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3054 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3055 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3056 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3057 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3058 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3059 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3060 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3061 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3062 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3063 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3064 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3065 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3066 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3067 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3068 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3069 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3070 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8f58355a 3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3072 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3073 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3074 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3075 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3076 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3077 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3078 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3079 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3080 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3081 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3082 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3083 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3084 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3085 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3086 -1, -1, -1, -1, -1, 47, 48, 49, 6, 7,
3087 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
3088 18, 19, 20, -1, -1, -1, 24, -1, -1, 71,
3089 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3090 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
3091 48, 49, -1, -1, 96, 97, 98, 99, 100, 101,
3092 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3093 -1, -1, -1, 71, 116, -1, -1, -1, -1, -1,
8f58355a 3094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3095 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
909cf5eb 3096 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
368f75ae 3097 -1, -1, -1, 111, -1, 6, 7, 8, 116, 10,
3098 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3099 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
3100 31, 32, 33, 34, -1, -1, 188, 189, 190, -1,
3101 192, 193, 194, -1, -1, -1, 47, 48, 49, 6,
3102 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
8f58355a 3103 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
368f75ae 3104 71, -1, 29, 30, 31, 32, 33, 34, -1, -1,
8f58355a 3105 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
368f75ae 3106 47, 48, 49, -1, -1, 96, 97, 98, 99, 100,
3107 101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
3108 111, -1, -1, -1, 71, 116, -1, -1, -1, -1,
2f2892c2 3109 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3110 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
3111 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
3112 -1, -1, -1, -1, 111, -1, 6, 7, 8, 116,
3113 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3114 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
3115 30, 31, 32, 33, 34, -1, -1, 188, 189, 190,
3116 -1, 192, 193, 194, -1, -1, -1, 47, 48, 49,
3117 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
8f58355a 3118 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
368f75ae 3119 -1, 71, -1, 29, 30, 31, 32, 33, 34, -1,
8f58355a 3120 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
368f75ae 3121 -1, 47, 48, 49, -1, -1, 96, 97, 98, 99,
3122 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
3123 -1, 111, -1, -1, -1, 71, 116, -1, -1, -1,
edad9a7f 3124 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3125 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3126 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
3127 -1, -1, -1, -1, -1, 111, -1, 6, 7, 8,
3128 116, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3129 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3130 29, 30, 31, 32, 33, 34, -1, -1, 188, 189,
3131 190, -1, 192, 193, 194, -1, -1, -1, 47, 48,
3132 49, 6, 7, 8, -1, 10, 11, 12, 13, 14,
3133 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
3134 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
8f58355a 3135 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
368f75ae 3136 -1, -1, 47, 48, 49, -1, -1, 96, 97, 98,
3137 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3138 -1, -1, 111, -1, -1, -1, 71, 116, -1, -1,
d0b80d80 3139 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3140 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3141 -1, 96, 97, 98, 99, 100, 101, 102, 19, -1,
3142 -1, -1, -1, 24, -1, -1, 111, -1, -1, -1,
3143 -1, 116, -1, -1, -1, -1, -1, -1, -1, -1,
3144 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
3145 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3146 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3147 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3148 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2f2892c2 3149 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3150 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
3151 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3152 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3153 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3154 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3155 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3156 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3157 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3158 181, 20, -1, -1, -1, -1, -1, -1, -1, 190,
3159 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
3160 -1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
2f2892c2 3161 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2f2892c2 3162 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
e5081f8c 3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3167 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
8f58355a 3168 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
3169 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3170 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3171 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3172 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3173 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
08cf8642 3174 179, 180, 181, -1, -1, -1, -1, -1, 19, 20,
3175 -1, 190, 191, 24, -1, 26, 195, 28, 29, 30,
368f75ae 3176 31, 32, 33, 34, -1, -1, -1, -1, -1, 19,
08cf8642 3177 -1, -1, -1, -1, 24, -1, 47, 48, 49, 29,
368f75ae 3178 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
08cf8642 3179 -1, -1, 42, 43, -1, -1, 19, 47, 48, 49,
368f75ae 3180 71, 24, -1, -1, -1, -1, 29, 30, 31, 32,
08cf8642 3181 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
3182 43, 71, -1, 19, 47, 48, 49, -1, 24, -1,
368f75ae 3183 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
08cf8642 3184 -1, -1, -1, -1, 19, 116, -1, -1, 71, 24,
3185 -1, 47, 48, 49, 29, 30, 31, 32, 33, 34,
368f75ae 3186 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
08cf8642 3187 -1, -1, 47, 48, 49, 71, -1, -1, -1, -1,
3dabb077 3188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3189 -1, -1, -1, 116, -1, -1, 71, -1, -1, -1,
edad9a7f 3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3191 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3192 116, 192, 193, 194, -1, -1, -1, -1, -1, -1,
3193 -1, -1, -1, 24, -1, -1, -1, -1, 188, 189,
3194 190, 116, 192, 34, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
368f75ae 3196 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
edad9a7f 3197 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3198 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3199 -1, -1, 188, 189, 190, -1, 192, -1, -1, -1,
08cf8642 3200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, -1, 188, 189, 190, -1, 192, -1, -1,
3202 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3203 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3204 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3205 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3206 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3207 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3208 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3209 181, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3210 191, -1, 193, 194, 195, 24, 25, -1, -1, -1,
3211 29, 30, 31, 32, 33, 34, 24, -1, -1, 27,
3212 -1, 29, 30, 31, 32, 33, 34, -1, 47, 48,
3213 49, -1, -1, -1, -1, -1, -1, 24, 25, 47,
3214 48, 49, 29, 30, 31, 32, 33, 34, 24, -1,
3215 -1, 27, 71, 29, 30, 31, 32, 33, 34, -1,
3216 47, 48, 49, 71, -1, -1, -1, -1, -1, 24,
3217 25, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3218 24, -1, -1, -1, 71, 29, 30, 31, 32, 33,
3219 34, -1, 47, 48, 49, 71, -1, 116, -1, -1,
3220 -1, -1, -1, 47, 48, 49, -1, -1, 116, -1,
3221 -1, -1, 24, -1, -1, -1, 71, 29, 30, 31,
3222 32, 33, 34, -1, -1, -1, -1, 71, -1, 116,
3223 -1, -1, -1, -1, -1, 47, 48, 49, -1, 24,
3224 116, -1, -1, -1, 29, 30, 31, 32, 33, 34,
3225 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3226 -1, 116, 47, 48, 49, -1, -1, -1, -1, 188,
3227 189, 190, 116, 192, -1, -1, -1, -1, -1, -1,
3228 188, 189, 190, 24, 192, -1, 71, -1, 29, 30,
368f75ae 3229 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
08cf8642 3230 -1, 188, 189, 190, 116, 192, 47, 48, 49, -1,
3231 -1, -1, 188, 189, 190, -1, 192, 24, -1, -1,
3232 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3233 71, 116, -1, 188, 189, 190, -1, 192, -1, -1,
3234 47, 48, 49, -1, 188, 189, 190, -1, 192, -1,
d0b80d80 3235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3236 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3237 -1, -1, -1, -1, -1, 116, 188, 189, 190, -1,
3238 192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3240 -1, -1, -1, 188, 189, 190, -1, 192, -1, 116,
3241 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
3242 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3243 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3244 -1, -1, 68, 69, 70, -1, 72, 188, 189, 190,
3245 -1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3246 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3248 -1, 188, 189, 190, -1, 192, 112, 113, 114, 115,
3249 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3250 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3251 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3252 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3253 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3254 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3255 176, 177, 178, 179, 180, 181, 44, -1, 46, -1,
3256 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195,
909cf5eb 3257 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3258 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
909cf5eb 3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3260 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3262 -1, -1, -1, -1, 112, 113, 114, 115, -1, 117,
3263 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3264 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3265 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3266 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3267 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3268 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3269 178, 179, 180, 181, 44, -1, -1, -1, -1, -1,
3270 188, 189, 190, 191, -1, -1, -1, 195, -1, -1,
3271 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
3272 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 3273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3276 -1, -1, 112, 113, 114, 115, -1, 117, 118, 119,
3277 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3278 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3279 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3280 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3281 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3282 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3283 180, 181, 44, -1, -1, -1, -1, -1, -1, -1,
3284 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
909cf5eb 3285 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8f58355a 3286 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3288 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3290 112, 113, 114, 115, -1, 117, 118, 119, 120, 121,
3291 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3292 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3293 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3294 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3295 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3296 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3297 44, -1, 46, -1, -1, -1, -1, -1, 190, 191,
3298 -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
368f75ae 3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3301 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3303 -1, -1, -1, -1, -1, -1, -1, -1, 112, 113,
3304 114, 115, -1, 117, 118, 119, 120, 121, 122, 123,
3305 124, 125, 126, -1, 128, 129, 130, 131, 132, 133,
3306 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3307 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3308 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3309 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3310 174, 175, 176, 177, 178, 179, 180, 181, 44, -1,
3311 -1, -1, -1, -1, -1, -1, 190, 191, -1, -1,
3312 -1, 195, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3317 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3318 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3319 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3320 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3321 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3322 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3323 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3324 176, 177, 178, 179, 180, 181, -1, -1, -1, -1,
3325 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195
3326};
3327
3328/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3329 symbol of state STATE-NUM. */
3330static const yytype_uint16 yystos[] =
3331{
3332 0, 1, 18, 34, 44, 46, 72, 77, 78, 79,
3333 92, 93, 94, 112, 113, 114, 115, 117, 118, 119,
3334 120, 121, 122, 123, 124, 125, 126, 128, 129, 130,
8f58355a 3335 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3336 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3337 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3338 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3339 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
08cf8642 3340 181, 188, 189, 190, 191, 193, 194, 195, 198, 199,
3341 200, 201, 202, 206, 212, 215, 216, 256, 261, 303,
3342 304, 310, 312, 324, 334, 335, 336, 337, 338, 339,
3343 340, 341, 342, 343, 344, 345, 347, 349, 352, 361,
3344 366, 371, 375, 470, 471, 472, 112, 113, 114, 373,
3345 374, 375, 24, 308, 314, 315, 347, 371, 190, 347,
3346 203, 190, 471, 1, 6, 7, 8, 10, 11, 12,
3347 13, 14, 15, 16, 17, 18, 24, 29, 30, 31,
3348 32, 33, 34, 47, 48, 49, 71, 95, 96, 97,
3349 98, 99, 100, 101, 102, 111, 116, 189, 190, 192,
3350 193, 269, 271, 273, 275, 278, 281, 282, 283, 284,
3351 285, 286, 287, 288, 289, 290, 292, 294, 299, 300,
3352 388, 393, 403, 404, 405, 407, 410, 414, 415, 423,
3353 429, 430, 431, 434, 436, 442, 464, 466, 467, 470,
3354 471, 1, 11, 18, 24, 193, 194, 300, 389, 391,
3355 392, 393, 396, 398, 399, 401, 402, 405, 407, 410,
3356 415, 419, 428, 430, 435, 464, 467, 389, 390, 312,
3357 312, 312, 361, 361, 361, 361, 361, 361, 361, 361,
3358 361, 361, 0, 200, 26, 313, 19, 257, 259, 18,
3359 468, 24, 347, 350, 312, 312, 312, 312, 312, 312,
3360 312, 312, 361, 312, 350, 350, 312, 361, 88, 361,
3361 68, 69, 70, 361, 206, 361, 373, 375, 24, 189,
3362 190, 300, 312, 346, 383, 470, 21, 312, 312, 311,
3363 312, 361, 361, 204, 205, 209, 312, 347, 375, 471,
3364 24, 273, 294, 302, 411, 24, 24, 24, 24, 471,
3365 18, 18, 18, 300, 270, 300, 383, 404, 281, 281,
3366 281, 281, 281, 281, 312, 24, 273, 273, 24, 24,
3367 16, 16, 16, 16, 15, 102, 406, 24, 387, 388,
3368 393, 405, 407, 410, 413, 415, 428, 431, 434, 436,
3369 464, 465, 467, 437, 24, 26, 48, 49, 361, 23,
3370 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3371 276, 312, 34, 35, 36, 32, 33, 50, 51, 37,
3372 38, 52, 53, 54, 55, 29, 39, 40, 56, 41,
3373 57, 18, 21, 404, 95, 19, 422, 404, 387, 404,
3374 192, 404, 22, 24, 300, 398, 415, 18, 95, 398,
3375 398, 303, 347, 424, 19, 20, 400, 391, 404, 95,
3376 27, 312, 24, 258, 424, 361, 18, 371, 348, 383,
3377 312, 471, 312, 471, 19, 471, 300, 25, 347, 26,
3378 312, 375, 384, 386, 25, 361, 18, 361, 18, 23,
3379 371, 468, 26, 313, 24, 361, 209, 5, 361, 372,
3380 378, 379, 380, 408, 22, 300, 300, 300, 300, 301,
3381 18, 18, 24, 413, 25, 25, 25, 24, 383, 299,
3382 300, 18, 18, 18, 18, 18, 406, 6, 7, 413,
3383 387, 19, 421, 387, 387, 415, 25, 272, 299, 300,
3384 28, 45, 299, 299, 299, 299, 299, 299, 299, 299,
3385 299, 299, 299, 279, 277, 281, 281, 281, 282, 282,
3386 283, 283, 284, 284, 284, 284, 285, 285, 286, 287,
3387 288, 291, 295, 297, 293, 299, 20, 190, 404, 423,
3388 424, 416, 9, 11, 300, 25, 24, 361, 303, 398,
3389 11, 302, 25, 372, 20, 111, 387, 420, 424, 427,
3390 260, 371, 361, 91, 21, 19, 312, 361, 19, 312,
3391 361, 368, 369, 471, 19, 312, 312, 27, 302, 24,
3392 386, 26, 312, 308, 195, 307, 308, 316, 317, 309,
3393 361, 91, 27, 312, 24, 361, 205, 376, 377, 471,
3394 25, 21, 312, 382, 471, 22, 25, 433, 25, 18,
3395 25, 19, 281, 383, 25, 21, 25, 302, 412, 25,
3396 420, 11, 24, 21, 25, 27, 471, 471, 42, 43,
3397 280, 289, 22, 300, 290, 20, 20, 427, 432, 24,
3398 25, 397, 371, 24, 27, 207, 25, 20, 20, 111,
3399 427, 20, 111, 387, 413, 312, 23, 305, 348, 20,
3400 357, 19, 20, 359, 19, 20, 21, 23, 367, 27,
3401 25, 361, 378, 27, 302, 24, 21, 312, 312, 312,
3402 23, 468, 302, 25, 372, 205, 21, 213, 5, 381,
3403 347, 25, 301, 19, 299, 425, 426, 361, 383, 409,
3404 22, 24, 438, 299, 312, 312, 24, 273, 24, 273,
3405 296, 22, 20, 387, 300, 24, 29, 30, 31, 32,
3406 33, 34, 48, 49, 71, 189, 190, 271, 273, 276,
3407 282, 283, 284, 285, 286, 287, 288, 289, 290, 292,
3408 439, 441, 442, 443, 444, 445, 446, 447, 448, 449,
3409 450, 451, 452, 453, 454, 455, 456, 457, 462, 470,
3410 300, 361, 73, 74, 75, 76, 80, 81, 82, 83,
3411 84, 85, 86, 233, 235, 237, 238, 240, 241, 242,
3412 247, 248, 254, 255, 325, 326, 328, 329, 330, 208,
3413 20, 20, 111, 20, 25, 306, 312, 417, 20, 353,
3414 417, 20, 355, 312, 369, 312, 368, 384, 25, 27,
3415 25, 378, 361, 246, 247, 19, 26, 28, 299, 319,
3416 320, 321, 322, 471, 312, 312, 27, 210, 25, 312,
3417 5, 471, 234, 236, 238, 240, 242, 248, 326, 330,
3418 382, 206, 312, 370, 375, 385, 386, 387, 18, 425,
3419 21, 469, 21, 25, 22, 300, 439, 383, 383, 294,
3420 298, 25, 300, 383, 281, 281, 281, 281, 281, 281,
3421 273, 273, 24, 24, 26, 48, 49, 361, 23, 58,
3422 59, 60, 61, 62, 63, 64, 65, 66, 67, 34,
3423 35, 36, 32, 33, 50, 51, 37, 38, 52, 53,
3424 54, 55, 29, 39, 40, 56, 41, 57, 25, 440,
3425 25, 189, 244, 245, 239, 243, 233, 91, 91, 91,
3426 361, 361, 91, 332, 336, 91, 233, 20, 312, 318,
3427 215, 347, 362, 363, 417, 362, 417, 302, 20, 25,
3428 25, 307, 18, 319, 323, 302, 471, 319, 23, 322,
3429 22, 319, 91, 361, 234, 211, 25, 214, 234, 24,
3430 312, 195, 370, 394, 469, 426, 20, 274, 471, 25,
3431 25, 25, 25, 294, 18, 25, 25, 299, 25, 272,
3432 300, 28, 45, 299, 299, 299, 299, 299, 299, 299,
3433 299, 299, 299, 299, 281, 281, 281, 282, 282, 283,
3434 283, 284, 284, 284, 284, 285, 285, 286, 287, 288,
3435 289, 458, 460, 290, 21, 18, 442, 40, 89, 90,
3436 121, 122, 135, 249, 250, 251, 253, 24, 34, 189,
3437 190, 262, 263, 265, 468, 470, 327, 5, 24, 34,
3438 184, 185, 189, 192, 217, 218, 224, 225, 226, 228,
3439 229, 230, 231, 333, 470, 331, 319, 18, 21, 312,
3440 361, 363, 418, 362, 418, 362, 312, 20, 21, 27,
3441 318, 234, 468, 361, 301, 20, 25, 26, 28, 18,
3442 413, 281, 21, 25, 27, 471, 471, 22, 300, 441,
3443 244, 21, 468, 189, 252, 303, 470, 251, 263, 263,
3444 26, 28, 45, 21, 468, 24, 34, 189, 266, 268,
3445 470, 220, 228, 230, 24, 230, 23, 56, 187, 223,
3446 52, 53, 54, 227, 26, 28, 45, 219, 24, 468,
3447 267, 268, 318, 312, 361, 18, 22, 364, 365, 371,
3448 358, 418, 360, 418, 20, 319, 468, 91, 375, 395,
3449 312, 300, 471, 194, 463, 383, 312, 312, 459, 22,
3450 250, 25, 27, 263, 264, 442, 471, 471, 263, 266,
3451 266, 26, 28, 45, 21, 468, 22, 32, 33, 232,
3452 25, 230, 218, 221, 230, 224, 230, 228, 27, 192,
3453 471, 471, 22, 228, 312, 468, 18, 308, 312, 21,
3454 312, 361, 22, 20, 354, 20, 356, 91, 25, 27,
3455 416, 25, 294, 461, 27, 25, 27, 264, 471, 471,
3456 266, 312, 196, 222, 228, 40, 27, 222, 25, 312,
3457 312, 302, 365, 18, 312, 20, 20, 294, 27, 25,
3458 221, 361, 302, 351
368f75ae 3459};
368f75ae 3460
08cf8642 3461#define yyerrok (yyerrstatus = 0)
3462#define yyclearin (yychar = YYEMPTY)
3463#define YYEMPTY (-2)
3464#define YYEOF 0
368f75ae 3465
08cf8642 3466#define YYACCEPT goto yyacceptlab
3467#define YYABORT goto yyabortlab
3468#define YYERROR goto yyerrorlab
368f75ae 3469
368f75ae 3470
08cf8642 3471/* Like YYERROR except do call yyerror. This remains here temporarily
3472 to ease the transition to the new meaning of YYERROR, for GCC.
3473 Once GCC version 2 has supplanted version 1, this can go. */
368f75ae 3474
08cf8642 3475#define YYFAIL goto yyerrlab
368f75ae 3476
08cf8642 3477#define YYRECOVERING() (!!yyerrstatus)
368f75ae 3478
08cf8642 3479#define YYBACKUP(Token, Value) \
3480do \
3481 if (yychar == YYEMPTY && yylen == 1) \
3482 { \
3483 yychar = (Token); \
3484 yylval = (Value); \
3485 yytoken = YYTRANSLATE (yychar); \
3486 YYPOPSTACK (1); \
3487 goto yybackup; \
3488 } \
3489 else \
3490 { \
3491 yyerror (YY_("syntax error: cannot back up")); \
3492 YYERROR; \
3493 } \
3494while (YYID (0))
368f75ae 3495
368f75ae 3496
08cf8642 3497#define YYTERROR 1
3498#define YYERRCODE 256
368f75ae 3499
368f75ae 3500
08cf8642 3501/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3502 If N is 0, then set CURRENT to the empty location which ends
3503 the previous symbol: RHS[0] (always defined). */
368f75ae 3504
08cf8642 3505#define YYRHSLOC(Rhs, K) ((Rhs)[K])
3506#ifndef YYLLOC_DEFAULT
3507# define YYLLOC_DEFAULT(Current, Rhs, N) \
3508 do \
3509 if (YYID (N)) \
3510 { \
3511 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3512 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3513 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3514 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3515 } \
3516 else \
3517 { \
3518 (Current).first_line = (Current).last_line = \
3519 YYRHSLOC (Rhs, 0).last_line; \
3520 (Current).first_column = (Current).last_column = \
3521 YYRHSLOC (Rhs, 0).last_column; \
3522 } \
3523 while (YYID (0))
3524#endif
368f75ae 3525
d0b80d80 3526
08cf8642 3527/* YY_LOCATION_PRINT -- Print the location on the stream.
3528 This macro was not mandated originally: define only if we know
3529 we won't break user code: when these are the locations we know. */
368f75ae 3530
08cf8642 3531#ifndef YY_LOCATION_PRINT
3532# if YYLTYPE_IS_TRIVIAL
3533# define YY_LOCATION_PRINT(File, Loc) \
3534 fprintf (File, "%d.%d-%d.%d", \
3535 (Loc).first_line, (Loc).first_column, \
3536 (Loc).last_line, (Loc).last_column)
368f75ae 3537# else
08cf8642 3538# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
368f75ae 3539# endif
08cf8642 3540#endif
368f75ae 3541
368f75ae 3542
08cf8642 3543/* YYLEX -- calling `yylex' with the right arguments. */
368f75ae 3544
08cf8642 3545#ifdef YYLEX_PARAM
3546# define YYLEX yylex (YYLEX_PARAM)
3547#else
3548# define YYLEX yylex ()
368f75ae 3549#endif
3550
08cf8642 3551/* Enable debugging if requested. */
3552#if YYDEBUG
368f75ae 3553
08cf8642 3554# ifndef YYFPRINTF
3555# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3556# define YYFPRINTF fprintf
d0b80d80 3557# endif
08cf8642 3558
3559# define YYDPRINTF(Args) \
3560do { \
3561 if (yydebug) \
3562 YYFPRINTF Args; \
3563} while (YYID (0))
3564
3565# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3566do { \
3567 if (yydebug) \
3568 { \
3569 YYFPRINTF (stderr, "%s ", Title); \
3570 yy_symbol_print (stderr, \
3571 Type, Value); \
3572 YYFPRINTF (stderr, "\n"); \
3573 } \
3574} while (YYID (0))
3575
3576
3577/*--------------------------------.
3578| Print this symbol on YYOUTPUT. |
3579`--------------------------------*/
3580
3581/*ARGSUSED*/
3582#if (defined __STDC__ || defined __C99__FUNC__ \
3583 || defined __cplusplus || defined _MSC_VER)
3584static void
3585yy_symbol_value_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3586#else
3587static void
3588yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3589 FILE *yyoutput;
3590 int yytype;
3591 cgrammar_YYSTYPE const * const yyvaluep;
d0b80d80 3592#endif
08cf8642 3593{
3594 if (!yyvaluep)
3595 return;
3596# ifdef YYPRINT
3597 if (yytype < YYNTOKENS)
3598 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3599# else
3600 YYUSE (yyoutput);
3601# endif
3602 switch (yytype)
3603 {
3604 default:
3605 break;
3606 }
3607}
d0b80d80 3608
d0b80d80 3609
08cf8642 3610/*--------------------------------.
3611| Print this symbol on YYOUTPUT. |
3612`--------------------------------*/
d0b80d80 3613
08cf8642 3614#if (defined __STDC__ || defined __C99__FUNC__ \
3615 || defined __cplusplus || defined _MSC_VER)
3616static void
3617yy_symbol_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3618#else
3619static void
3620yy_symbol_print (yyoutput, yytype, yyvaluep)
3621 FILE *yyoutput;
3622 int yytype;
3623 cgrammar_YYSTYPE const * const yyvaluep;
3624#endif
3625{
3626 if (yytype < YYNTOKENS)
3627 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3628 else
3629 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
368f75ae 3630
08cf8642 3631 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3632 YYFPRINTF (yyoutput, ")");
3633}
368f75ae 3634
08cf8642 3635/*------------------------------------------------------------------.
3636| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3637| TOP (included). |
3638`------------------------------------------------------------------*/
d0b80d80 3639
08cf8642 3640#if (defined __STDC__ || defined __C99__FUNC__ \
3641 || defined __cplusplus || defined _MSC_VER)
3642static void
3643yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3644#else
3645static void
3646yy_stack_print (bottom, top)
3647 yytype_int16 *bottom;
3648 yytype_int16 *top;
d0b80d80 3649#endif
08cf8642 3650{
3651 YYFPRINTF (stderr, "Stack now");
3652 for (; bottom <= top; ++bottom)
3653 YYFPRINTF (stderr, " %d", *bottom);
3654 YYFPRINTF (stderr, "\n");
3655}
d0b80d80 3656
08cf8642 3657# define YY_STACK_PRINT(Bottom, Top) \
3658do { \
3659 if (yydebug) \
3660 yy_stack_print ((Bottom), (Top)); \
3661} while (YYID (0))
368f75ae 3662
368f75ae 3663
08cf8642 3664/*------------------------------------------------.
3665| Report that the YYRULE is going to be reduced. |
3666`------------------------------------------------*/
d0b80d80 3667
08cf8642 3668#if (defined __STDC__ || defined __C99__FUNC__ \
3669 || defined __cplusplus || defined _MSC_VER)
3670static void
3671yy_reduce_print (cgrammar_YYSTYPE *yyvsp, int yyrule)
3672#else
3673static void
3674yy_reduce_print (yyvsp, yyrule)
3675 cgrammar_YYSTYPE *yyvsp;
3676 int yyrule;
3677#endif
3678{
3679 int yynrhs = yyr2[yyrule];
3680 int yyi;
3681 unsigned long int yylno = yyrline[yyrule];
3682 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3683 yyrule - 1, yylno);
3684 /* The symbols being reduced. */
3685 for (yyi = 0; yyi < yynrhs; yyi++)
3686 {
3687 fprintf (stderr, " $%d = ", yyi + 1);
3688 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3689 &(yyvsp[(yyi + 1) - (yynrhs)])
3690 );
3691 fprintf (stderr, "\n");
3692 }
3693}
d0b80d80 3694
08cf8642 3695# define YY_REDUCE_PRINT(Rule) \
3696do { \
3697 if (yydebug) \
3698 yy_reduce_print (yyvsp, Rule); \
3699} while (YYID (0))
d0b80d80 3700
d0b80d80 3701/* Nonzero means print parse trace. It is left uninitialized so that
3702 multiple parsers can coexist. */
3703int yydebug;
3704#else /* !YYDEBUG */
3705# define YYDPRINTF(Args)
08cf8642 3706# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3707# define YY_STACK_PRINT(Bottom, Top)
3708# define YY_REDUCE_PRINT(Rule)
d0b80d80 3709#endif /* !YYDEBUG */
3710
08cf8642 3711
d0b80d80 3712/* YYINITDEPTH -- initial size of the parser's stacks. */
3713#ifndef YYINITDEPTH
3714# define YYINITDEPTH 200
3715#endif
3716
3717/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3718 if the built-in stack extension method is used).
3719
3720 Do not make this value too large; the results are undefined if
08cf8642 3721 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
d0b80d80 3722 evaluated with infinite-precision integer arithmetic. */
3723
d0b80d80 3724#ifndef YYMAXDEPTH
3725# define YYMAXDEPTH 10000
3726#endif
08cf8642 3727
d0b80d80 3728\f
08cf8642 3729
3730#if YYERROR_VERBOSE
d0b80d80 3731
3732# ifndef yystrlen
08cf8642 3733# if defined __GLIBC__ && defined _STRING_H
d0b80d80 3734# define yystrlen strlen
3735# else
3736/* Return the length of YYSTR. */
08cf8642 3737#if (defined __STDC__ || defined __C99__FUNC__ \
3738 || defined __cplusplus || defined _MSC_VER)
d0b80d80 3739static YYSIZE_T
d0b80d80 3740yystrlen (const char *yystr)
08cf8642 3741#else
3742static YYSIZE_T
d0b80d80 3743yystrlen (yystr)
08cf8642 3744 const char *yystr;
3745#endif
d0b80d80 3746{
08cf8642 3747 YYSIZE_T yylen;
3748 for (yylen = 0; yystr[yylen]; yylen++)
d0b80d80 3749 continue;
08cf8642 3750 return yylen;
d0b80d80 3751}
3752# endif
3753# endif
3754
3755# ifndef yystpcpy
08cf8642 3756# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
d0b80d80 3757# define yystpcpy stpcpy
3758# else
3759/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3760 YYDEST. */
08cf8642 3761#if (defined __STDC__ || defined __C99__FUNC__ \
3762 || defined __cplusplus || defined _MSC_VER)
d0b80d80 3763static char *
d0b80d80 3764yystpcpy (char *yydest, const char *yysrc)
08cf8642 3765#else
3766static char *
d0b80d80 3767yystpcpy (yydest, yysrc)
08cf8642 3768 char *yydest;
3769 const char *yysrc;
3770#endif
d0b80d80 3771{
08cf8642 3772 char *yyd = yydest;
3773 const char *yys = yysrc;
d0b80d80 3774
3775 while ((*yyd++ = *yys++) != '\0')
3776 continue;
3777
3778 return yyd - 1;
3779}
3780# endif
3781# endif
8f58355a 3782
08cf8642 3783# ifndef yytnamerr
3784/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3785 quotes and backslashes, so that it's suitable for yyerror. The
3786 heuristic is that double-quoting is unnecessary unless the string
3787 contains an apostrophe, a comma, or backslash (other than
3788 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3789 null, do not copy; instead, return the length of what the result
3790 would have been. */
3791static YYSIZE_T
3792yytnamerr (char *yyres, const char *yystr)
3793{
3794 if (*yystr == '"')
3795 {
3796 YYSIZE_T yyn = 0;
3797 char const *yyp = yystr;
3798
3799 for (;;)
3800 switch (*++yyp)
3801 {
3802 case '\'':
3803 case ',':
3804 goto do_not_strip_quotes;
3805
3806 case '\\':
3807 if (*++yyp != '\\')
3808 goto do_not_strip_quotes;
3809 /* Fall through. */
3810 default:
3811 if (yyres)
3812 yyres[yyn] = *yyp;
3813 yyn++;
3814 break;
3815
3816 case '"':
3817 if (yyres)
3818 yyres[yyn] = '\0';
3819 return yyn;
3820 }
3821 do_not_strip_quotes: ;
3822 }
368f75ae 3823
08cf8642 3824 if (! yyres)
3825 return yystrlen (yystr);
8f58355a 3826
08cf8642 3827 return yystpcpy (yyres, yystr) - yyres;
3828}
8f58355a 3829# endif
08cf8642 3830
3831/* Copy into YYRESULT an error message about the unexpected token
3832 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3833 including the terminating null byte. If YYRESULT is null, do not
3834 copy anything; just return the number of bytes that would be
3835 copied. As a special case, return 0 if an ordinary "syntax error"
3836 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3837 size calculation. */
3838static YYSIZE_T
3839yysyntax_error (char *yyresult, int yystate, int yychar)
3840{
3841 int yyn = yypact[yystate];
3842
3843 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3844 return 0;
3845 else
3846 {
3847 int yytype = YYTRANSLATE (yychar);
3848 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3849 YYSIZE_T yysize = yysize0;
3850 YYSIZE_T yysize1;
3851 int yysize_overflow = 0;
3852 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3853 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3854 int yyx;
3855
3856# if 0
3857 /* This is so xgettext sees the translatable formats that are
3858 constructed on the fly. */
3859 YY_("syntax error, unexpected %s");
3860 YY_("syntax error, unexpected %s, expecting %s");
3861 YY_("syntax error, unexpected %s, expecting %s or %s");
3862 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3863 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
368f75ae 3864# endif
08cf8642 3865 char *yyfmt;
3866 char const *yyf;
3867 static char const yyunexpected[] = "syntax error, unexpected %s";
3868 static char const yyexpecting[] = ", expecting %s";
3869 static char const yyor[] = " or %s";
3870 char yyformat[sizeof yyunexpected
3871 + sizeof yyexpecting - 1
3872 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3873 * (sizeof yyor - 1))];
3874 char const *yyprefix = yyexpecting;
3875
3876 /* Start YYX at -YYN if negative to avoid negative indexes in
3877 YYCHECK. */
3878 int yyxbegin = yyn < 0 ? -yyn : 0;
3879
3880 /* Stay within bounds of both yycheck and yytname. */
3881 int yychecklim = YYLAST - yyn + 1;
3882 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3883 int yycount = 1;
3884
3885 yyarg[0] = yytname[yytype];
3886 yyfmt = yystpcpy (yyformat, yyunexpected);
3887
3888 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3889 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3890 {
3891 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3892 {
3893 yycount = 1;
3894 yysize = yysize0;
3895 yyformat[sizeof yyunexpected - 1] = '\0';
3896 break;
3897 }
3898 yyarg[yycount++] = yytname[yyx];
3899 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3900 yysize_overflow |= (yysize1 < yysize);
3901 yysize = yysize1;
3902 yyfmt = yystpcpy (yyfmt, yyprefix);
3903 yyprefix = yyor;
3904 }
3905
3906 yyf = YY_(yyformat);
3907 yysize1 = yysize + yystrlen (yyf);
3908 yysize_overflow |= (yysize1 < yysize);
3909 yysize = yysize1;
3910
3911 if (yysize_overflow)
3912 return YYSIZE_MAXIMUM;
3913
3914 if (yyresult)
3915 {
3916 /* Avoid sprintf, as that infringes on the user's name space.
3917 Don't have undefined behavior even if the translation
3918 produced a string with the wrong number of "%s"s. */
3919 char *yyp = yyresult;
3920 int yyi = 0;
3921 while ((*yyp = *yyf) != '\0')
3922 {
3923 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3924 {
3925 yyp += yytnamerr (yyp, yyarg[yyi++]);
3926 yyf += 2;
3927 }
3928 else
3929 {
3930 yyp++;
3931 yyf++;
3932 }
3933 }
3934 }
3935 return yysize;
3936 }
3937}
3938#endif /* YYERROR_VERBOSE */
3939\f
3940
3941/*-----------------------------------------------.
3942| Release the memory associated to this symbol. |
3943`-----------------------------------------------*/
3944
3945/*ARGSUSED*/
3946#if (defined __STDC__ || defined __C99__FUNC__ \
3947 || defined __cplusplus || defined _MSC_VER)
3948static void
3949yydestruct (const char *yymsg, int yytype, cgrammar_YYSTYPE *yyvaluep)
3950#else
3951static void
3952yydestruct (yymsg, yytype, yyvaluep)
3953 const char *yymsg;
3954 int yytype;
3955 cgrammar_YYSTYPE *yyvaluep;
8f58355a 3956#endif
08cf8642 3957{
3958 YYUSE (yyvaluep);
8f58355a 3959
08cf8642 3960 if (!yymsg)
3961 yymsg = "Deleting";
3962 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3963
3964 switch (yytype)
3965 {
8f58355a 3966
08cf8642 3967 default:
3968 break;
3969 }
3970}
3971\f
3972
3973/* Prevent warnings from -Wmissing-prototypes. */
3974
3975#ifdef YYPARSE_PARAM
3976#if defined __STDC__ || defined __cplusplus
3977int yyparse (void *YYPARSE_PARAM);
3978#else
3979int yyparse ();
3980#endif
3981#else /* ! YYPARSE_PARAM */
3982#if defined __STDC__ || defined __cplusplus
3983int yyparse (void);
368f75ae 3984#else
08cf8642 3985int yyparse ();
368f75ae 3986#endif
08cf8642 3987#endif /* ! YYPARSE_PARAM */
3988
3989
3990
3991/* The look-ahead symbol. */
3992int yychar;
8f58355a 3993
08cf8642 3994/* The semantic value of the look-ahead symbol. */
3995cgrammar_YYSTYPE yylval;
3996
3997/* Number of syntax errors so far. */
3998int yynerrs;
8f58355a 3999
8f58355a 4000
8f58355a 4001
08cf8642 4002/*----------.
4003| yyparse. |
4004`----------*/
4005
4006#ifdef YYPARSE_PARAM
4007#if (defined __STDC__ || defined __C99__FUNC__ \
4008 || defined __cplusplus || defined _MSC_VER)
368f75ae 4009int
08cf8642 4010yyparse (void *YYPARSE_PARAM)
4011#else
4012int
4013yyparse (YYPARSE_PARAM)
4014 void *YYPARSE_PARAM;
4015#endif
4016#else /* ! YYPARSE_PARAM */
4017#if (defined __STDC__ || defined __C99__FUNC__ \
4018 || defined __cplusplus || defined _MSC_VER)
4019int
4020yyparse (void)
4021#else
4022int
4023yyparse ()
8f58355a 4024
08cf8642 4025#endif
4026#endif
4027{
4028
4029 int yystate;
4030 int yyn;
d0b80d80 4031 int yyresult;
4032 /* Number of tokens to shift before error messages enabled. */
4033 int yyerrstatus;
08cf8642 4034 /* Look-ahead token as an internal (translated) token number. */
4035 int yytoken = 0;
4036#if YYERROR_VERBOSE
4037 /* Buffer for error messages, and its allocated size. */
4038 char yymsgbuf[128];
4039 char *yymsg = yymsgbuf;
4040 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4041#endif
d0b80d80 4042
4043 /* Three stacks and their tools:
4044 `yyss': related to states,
4045 `yyvs': related to semantic values,
4046 `yyls': related to locations.
4047
4048 Refer to the stacks thru separate pointers, to allow yyoverflow
4049 to reallocate them elsewhere. */
4050
08cf8642 4051 /* The state stack. */
4052 yytype_int16 yyssa[YYINITDEPTH];
4053 yytype_int16 *yyss = yyssa;
4054 yytype_int16 *yyssp;
d0b80d80 4055
4056 /* The semantic value stack. */
4057 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
4058 cgrammar_YYSTYPE *yyvs = yyvsa;
08cf8642 4059 cgrammar_YYSTYPE *yyvsp;
d0b80d80 4060
d0b80d80 4061
d0b80d80 4062
08cf8642 4063#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
d0b80d80 4064
08cf8642 4065 YYSIZE_T yystacksize = YYINITDEPTH;
368f75ae 4066
d0b80d80 4067 /* The variables used to return semantic value and location from the
4068 action routines. */
4069 cgrammar_YYSTYPE yyval;
d0b80d80 4070
08cf8642 4071
4072 /* The number of symbols on the RHS of the reduced rule.
4073 Keep to zero when no symbol should be popped. */
4074 int yylen = 0;
d0b80d80 4075
4076 YYDPRINTF ((stderr, "Starting parse\n"));
4077
4078 yystate = 0;
4079 yyerrstatus = 0;
4080 yynerrs = 0;
4081 yychar = YYEMPTY; /* Cause a token to be read. */
4082
4083 /* Initialize stack pointers.
4084 Waste one element of value and location stack
4085 so that they stay on the same level as the state stack.
4086 The wasted elements are never initialized. */
4087
4088 yyssp = yyss;
4089 yyvsp = yyvs;
08cf8642 4090
d0b80d80 4091 goto yysetstate;
4092
4093/*------------------------------------------------------------.
4094| yynewstate -- Push a new state, which is found in yystate. |
4095`------------------------------------------------------------*/
4096 yynewstate:
4097 /* In all cases, when you get here, the value and location stacks
08cf8642 4098 have just been pushed. So pushing a state here evens the stacks. */
d0b80d80 4099 yyssp++;
4100
4101 yysetstate:
4102 *yyssp = yystate;
4103
08cf8642 4104 if (yyss + yystacksize - 1 <= yyssp)
d0b80d80 4105 {
4106 /* Get the current used size of the three stacks, in elements. */
4107 YYSIZE_T yysize = yyssp - yyss + 1;
4108
4109#ifdef yyoverflow
4110 {
08cf8642 4111 /* Give user a chance to reallocate the stack. Use copies of
d0b80d80 4112 these so that the &'s don't force the real ones into
4113 memory. */
4114 cgrammar_YYSTYPE *yyvs1 = yyvs;
08cf8642 4115 yytype_int16 *yyss1 = yyss;
4116
d0b80d80 4117
4118 /* Each stack pointer address is followed by the size of the
08cf8642 4119 data in use in that stack, in bytes. This used to be a
4120 conditional around just the two extra args, but that might
4121 be undefined if yyoverflow is a macro. */
4122 yyoverflow (YY_("memory exhausted"),
368f75ae 4123 &yyss1, yysize * sizeof (*yyssp),
4124 &yyvs1, yysize * sizeof (*yyvsp),
08cf8642 4125
368f75ae 4126 &yystacksize);
08cf8642 4127
d0b80d80 4128 yyss = yyss1;
4129 yyvs = yyvs1;
4130 }
4131#else /* no yyoverflow */
4132# ifndef YYSTACK_RELOCATE
08cf8642 4133 goto yyexhaustedlab;
d0b80d80 4134# else
4135 /* Extend the stack our own way. */
08cf8642 4136 if (YYMAXDEPTH <= yystacksize)
4137 goto yyexhaustedlab;
d0b80d80 4138 yystacksize *= 2;
08cf8642 4139 if (YYMAXDEPTH < yystacksize)
d0b80d80 4140 yystacksize = YYMAXDEPTH;
4141
4142 {
08cf8642 4143 yytype_int16 *yyss1 = yyss;
d0b80d80 4144 union yyalloc *yyptr =
4145 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4146 if (! yyptr)
08cf8642 4147 goto yyexhaustedlab;
d0b80d80 4148 YYSTACK_RELOCATE (yyss);
4149 YYSTACK_RELOCATE (yyvs);
08cf8642 4150
4151# undef YYSTACK_RELOCATE
d0b80d80 4152 if (yyss1 != yyssa)
4153 YYSTACK_FREE (yyss1);
4154 }
4155# endif
4156#endif /* no yyoverflow */
4157
4158 yyssp = yyss + yysize - 1;
4159 yyvsp = yyvs + yysize - 1;
08cf8642 4160
d0b80d80 4161
4162 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4163 (unsigned long int) yystacksize));
4164
08cf8642 4165 if (yyss + yystacksize - 1 <= yyssp)
d0b80d80 4166 YYABORT;
4167 }
4168
4169 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4170
4171 goto yybackup;
4172
d0b80d80 4173/*-----------.
4174| yybackup. |
4175`-----------*/
4176yybackup:
4177
08cf8642 4178 /* Do appropriate processing given the current state. Read a
4179 look-ahead token if we need one and don't already have one. */
d0b80d80 4180
08cf8642 4181 /* First try to decide what to do without reference to look-ahead token. */
d0b80d80 4182 yyn = yypact[yystate];
08cf8642 4183 if (yyn == YYPACT_NINF)
d0b80d80 4184 goto yydefault;
4185
08cf8642 4186 /* Not known => get a look-ahead token if don't already have one. */
368f75ae 4187
08cf8642 4188 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
d0b80d80 4189 if (yychar == YYEMPTY)
4190 {
4191 YYDPRINTF ((stderr, "Reading a token: "));
4192 yychar = YYLEX;
4193 }
4194
08cf8642 4195 if (yychar <= YYEOF)
d0b80d80 4196 {
08cf8642 4197 yychar = yytoken = YYEOF;
d0b80d80 4198 YYDPRINTF ((stderr, "Now at end of input.\n"));
4199 }
4200 else
4201 {
08cf8642 4202 yytoken = YYTRANSLATE (yychar);
4203 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
d0b80d80 4204 }
4205
08cf8642 4206 /* If the proper action on seeing token YYTOKEN is to reduce or to
4207 detect an error, take that action. */
4208 yyn += yytoken;
4209 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
d0b80d80 4210 goto yydefault;
d0b80d80 4211 yyn = yytable[yyn];
08cf8642 4212 if (yyn <= 0)
d0b80d80 4213 {
08cf8642 4214 if (yyn == 0 || yyn == YYTABLE_NINF)
d0b80d80 4215 goto yyerrlab;
4216 yyn = -yyn;
4217 goto yyreduce;
4218 }
d0b80d80 4219
4220 if (yyn == YYFINAL)
4221 YYACCEPT;
4222
d0b80d80 4223 /* Count tokens shifted since error; after three, turn off error
4224 status. */
4225 if (yyerrstatus)
4226 yyerrstatus--;
4227
08cf8642 4228 /* Shift the look-ahead token. */
4229 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4230
4231 /* Discard the shifted token unless it is eof. */
4232 if (yychar != YYEOF)
4233 yychar = YYEMPTY;
4234
d0b80d80 4235 yystate = yyn;
08cf8642 4236 *++yyvsp = yylval;
4237
d0b80d80 4238 goto yynewstate;
4239
4240
4241/*-----------------------------------------------------------.
4242| yydefault -- do the default action for the current state. |
4243`-----------------------------------------------------------*/
4244yydefault:
4245 yyn = yydefact[yystate];
4246 if (yyn == 0)
4247 goto yyerrlab;
4248 goto yyreduce;
4249
4250
4251/*-----------------------------.
4252| yyreduce -- Do a reduction. |
4253`-----------------------------*/
4254yyreduce:
4255 /* yyn is the number of a rule to reduce with. */
4256 yylen = yyr2[yyn];
4257
4258 /* If YYLEN is nonzero, implement the default value of the action:
4259 `$$ = $1'.
4260
08cf8642 4261 Otherwise, the following line sets YYVAL to garbage.
4262 This behavior is undocumented and Bison
d0b80d80 4263 users should not rely upon it. Assigning to YYVAL
4264 unconditionally makes the parser a bit smaller, and it avoids a
4265 GCC warning that YYVAL may be used uninitialized. */
4266 yyval = yyvsp[1-yylen];
4267
d0b80d80 4268
08cf8642 4269 YY_REDUCE_PRINT (yyn);
4270 switch (yyn)
d0b80d80 4271 {
08cf8642 4272 case 4:
8f58355a 4273
08cf8642 4274 { context_checkGlobalScope (); ;}
4275 break;
8f58355a 4276
08cf8642 4277 case 5:
4278
4279 { context_checkGlobalScope (); ;}
4280 break;
4281
4282 case 6:
4283
4284 { uentry_clearDecl (); ;}
4285 break;
4286
4287 case 7:
4288
4289 { uentry_clearDecl (); ;}
4290 break;
4291
4292 case 8:
4293
4294 { uentry_clearDecl (); ;}
4295 break;
4296
4297 case 9:
4298
4299 { uentry_clearDecl (); ;}
4300 break;
4301
4302 case 10:
4303
4304 { uentry_clearDecl (); ;}
4305 break;
4306
4307 case 11:
4308
4309 { uentry_checkDecl (); exprNode_free ((yyvsp[(1) - (1)].expr)); ;}
4310 break;
4311
4312 case 12:
4313
4314 { uentry_clearDecl (); lltok_free ((yyvsp[(1) - (1)].tok)); /* evans 2002-02-08: okay to have a null statement */ ;}
4315 break;
4316
4317 case 13:
4318
4319 { uentry_clearDecl (); ;}
4320 break;
4321
4322 case 14:
4323
4324 { checkConstant ((yyvsp[(2) - (8)].qtyp), (yyvsp[(4) - (8)].ntyp)); lltok_free2 ((yyvsp[(1) - (8)].tok), (yyvsp[(8) - (8)].tok)); ;}
4325 break;
4326
4327 case 15:
4328
4329 { checkValueConstant ((yyvsp[(2) - (11)].qtyp), (yyvsp[(4) - (11)].ntyp), (yyvsp[(8) - (11)].expr)); lltok_free3 ((yyvsp[(1) - (11)].tok), (yyvsp[(6) - (11)].tok), (yyvsp[(11) - (11)].tok)); ;}
4330 break;
4331
4332 case 16:
4333
4334 { context_enterFunctionHeader (); ;}
4335 break;
4336
4337 case 17:
4338
4339 {
4340 declareStaticFunction ((yyvsp[(3) - (5)].ntyp)); context_quietExitFunction ();
4341 context_exitFunctionHeader ();
4342 lltok_free2 ((yyvsp[(1) - (5)].tok), (yyvsp[(5) - (5)].tok)); /*!*/
4343 ;}
4344 break;
4345
4346 case 18:
4347
4348 {
4349 qtype qint = qtype_create (ctype_int);
4350 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4351 qtype_free (qint);
4352 ;}
4353 break;
4354
4355 case 19:
4356
4357 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4358 break;
4359
4360 case 21:
4361
4362 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
4363 break;
4364
4365 case 22:
4366
4367 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4368 break;
4369
4370 case 23:
4371
4372 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4373 break;
4374
4375 case 24:
4376
4377 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp)))); lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4378 break;
4379
4380 case 25:
4381
4382 {
4383 exprNode_findValue ((yyvsp[(4) - (6)].expr));
4384 idDecl_notExpectingFunction ((yyvsp[(1) - (6)].ntyp));
4385
4386 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr)))
4387 {
4388 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4389 exprNode_getLongValue ((yyvsp[(4) - (6)].expr))));
4390 }
4391 else
4392 {
4393 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp))));
4394 }
4395
4396 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4397 ;}
4398 break;
4399
4400 case 26:
4401
4402 { setCurrentParams (uentryList_missingParams); ;}
4403 break;
4404
4405 case 27:
4406
4407 { /* need to support globals and modifies here! */
4408 functionClauseList fcl;
4409 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4410 uentryList_makeMissingParams ());
4411
4412 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4413
4414 /*drl 7/25/01 added*/
4415 setImplicitfcnConstraints();
4416
4417 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
4418 functionClauseList_unparse((yyvsp[(6) - (6)].funcclauselist))
4419 )
4420 ));
4421
4422 fcl = functionClauseList_setImplicitConstraints((yyvsp[(6) - (6)].funcclauselist));
4423
4424 idDecl_addClauses ((yyval.ntyp), fcl);
4425
4426 DPRINTF((message("1 added fuctionClause List: %s to the Id",
4427 functionClauseList_unparse(fcl)
4428 )
4429 ));
4430
4431
4432 context_popLoc ();
4433 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4434 ;}
4435 break;
4436
4437 case 28:
4438
4439 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4440 break;
4441
4442 case 29:
4443
4444 {
4445 functionClauseList fcl;
4446 setImplicitfcnConstraints ();
4447 clearCurrentParams ();
4448 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4449
4450 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
4451 functionClauseList_unparse((yyvsp[(7) - (7)].funcclauselist))
4452 )
4453 )) ;
4454
4455 fcl = functionClauseList_setImplicitConstraints((yyvsp[(7) - (7)].funcclauselist));
4456
4457 idDecl_addClauses ((yyval.ntyp), fcl);
4458
4459 DPRINTF((message("added fuctionClause List: %s to the Id",
4460 functionClauseList_unparse(fcl)
4461 )
4462 ));
4463
4464
4465 context_popLoc ();
4466 lltok_free2 ((yyvsp[(3) - (7)].tok), (yyvsp[(5) - (7)].tok));
4467 ;}
4468 break;
4469
4470 case 30:
4471
4472 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4473 break;
4474
4475 case 31:
4476
4477 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4478 break;
4479
4480 case 32:
4481
4482 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp))));
4483 lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok));
4484 ;}
4485 break;
4486
4487 case 33:
4488
4489 {
4490 int value;
4491
4492 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr))
4493 && multiVal_isInt (exprNode_getValue ((yyvsp[(4) - (6)].expr))))
4494 {
4495 value = (int) multiVal_forceInt (exprNode_getValue ((yyvsp[(4) - (6)].expr)));
4496 }
4497 else
4498 {
4499 value = 0;
4500 }
4501
4502 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)), value));
4503 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4504 ;}
4505 break;
4506
4507 case 34:
4508
4509 { setCurrentParams (uentryList_missingParams); ;}
4510 break;
4511
4512 case 35:
4513
4514 {
4515 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4516 uentryList_makeMissingParams ());
4517
4518 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4519 idDecl_addClauses ((yyval.ntyp), (yyvsp[(6) - (6)].funcclauselist));
4520 context_popLoc ();
4521 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4522 ;}
4523 break;
4524
4525 case 36:
4526
4527 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4528 break;
4529
4530 case 37:
4531
4532 {
4533 clearCurrentParams ();
4534 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4535 idDecl_addClauses ((yyval.ntyp), (yyvsp[(7) - (7)].funcclauselist));
4536 context_popLoc ();
4537 lltok_free ((yyvsp[(3) - (7)].tok));
4538 /*!! lltok_free2 ($3, $5); */
4539 ;}
4540 break;
4541
4542 case 38:
4543
4544 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4545 break;
4546
4547 case 39:
4548
4549 { clearCurrentParams (); ;}
4550 break;
4551
4552 case 40:
4553
4554 { declareCIter ((yyvsp[(2) - (10)].cname), (yyvsp[(4) - (10)].entrylist));
4555 lltok_free3 ((yyvsp[(1) - (10)].tok), (yyvsp[(3) - (10)].tok), (yyvsp[(5) - (10)].tok));
4556 ;}
4557 break;
4558
4559 case 41:
4560
4561 { exprNode_checkMacroBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4562 break;
4563
4564 case 42:
4565
4566 { exprNode_checkIterBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4567 break;
4568
4569 case 43:
4570
4571 { exprNode_checkIterEnd ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok));;}
4572 break;
4573
4574 case 44:
4575
4576 { exprChecks_checkEmptyMacroBody (); lltok_free2 ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tok)); ;}
4577 break;
4578
4579 case 45:
4580
4581 { clabstract_declareFunction ((yyvsp[(1) - (1)].ntyp)); ;}
4582 break;
4583
4584 case 46:
4585
4586 { (yyval.msconstraint) = metaStateConstraint_create ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4587 break;
4588
4589 case 47:
4590
4591 { cscannerHelp_expectingMetaStateName (); ;}
4592 break;
4593
4594 case 48:
4595
4596 { cscannerHelp_clearExpectingMetaStateName ();
4597 (yyval.msspec) = metaStateSpecifier_create ((yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].msinfo));
4598 lltok_free ((yyvsp[(3) - (4)].tok));
4599 ;}
4600 break;
4601
4602 case 49:
4603
4604 { cscannerHelp_expectingMetaStateName (); ;}
4605 break;
4606
4607 case 50:
4608
4609 { cscannerHelp_clearExpectingMetaStateName ();
4610 (yyval.msspec) = metaStateSpecifier_createElipsis ((yyvsp[(4) - (4)].msinfo));
4611 lltok_free2 ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].tok));
4612 ;}
4613 break;
4614
4615 case 51:
4616
4617 { (yyval.msexpr) = metaStateExpression_create ((yyvsp[(1) - (1)].msspec)); ;}
4618 break;
4619
4620 case 52:
4621
4622 { (yyval.msexpr) = metaStateExpression_createMerge ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4623 break;
4624
4625 case 56:
4626
4627 { (yyval.conL) = constraintList_add ((yyvsp[(3) - (3)].conL), (yyvsp[(1) - (3)].con)); ;}
4628 break;
4629
4630 case 57:
4631
4632 { (yyval.conL) = constraintList_single ((yyvsp[(1) - (1)].con)); ;}
4633 break;
4634
4635 case 58:
4636
4637 {
4638 (yyval.con) = makeConstraintParse3 ((yyvsp[(1) - (3)].conE), (yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].conE));
4639 DPRINTF(("Done BufConstraint1\n")); ;}
4640 break;
4641
4642 case 65:
4643
4644 {(yyval.conE) = constraintExpr_parseMakeUnaryOp ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].conE)); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4645 break;
4646
4647 case 66:
4648
4649 {
4650 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
4651 (yyval.conE) = constraintExpr_parseMakeBinaryOp ((yyvsp[(2) - (5)].conE), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].conE)); ;}
4652 break;
4653
4654 case 67:
4655
4656 { (yyval.conE) = constraintExpr_makeTermsRef ((yyvsp[(1) - (1)].sr));;}
4657 break;
4658
4659 case 68:
4660
4661 { (yyval.conE) = constraintExpr_makeIntLiteral (exprNode_getLongValue ((yyvsp[(1) - (1)].expr))); ;}
4662 break;
4663
4664 case 69:
4665
4666 { /*@-onlytrans@*/ (yyval.sr) = checkbufferConstraintClausesId ((yyvsp[(1) - (1)].entry)); /*@=onlytrans@*/ /*@i523@*/ ;}
4667 break;
4668
4669 case 70:
4670
4671 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
4672 break;
4673
4674 case 71:
4675
4676 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
4677 break;
4678
4679 case 72:
4680
4681 {
4682 /*
4683 char *t; int c;
4684 t = cstring_toCharsSafe (exprNode_unparse($3));
4685 c = atoi( t );
4686 */
4687 (yyval.sr) = sRef_makeArrayFetchKnown ((yyvsp[(1) - (4)].sr), exprNode_getLongValue ((yyvsp[(3) - (4)].expr)));
4688 ;}
4689 break;
4690
4691 case 73:
4692
4693 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
4694 break;
4695
4696 case 74:
4697
4698 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
4699 break;
4700
4701 case 75:
4702
4703 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4704 break;
4705
4706 case 76:
4707
4708 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4709 break;
4710
4711 case 80:
4712
4713 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4714 break;
4715
4716 case 81:
4717
4718 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4719 break;
4720
4721 case 82:
4722
4723 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4724 break;
4725
4726 case 83:
4727
4728 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4729 break;
4730
4731 case 84:
4732
4733 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4734 break;
4735
4736 case 85:
4737
4738 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4739 break;
4740
4741 case 86:
4742
4743 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4744 break;
4745
4746 case 87:
4747
4748 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4749 break;
4750
4751 case 88:
4752
4753 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4754 break;
4755
4756 case 89:
4757
4758 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4759 break;
4760
4761 case 90:
4762
4763 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4764 break;
4765
4766 case 91:
4767
4768 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4769 break;
4770
4771 case 92:
4772
4773 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4774 break;
4775
4776 case 93:
4777
4778 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4779 break;
4780
4781 case 94:
4782
4783 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4784 break;
4785
4786 case 95:
4787
4788 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4789 break;
4790
4791 case 96:
4792
4793 { (yyval.globsclause) = (yyvsp[(1) - (2)].globsclause); ;}
4794 break;
4795
4796 case 97:
4797
4798 { setProcessingGlobalsList (); ;}
4799 break;
4800
4801 case 98:
4802
4803 {
4804 unsetProcessingGlobals ();
4805 (yyval.globsclause) = globalsClause_create ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].globset));
4806 ;}
4807 break;
4808
4809 case 99:
4810
4811 { (yyval.modsclause) = modifiesClause_createNoMods ((yyvsp[(1) - (1)].tok)); ;}
4812 break;
4813
4814 case 100:
4815
4816 { (yyval.modsclause) = (yyvsp[(1) - (2)].modsclause); ;}
4817 break;
4818
4819 case 101:
4820
4821 {
4822 context_setProtectVars (); enterParamsTemp ();
4823 sRef_setGlobalScopeSafe ();
4824 ;}
4825 break;
4826
4827 case 102:
4828
4829 {
4830 exitParamsTemp ();
4831 sRef_clearGlobalScopeSafe ();
4832 context_releaseVars ();
4833 (yyval.modsclause) = modifiesClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].srset));
4834 ;}
4835 break;
4836
4837 case 103:
4838
4839 { (yyval.flagspec) = flagSpec_createPlain ((yyvsp[(1) - (1)].cname)); ;}
4840 break;
4841
4842 case 104:
4843
4844 { (yyval.flagspec) = flagSpec_createOr ((yyvsp[(1) - (3)].cname), (yyvsp[(3) - (3)].flagspec)); ;}
4845 break;
4846
4847 case 107:
4848
4849 { (yyval.warnclause) = warnClause_undefined; ;}
4850 break;
4851
4852 case 108:
4853
4854 { (yyval.warnclause) = (yyvsp[(1) - (2)].warnclause); ;}
4855 break;
4856
4857 case 109:
4858
4859 {
4860 llassert (exprNode_knownStringValue ((yyvsp[(3) - (3)].expr)));
4861 (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].flagspec), cstring_copy (multiVal_forceString (exprNode_getValue ((yyvsp[(3) - (3)].expr)))));
4862 exprNode_free ((yyvsp[(3) - (3)].expr));
4863 ;}
4864 break;
4865
4866 case 110:
4867
4868 { (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].flagspec), cstring_undefined); ;}
4869 break;
4870
4871 case 111:
4872
4873 { (yyval.globset) = globSet_single ((yyvsp[(1) - (1)].sr)); ;}
4874 break;
4875
4876 case 112:
4877
4878 { (yyval.globset) = globSet_insert ((yyvsp[(1) - (3)].globset), (yyvsp[(3) - (3)].sr)); ;}
4879 break;
4880
4881 case 113:
4882
4883 { (yyval.sr) = clabstract_createGlobal ((yyvsp[(2) - (2)].sr), (yyvsp[(1) - (2)].tquallist)); ;}
4884 break;
4885
4886 case 114:
4887
4888 { (yyval.tquallist) = qualList_undefined; ;}
4889 break;
4890
4891 case 115:
4892
4893 { (yyval.tquallist) = qualList_add ((yyvsp[(2) - (2)].tquallist), (yyvsp[(1) - (2)].typequal)); ;}
4894 break;
4895
4896 case 116:
4897
4898 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); ;}
4899 break;
4900
4901 case 117:
4902
4903 { (yyval.sr) = clabstract_unrecognizedGlobal ((yyvsp[(1) - (1)].cname)); ;}
4904 break;
4905
4906 case 118:
4907
4908 { (yyval.sr) = clabstract_checkGlobal ((yyvsp[(1) - (1)].expr)); ;}
4909 break;
4910
4911 case 119:
4912
4913 { (yyval.typequal) = qual_createUndef (); ;}
4914 break;
4915
4916 case 120:
4917
4918 { (yyval.typequal) = qual_createKilled (); ;}
4919 break;
4920
4921 case 121:
4922
4923 { (yyval.typequal) = qual_createOut (); ;}
4924 break;
4925
4926 case 122:
4927
4928 { (yyval.typequal) = qual_createIn (); ;}
4929 break;
4930
4931 case 123:
4932
4933 { (yyval.typequal) = qual_createPartial (); ;}
4934 break;
4935
4936 case 131:
4937
4938 {
4939 /**!!! deal with fred; fred (int); declarations! **/
4940 qtype qint = qtype_create (ctype_int);
4941 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4942 qtype_free (qint);
4943 ;}
4944 break;
4945
4946 case 132:
4947
4948 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4949 break;
4950
4951 case 133:
4952
4953 { checkDoneParams (); context_enterInnerContext (); ;}
4954 break;
4955
4956 case 134:
4957
4958 {
4959 exprNode_checkFunctionBody ((yyvsp[(3) - (3)].expr)); (yyval.expr) = (yyvsp[(3) - (3)].expr);
4960 context_exitInner ((yyvsp[(3) - (3)].expr));
4961 ;}
4962 break;
4963
4964 case 135:
4965
4966 { context_enterOldStyleScope (); ;}
4967 break;
4968
4969 case 136:
4970
4971 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4972 break;
4973
4974 case 137:
4975
4976 {
4977 exprNode_checkFunctionBody ((yyvsp[(4) - (4)].expr));
4978 (yyval.expr) = (yyvsp[(4) - (4)].expr); /* oldstyle */
4979 context_exitInner ((yyvsp[(4) - (4)].expr));
4980 ;}
4981 break;
4982
4983 case 138:
4984
4985 {
4986 context_setFunctionDefined (exprNode_loc ((yyvsp[(2) - (2)].expr)));
4987 exprNode_checkFunction (context_getHeader (), (yyvsp[(2) - (2)].expr));
4988 /* DRL 8 8 2000 */
4989
4990 context_exitFunction ();
4991 ;}
4992 break;
4993
4994 case 139:
4995
4996 { (yyval.srset) = (yyvsp[(1) - (2)].srset); ;}
4997 break;
4998
4999 case 140:
5000
5001 { (yyval.srset) = sRefSet_new (); ;}
5002 break;
5003
5004 case 141:
5005
5006 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); checkModifiesId ((yyvsp[(1) - (1)].entry)); ;}
5007 break;
5008
5009 case 142:
5010
5011 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5012 break;
5013
5014 case 143:
5015
5016 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5017 break;
5018
5019 case 144:
5020
5021 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (3)].sr), sRef_undefined); ;}
5022 break;
5023
5024 case 145:
5025
5026 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].sr)); ;}
5027 break;
5028
5029 case 146:
5030
5031 { (yyval.sr) = modListPointer ((yyvsp[(2) - (2)].sr)); ;}
5032 break;
5033
5034 case 147:
5035
5036 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5037 break;
5038
5039 case 148:
5040
5041 { (yyval.sr) = modListFieldAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5042 break;
5043
5044 case 149:
5045
5046 { (yyval.sr) = modListArrowAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5047 break;
5048
5049 case 150:
5050
5051 { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
5052 break;
5053
5054 case 151:
5055
5056 { (yyval.sr) = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
5057 break;
5058
5059 case 152:
5060
5061 { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); ;}
5062 break;
5063
5064 case 153:
5065
5066 { (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr)); ;}
5067 break;
5068
5069 case 154:
5070
5071 { (yyval.sr) = checkStateClausesId ((yyvsp[(1) - (1)].entry)); ;}
5072 break;
5073
5074 case 155:
5075
5076 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
5077 break;
5078
5079 case 156:
5080
5081 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
5082 break;
5083
5084 case 157:
5085
5086 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (4)].sr)); ;}
5087 break;
5088
5089 case 158:
5090
5091 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
5092 break;
5093
5094 case 159:
5095
5096 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5097 break;
5098
5099 case 160:
5100
5101 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5102 (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5103 break;
5104
5105 case 161:
5106
5107 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5108 (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5109 break;
5110
5111 case 162:
5112
5113 { DPRINTF ((message("Empty optSpecClauseList") )); (yyval.srset) = sRefSet_undefined ;}
5114 break;
5115
5116 case 164:
5117
5118 { if (sRef_isValid ((yyvsp[(1) - (1)].sr))) { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); }
5119 else {
5120 DPRINTF((message("returning sRefSEt_undefined ") ));
5121 (yyval.srset) = sRefSet_undefined; }
5122 ;}
5123 break;
5124
5125 case 165:
5126
5127 { if (sRef_isValid ((yyvsp[(3) - (3)].sr)))
5128 {
5129 (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr));
5130 }
5131 else
5132 {
5133 (yyval.srset) = (yyvsp[(1) - (3)].srset);
5134 }
5135 ;}
5136 break;
5137
5138 case 166:
5139
5140 { (yyval.expr) = exprNode_fromIdentifier ((yyvsp[(1) - (1)].entry)); ;}
5141 break;
5142
5143 case 167:
5144
5145 { (yyval.expr) = exprNode_fromUIO ((yyvsp[(1) - (1)].cname)); ;}
5146 break;
5147
5148 case 169:
5149
5150 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
5151 break;
5152
5153 case 170:
5154
5155 { (yyval.expr) = exprNode_fromIdentifier (cscannerHelp_coerceId ((yyvsp[(1) - (1)].cname))); ;}
5156 break;
5157
5158 case 171:
5159
5160 { (yyval.expr) = exprNode_makeError (); ;}
5161 break;
5162
5163 case 172:
5164
5165 { exprChecks_inCompoundStatementExpression (); ;}
5166 break;
5167
5168 case 173:
5169
5170 { exprChecks_leaveCompoundStatementExpression (); (yyval.expr) = exprNode_compoundStatementExpression ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].expr)); ;}
5171 break;
5172
5173 case 175:
5174
5175 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
5176 break;
5177
5178 case 176:
5179
5180 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
5181 break;
5182
5183 case 177:
5184
5185 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
5186 break;
5187
5188 case 178:
5189
5190 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
5191 break;
5192
5193 case 179:
5194
5195 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5196 break;
5197
5198 case 180:
5199
5200 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5201 break;
5202
5203 case 181:
5204
5205 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5206 break;
5207
5208 case 182:
5209
5210 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5211 break;
5212
5213 case 183:
5214
5215 { /* added for C99 */ (yyval.expr) = exprNode_undefined; /*@i87 no checking */ ;}
5216 break;
5217
5218 case 184:
5219
5220 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5221 break;
5222
5223 case 185:
5224
5225 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5226 break;
5227
5228 case 187:
5229
5230 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5231 break;
5232
5233 case 188:
5234
5235 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5236 break;
5237
5238 case 189:
5239
5240 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5241 break;
5242
5243 case 190:
5244
5245 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5246 break;
5247
5248 case 191:
5249
5250 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5251 break;
5252
5253 case 192:
5254
5255 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5256 break;
5257
5258 case 193:
5259
5260 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5261 break;
5262
5263 case 194:
5264
5265 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5266 break;
5267
5268 case 195:
5269
5270 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
5271 break;
5272
5273 case 196:
5274
5275 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5276 break;
5277
5278 case 197:
5279
5280 { (yyval.cstringlist) = cstringList_add ((yyvsp[(1) - (3)].cstringlist), (yyvsp[(3) - (3)].cname)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
5281 break;
5282
5283 case 198:
5284
5285 { (yyval.cstringlist) = (yyvsp[(1) - (4)].cstringlist); lltok_free2 ((yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5286 break;
5287
5288 case 199:
5289
5290 { (yyval.cstringlist) = cstringList_single ((yyvsp[(1) - (1)].cname)); ;}
5291 break;
5292
5293 case 200:
5294
5295 { (yyval.expr) = exprNode_offsetof ((yyvsp[(4) - (9)].qtyp), (yyvsp[(7) - (9)].cstringlist));
5296 lltok_free3 ((yyvsp[(1) - (9)].tok), (yyvsp[(3) - (9)].tok), (yyvsp[(6) - (9)].tok)); lltok_free ((yyvsp[(8) - (9)].tok)); ;}
5297 break;
5298
5299 case 201:
5300
5301 { context_setProtectVars (); ;}
5302 break;
5303
5304 case 202:
5305
5306 { context_sizeofReleaseVars (); (yyval.expr) = (yyvsp[(3) - (3)].expr); ;}
5307 break;
5308
5309 case 203:
5310
5311 {context_enterSizeof();}
5312 break;
5313
5314 case 204:
5315
5316 {context_leaveSizeof();}
5317 break;
5318
5319 case 205:
5320
5321 { (yyval.expr) = exprNode_sizeofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5322 break;
5323
5324 case 206:
5325
5326 { (yyval.expr) = exprNode_sizeofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5327 break;
5328
5329 case 207:
5330
5331 { (yyval.expr) = exprNode_alignofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5332 break;
5333
5334 case 208:
5335
5336 { (yyval.expr) = exprNode_alignofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5337 break;
5338
5339 case 210:
5340
5341 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); lltok_free ((yyvsp[(3) - (4)].tok)); ;}
5342 break;
5343
5344 case 212:
5345
5346 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5347 break;
5348
5349 case 213:
5350
5351 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5352 break;
5353
5354 case 214:
5355
5356 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5357 break;
5358
5359 case 216:
5360
5361 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5362 break;
5363
5364 case 217:
5365
5366 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5367 break;
5368
5369 case 219:
5370
5371 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5372 break;
5373
5374 case 220:
5375
5376 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5377 break;
5378
5379 case 222:
5380
5381 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5382 break;
5383
5384 case 223:
5385
5386 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5387 break;
5388
5389 case 224:
5390
5391 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5392 break;
5393
5394 case 225:
5395
5396 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5397 break;
5398
5399 case 227:
5400
5401 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5402 break;
5403
5404 case 228:
5405
5406 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5407 break;
5408
5409 case 230:
5410
5411 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5412 break;
5413
5414 case 232:
5415
5416 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5417 break;
5418
5419 case 234:
5420
5421 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5422 break;
5423
5424 case 236:
5425
5426 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5427 context_enterAndClause ((yyvsp[(1) - (2)].expr));
5428 ;}
5429 break;
5430
5431 case 237:
5432
5433 {
5434 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5435 context_exitAndClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5436 ;}
5437 break;
5438
5439 case 239:
5440
5441 {
5442 exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5443 context_enterOrClause ((yyvsp[(1) - (2)].expr));
5444 ;}
5445 break;
5446
5447 case 240:
5448
5449 {
5450 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5451 context_exitOrClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5452 ;}
5453 break;
5454
5455 case 242:
5456
5457 { /* GCC extension: conditional with empty if */
5458 exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5459 break;
5460
5461 case 243:
5462
5463 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
5464 break;
5465
5466 case 244:
5467
5468 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); context_exitClause ((yyvsp[(1) - (6)].expr), exprNode_undefined, (yyvsp[(6) - (6)].expr)); ;}
5469 break;
5470
5471 case 245:
5472
5473 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5474 break;
5475
5476 case 246:
5477
5478 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
5479 break;
5480
5481 case 247:
5482
5483 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); context_exitClause ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
5484 break;
5485
5486 case 249:
5487
5488 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5489 break;
5490
5491 case 250:
5492
5493 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5494 break;
5495
5496 case 251:
5497
5498 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5499 break;
5500
5501 case 252:
5502
5503 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5504 break;
5505
5506 case 253:
5507
5508 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5509 break;
5510
5511 case 254:
5512
5513 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5514 break;
5515
5516 case 255:
5517
5518 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5519 break;
5520
5521 case 256:
5522
5523 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5524 break;
5525
5526 case 257:
5527
5528 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5529 break;
5530
5531 case 258:
5532
5533 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5534 break;
5535
5536 case 259:
5537
5538 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5539 break;
5540
5541 case 261:
5542
5543 { (yyval.expr) = exprNode_comma ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
5544 break;
5545
5546 case 262:
5547
5548 { (yyval.expr) = exprNode_undefined; ;}
5549 break;
5550
5551 case 265:
5552
5553 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5554 break;
5555
5556 case 266:
5557
5558 { doVaDcl (); (yyval.expr) = exprNode_makeError (); ;}
5559 break;
5560
5561 case 267:
5562
5563 { (yyval.expr) = exprNode_makeError (); ;}
5564 break;
5565
5566 case 268:
5567
5568 { (yyval.expr) = exprNode_makeError (); ;}
5569 break;
5570
5571 case 269:
5572
5573 {
5574 setProcessingVars ((yyvsp[(1) - (4)].qtyp));
5575 processNamedDecl ((yyvsp[(3) - (4)].ntyp));
5576 ;}
5577 break;
5578
5579 case 270:
5580
5581 {
5582 unsetProcessingVars ();
5583 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(3) - (9)].ntyp));
5584 DPRINTF (("Empty initialization: %s", exprNode_unparse ((yyval.expr))));
5585 ;}
5586 break;
5587
5588 case 271:
5589
5590 { setProcessingVars ((yyvsp[(1) - (5)].qtyp)); processNamedDecl ((yyvsp[(3) - (5)].ntyp)); ;}
5591 break;
5592
5593 case 272:
5594
5595 { (yyval.expr) = exprNode_concat ((yyvsp[(9) - (11)].expr), exprNode_makeInitialization ((yyvsp[(3) - (11)].ntyp), (yyvsp[(8) - (11)].expr)));
5596 unsetProcessingVars ();
5597 ;}
5598 break;
5599
5600 case 273:
5601
5602 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5603 break;
5604
5605 case 274:
5606
5607 { (yyval.expr) = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId ((yyvsp[(1) - (1)].ctyp)))); ;}
5608 break;
5609
5610 case 275:
5611
5612 {
5613 processNamedDecl ((yyvsp[(1) - (2)].ntyp));
5614 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(1) - (2)].ntyp));
5615 ;}
5616 break;
5617
5618 case 276:
5619
5620 { processNamedDecl ((yyvsp[(1) - (3)].ntyp)); ;}
5621 break;
5622
5623 case 277:
5624
5625 { (yyval.expr) = exprNode_makeInitialization ((yyvsp[(1) - (6)].ntyp), (yyvsp[(6) - (6)].expr)); ;}
5626 break;
5627
5628 case 278:
5629
5630 { setProcessingTypedef ((yyvsp[(2) - (2)].qtyp)); ;}
5631 break;
5632
5633 case 279:
5634
5635 { clabstract_declareType ((yyvsp[(5) - (8)].exprlist), (yyvsp[(7) - (8)].warnclause)); ;}
5636 break;
5637
5638 case 280:
5639
5640 { /* in the ANSI grammar, semantics unclear */ ;}
5641 break;
5642
5643 case 281:
5644
5645 { /* in the ANSI grammar, semantics unclear */ ;}
5646 break;
5647
5648 case 282:
5649
5650 { cscannerHelp_setExpectingTypeName (); ;}
5651 break;
5652
5653 case 283:
5654
5655 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5656 break;
5657
5658 case 284:
5659
5660 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5661 break;
5662
5663 case 285:
5664
5665 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5666 break;
5667
5668 case 286:
5669
5670 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5671 break;
5672
5673 case 287:
5674
5675 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5676 break;
5677
5678 case 288:
5679
5680 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5681 break;
5682
5683 case 289:
5684
5685 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5686 break;
5687
5688 case 290:
5689
5690 { (yyval.expr) = exprNode_makeError (); ;}
5691 break;
5692
5693 case 291:
5694
5695 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr)); ;}
5696 break;
5697
5698 case 293:
5699
5700 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].exprlist)); lltok_free ((yyvsp[(3) - (3)].tok)); ;}
5701 break;
5702
5703 case 294:
5704
5705 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].exprlist)); lltok_free2 ((yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5706 break;
5707
5708 case 295:
5709
5710 { (yyval.expr) = exprNode_undefined; ;}
5711 break;
5712
5713 case 296:
5714
5715 { (yyval.expr) = (yyvsp[(1) - (2)].expr); ;}
5716 break;
5717
5718 case 297:
5719
5720 { (yyval.expr) = exprNode_undefined;
5721 /* gcc extension, obsolete since 2.5 */ ;}
5722 break;
5723
5724 case 298:
5725
5726 { (yyval.expr) = exprNode_undefined; ;}
5727 break;
5728
5729 case 299:
5730
5731 { (yyval.expr) = exprNode_undefined; ;}
5732 break;
5733
5734 case 300:
5735
5736 { (yyval.expr) = exprNode_undefined; ;}
5737 break;
5738
5739 case 301:
5740
5741 { (yyval.expr) = exprNode_undefined; ;}
5742 break;
5743
5744 case 302:
5745
5746 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5747 break;
5748
5749 case 303:
5750
5751 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5752 break;
5753
5754 case 304:
5755
5756 { setStorageClass (SCEXTERN); (yyval.typequal) = qual_createExtern (); ;}
5757 break;
5758
5759 case 305:
5760
5761 { (yyval.typequal) = qual_createInline (); ;}
5762 break;
5763
5764 case 306:
5765
5766 { setStorageClass (SCSTATIC); (yyval.typequal) = qual_createStatic (); ;}
5767 break;
5768
5769 case 307:
5770
5771 { (yyval.typequal) = qual_createAuto (); ;}
5772 break;
5773
5774 case 308:
5775
5776 { (yyval.typequal) = qual_createRegister (); ;}
5777 break;
5778
5779 case 309:
5780
5781 { (yyval.stateclause) = (yyvsp[(1) - (2)].stateclause); ;}
5782 break;
5783
5784 case 310:
5785
5786 {
5787 context_setProtectVars ();
5788 enterParamsTemp ();
5789 sRef_setGlobalScopeSafe ();
5790 ;}
5791 break;
5792
5793 case 311:
5794
5795 {
5796 exitParamsTemp ();
5797 sRef_clearGlobalScopeSafe ();
5798 context_releaseVars ();
5799 (yyval.stateclause) = stateClause_createPlain ((yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].srset));
5800 ;}
5801 break;
5802
5803 case 312:
5804
5805 { (yyval.funcclause) = (yyvsp[(1) - (2)].funcclause); ;}
5806 break;
5807
5808 case 313:
5809
5810 { (yyval.tok) = (yyvsp[(1) - (2)].tok); context_enterFunctionHeader (); ;}
5811 break;
5812
5813 case 314:
5814
5815 {
5816 context_exitFunctionHeader ();
5817 context_setProtectVars ();
5818 enterParamsTemp ();
5819 sRef_setGlobalScopeSafe ();
5820 ;}
5821 break;
5822
5823 case 315:
5824
5825 {
5826 exitParamsTemp ();
5827 sRef_clearGlobalScopeSafe ();
5828 context_releaseVars ();
5829 (yyval.funcclause) = functionClause_createState (stateClause_create ((yyvsp[(1) - (6)].tok), (yyvsp[(2) - (6)].typequal), (yyvsp[(4) - (6)].srset)));
5830 ;}
5831 break;
5832
5833 case 316:
5834
5835 {
5836 context_setProtectVars ();
5837 enterParamsTemp ();
5838 sRef_setGlobalScopeSafe ();
5839 ;}
5840 break;
5841
5842 case 317:
5843
5844 {
5845 context_exitFunctionHeader ();
5846 exitParamsTemp ();
5847 sRef_clearGlobalScopeSafe ();
5848 context_releaseVars ();
5849 DPRINTF (("done optGlobBufConstraintsAux\n"));
5850
5851 if (lltok_isEnsures ((yyvsp[(1) - (5)].tok)))
5852 {
5853 (yyval.funcclause) = functionClause_createEnsures ((yyvsp[(3) - (5)].fcnconstraint));
5854 }
5855 else if (lltok_isRequires ((yyvsp[(1) - (5)].tok)))
5856 {
5857 (yyval.funcclause) = functionClause_createRequires ((yyvsp[(3) - (5)].fcnconstraint));
5858 }
5859 else
5860 {
5861 BADBRANCH;
5862 }
5863
5864 DPRINTF (("FunctionclauseS: %s", functionClause_unparse ((yyval.funcclause))));
5865 ;}
5866 break;
5867
5868 case 318:
5869
5870 { (yyval.fcnconstraint) = functionConstraint_createBufferConstraint ((yyvsp[(1) - (1)].conL)); ;}
5871 break;
5872
5873 case 319:
5874
5875 { (yyval.fcnconstraint) = functionConstraint_createMetaStateConstraint ((yyvsp[(1) - (1)].msconstraint)); DPRINTF (("Made constraint: %s", functionConstraint_unparse ((yyval.fcnconstraint)))); ;}
5876 break;
5877
5878 case 320:
5879
5880 { (yyval.typequal) = qual_createExits (); ;}
5881 break;
5882
5883 case 321:
5884
5885 { (yyval.typequal) = qual_createMayExit (); ;}
5886 break;
5887
5888 case 322:
5889
5890 { (yyval.typequal) = qual_createTrueExit (); ;}
5891 break;
5892
5893 case 323:
5894
5895 { (yyval.typequal) = qual_createFalseExit (); ;}
5896 break;
5897
5898 case 324:
5899
5900 { (yyval.typequal) = qual_createNeverExit (); ;}
5901 break;
5902
5903 case 325:
5904
5905 { (yyval.typequal) = qual_createChecked (); ;}
5906 break;
5907
5908 case 326:
5909
5910 { (yyval.typequal) = qual_createCheckMod (); ;}
5911 break;
5912
5913 case 327:
5914
5915 { (yyval.typequal) = qual_createUnchecked (); ;}
5916 break;
5917
5918 case 328:
5919
5920 { (yyval.typequal) = qual_createCheckedStrict (); ;}
5921 break;
5922
5923 case 329:
5924
5925 { (yyval.typequal) = qual_createOwned (); ;}
5926 break;
5927
5928 case 330:
5929
5930 { (yyval.typequal) = qual_createDependent (); ;}
5931 break;
5932
5933 case 331:
5934
5935 { (yyval.typequal) = qual_createYield (); ;}
5936 break;
5937
5938 case 332:
5939
5940 { (yyval.typequal) = qual_createTemp (); ;}
5941 break;
5942
5943 case 333:
5944
5945 { (yyval.typequal) = qual_createOnly (); ;}
5946 break;
5947
5948 case 334:
5949
5950 { (yyval.typequal) = qual_createKeep (); ;}
5951 break;
5952
5953 case 335:
5954
5955 { (yyval.typequal) = qual_createKept (); ;}
5956 break;
5957
5958 case 336:
5959
5960 { (yyval.typequal) = qual_createShared (); ;}
5961 break;
5962
5963 case 337:
5964
5965 { (yyval.typequal) = qual_createUnique (); ;}
5966 break;
5967
5968 case 338:
5969
5970 { (yyval.typequal) = qual_createNull (); ;}
5971 break;
5972
5973 case 339:
5974
5975 { (yyval.typequal) = qual_createIsNull (); ;}
5976 break;
5977
5978 case 340:
5979
5980 { (yyval.typequal) = qual_createRelNull (); ;}
5981 break;
5982
5983 case 341:
5984
5985 { (yyval.typequal) = qual_createNotNull (); ;}
5986 break;
5987
5988 case 342:
5989
5990 { (yyval.typequal) = qual_createExposed (); ;}
5991 break;
5992
5993 case 343:
5994
5995 { (yyval.typequal) = qual_createObserver (); ;}
5996 break;
5997
5998 case 344:
5999
6000 { (yyval.typequal) = qual_createNullTerminated (); ;}
6001 break;
6002
6003 case 345:
6004
6005 { (yyval.typequal) = qual_createMetaState ((yyvsp[(1) - (1)].annotation)); ;}
6006 break;
6007
6008 case 346:
6009
6010 { (yyval.typequal) = qual_createReturned (); ;}
6011 break;
6012
6013 case 347:
6014
6015 { (yyval.typequal) = qual_createSef (); ;}
6016 break;
6017
6018 case 348:
6019
6020 { (yyval.typequal) = qual_createUnused (); ;}
6021 break;
6022
6023 case 349:
6024
6025 { (yyval.typequal) = qual_createExternal (); ;}
6026 break;
6027
6028 case 350:
6029
6030 { (yyval.typequal) = qual_createTrueNull (); ;}
6031 break;
6032
6033 case 351:
6034
6035 { (yyval.typequal) = qual_createFalseNull (); ;}
6036 break;
6037
6038 case 352:
6039
6040 { (yyval.typequal) = qual_createAbstract (); ;}
6041 break;
6042
6043 case 353:
6044
6045 { (yyval.typequal) = qual_createNumAbstract (); ;}
6046 break;
6047
6048 case 354:
6049
6050 { (yyval.typequal) = qual_createConcrete (); ;}
6051 break;
6052
6053 case 355:
6054
6055 { (yyval.typequal) = qual_createMutable (); ;}
6056 break;
6057
6058 case 356:
6059
6060 { (yyval.typequal) = qual_createImmutable (); ;}
6061 break;
6062
6063 case 357:
6064
6065 { (yyval.typequal) = qual_createRefCounted (); ;}
6066 break;
6067
6068 case 358:
6069
6070 { (yyval.typequal) = qual_createRefs (); ;}
6071 break;
6072
6073 case 359:
6074
6075 { (yyval.typequal) = qual_createKillRef (); ;}
6076 break;
6077
6078 case 360:
6079
6080 { (yyval.typequal) = qual_createRelDef (); ;}
6081 break;
6082
6083 case 361:
6084
6085 { (yyval.typequal) = qual_createNewRef (); ;}
6086 break;
6087
6088 case 362:
6089
6090 { (yyval.typequal) = qual_createTempRef (); ;}
6091 break;
6092
6093 case 363:
6094
6095 { (yyval.typequal) = qual_createShort (); ;}
6096 break;
6097
6098 case 364:
6099
6100 { (yyval.typequal) = qual_createLong (); ;}
6101 break;
6102
6103 case 365:
6104
6105 { (yyval.typequal) = qual_createSigned (); ;}
6106 break;
6107
6108 case 366:
6109
6110 { (yyval.typequal) = qual_createUnsigned (); ;}
6111 break;
6112
6113 case 367:
6114
6115 { (yyval.typequal) = qual_createOut (); ;}
6116 break;
6117
6118 case 368:
6119
6120 { (yyval.typequal) = qual_createIn (); ;}
6121 break;
6122
6123 case 369:
6124
6125 { (yyval.typequal) = qual_createPartial (); ;}
6126 break;
6127
6128 case 370:
6129
6130 { (yyval.typequal) = qual_createSpecial (); ;}
6131 break;
6132
6133 case 371:
6134
6135 { (yyval.typequal) = qual_createConst (); ;}
6136 break;
6137
6138 case 372:
6139
6140 { (yyval.typequal) = qual_createVolatile (); ;}
6141 break;
6142
6143 case 373:
6144
6145 { (yyval.typequal) = qual_createRestrict (); ;}
6146 break;
6147
6148 case 374:
6149
6150 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6151 break;
6152
6153 case 375:
6154
6155 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6156 break;
6157
6158 case 376:
6159
6160 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6161 break;
6162
6163 case 377:
6164
6165 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6166 break;
6167
6168 case 378:
6169
6170 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6171 break;
6172
6173 case 379:
6174
6175 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6176 break;
6177
6178 case 380:
6179
6180 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6181 break;
6182
6183 case 381:
6184
6185 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6186 break;
6187
6188 case 382:
6189
6190 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6191 break;
6192
6193 case 389:
6194
6195 { (yyval.ctyp) = ctype_makeAnytype (); ;}
6196 break;
6197
6198 case 390:
6199
6200 { (yyval.ctyp) = ctype_anyintegral; ;}
6201 break;
6202
6203 case 391:
6204
6205 { (yyval.ctyp) = ctype_unsignedintegral; ;}
6206 break;
6207
6208 case 392:
6209
6210 { (yyval.ctyp) = ctype_signedintegral; ;}
6211 break;
6212
6213 case 396:
6214
6215 { (yyval.ctyp) = ctype_fromQual ((yyvsp[(1) - (2)].typequal)); ;}
6216 break;
6217
6218 case 397:
6219
6220 { (yyval.qtyp) = qtype_resolve ((yyvsp[(2) - (3)].qtyp)); ;}
6221 break;
6222
6223 case 398:
6224
6225 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6226 break;
6227
6228 case 399:
6229
6230 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (4)].qtyp), (yyvsp[(3) - (4)].qtyp)); ;}
6231 break;
6232
6233 case 401:
6234
6235 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (3)].qtyp), (yyvsp[(3) - (3)].qtyp)); ;}
6236 break;
6237
6238 case 402:
6239
6240 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6241 break;
6242
6243 case 403:
6244
6245 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6246 break;
6247
6248 case 404:
6249
6250 { (yyval.qtyp) = qtype_combine ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].ctyp)); ;}
6251 break;
6252
6253 case 405:
6254
6255 { (yyval.qtyp) = qtype_unknown (); ;}
6256 break;
6257
6258 case 406:
6259
6260 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6261 break;
6262
6263 case 407:
6264
6265 { (yyval.conL) = constraintList_undefined; ;}
6266 break;
6267
6268 case 408:
6269
6270 { sRef_setGlobalScopeSafe (); ;}
6271 break;
6272
6273 case 409:
6274
6275 { sRef_clearGlobalScopeSafe (); ;}
6276 break;
6277
6278 case 410:
6279
6280 { ctype ct; ct = declareStruct ((yyvsp[(3) - (12)].cname), (yyvsp[(8) - (12)].flist)); /* context_setGlobalStructInfo(ct, $12); */ (yyval.ctyp) = ct; ;}
6281 break;
6282
6283 case 411:
6284
6285 { sRef_setGlobalScopeSafe (); ;}
6286 break;
6287
6288 case 412:
6289
6290 { sRef_clearGlobalScopeSafe (); ;}
6291 break;
6292
6293 case 413:
6294
6295 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (11)].cname), (yyvsp[(8) - (11)].flist)); ;}
6296 break;
6297
6298 case 414:
6299
6300 { (yyval.ctyp) = declareStruct ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6301 break;
6302
6303 case 415:
6304
6305 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6306 break;
6307
6308 case 416:
6309
6310 { sRef_setGlobalScopeSafe (); ;}
6311 break;
6312
6313 case 417:
6314
6315 { sRef_clearGlobalScopeSafe (); ;}
6316 break;
6317
6318 case 418:
6319
6320 { (yyval.ctyp) = declareUnnamedStruct ((yyvsp[(7) - (10)].flist)); ;}
6321 break;
6322
6323 case 419:
6324
6325 { sRef_setGlobalScopeSafe (); ;}
6326 break;
6327
6328 case 420:
6329
6330 { sRef_clearGlobalScopeSafe (); ;}
6331 break;
6332
6333 case 421:
6334
6335 { (yyval.ctyp) = declareUnnamedUnion ((yyvsp[(7) - (10)].flist)); ;}
6336 break;
6337
6338 case 422:
6339
6340 { (yyval.ctyp) = ctype_createUnnamedStruct (uentryList_new ()); ;}
6341 break;
6342
6343 case 423:
6344
6345 { (yyval.ctyp) = ctype_createUnnamedUnion (uentryList_new ()); ;}
6346 break;
6347
6348 case 424:
6349
6350 { (yyval.ctyp) = handleStruct ((yyvsp[(3) - (4)].cname)); ;}
6351 break;
6352
6353 case 425:
6354
6355 { (yyval.ctyp) = handleUnion ((yyvsp[(3) - (4)].cname)); ;}
6356 break;
6357
6358 case 426:
6359
6360 { cscannerHelp_clearExpectingTypeName (); ;}
6361 break;
6362
6363 case 428:
6364
6365 { (yyval.flist) = uentryList_undefined; /* bogus! */ ;}
6366 break;
6367
6368 case 429:
6369
6370 { (yyval.flist) = uentryList_mergeFields ((yyvsp[(1) - (2)].flist), (yyvsp[(2) - (2)].flist)); ;}
6371 break;
6372
6373 case 430:
6374
6375 { (yyval.flist) = fixUentryList ((yyvsp[(3) - (5)].ntyplist), (yyvsp[(1) - (5)].qtyp)); ;}
6376 break;
6377
6378 case 431:
6379
6380 { (yyval.flist) = fixUnnamedDecl ((yyvsp[(1) - (3)].qtyp)); ;}
6381 break;
6382
6383 case 432:
6384
6385 { (yyval.ntyplist) = idDeclList_singleton ((yyvsp[(1) - (2)].ntyp)); ;}
6386 break;
6387
6388 case 433:
6389
6390 { (yyval.ntyplist) = idDeclList_add ((yyvsp[(1) - (4)].ntyplist), (yyvsp[(3) - (4)].ntyp)); ;}
6391 break;
6392
6393 case 434:
6394
6395 { (yyval.ntyp) = (yyvsp[(1) - (1)].ntyp); ;}
6396 break;
6397
6398 case 435:
6399
6400 { (yyval.ntyp) = idDecl_undefined; ;}
6401 break;
6402
6403 case 436:
6404
6405 { (yyval.ntyp) = (yyvsp[(1) - (4)].ntyp); ;}
6406 break;
6407
6408 case 437:
6409
6410 { (yyval.ctyp) = declareUnnamedEnum ((yyvsp[(4) - (6)].enumnamelist)); ;}
6411 break;
6412
6413 case 438:
6414
6415 { context_pushLoc (); ;}
6416 break;
6417
6418 case 439:
6419
6420 { context_popLoc (); (yyval.ctyp) = declareEnum ((yyvsp[(3) - (8)].cname), (yyvsp[(6) - (8)].enumnamelist)); ;}
6421 break;
6422
6423 case 440:
6424
6425 { (yyval.ctyp) = handleEnum ((yyvsp[(3) - (4)].cname)); ;}
6426 break;
6427
6428 case 441:
6429
6430 { (yyval.enumnamelist) = enumNameList_single ((yyvsp[(1) - (1)].cname)); ;}
6431 break;
6432
6433 case 442:
6434
6435 { (yyval.enumnamelist) = enumNameList_push ((yyvsp[(1) - (3)].enumnamelist), (yyvsp[(3) - (3)].cname)); ;}
6436 break;
6437
6438 case 444:
6439
6440 { uentry ue = uentry_makeEnumConstant ((yyvsp[(1) - (1)].cname), ctype_unknown);
6441 usymtab_supGlobalEntry (ue);
6442 (yyval.cname) = (yyvsp[(1) - (1)].cname);
6443 ;}
6444 break;
6445
6446 case 445:
6447
6448 { uentry ue = uentry_makeEnumInitializedConstant ((yyvsp[(1) - (4)].cname), ctype_unknown, (yyvsp[(4) - (4)].expr));
6449 usymtab_supGlobalEntry (ue);
6450 (yyval.cname) = (yyvsp[(1) - (4)].cname);
6451 ;}
6452 break;
6453
6454 case 447:
6455
6456 { (yyval.ntyp) = idDecl_create (cstring_undefined, qtype_create ((yyvsp[(1) - (1)].ctyp))); ;}
6457 break;
6458
6459 case 448:
6460
6461 {
6462 qtype qt = qtype_unknown ();
6463 qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), qt);
6464 (yyval.ntyp) = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
6465 ;}
6466 break;
6467
6468 case 449:
6469
6470 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6471 break;
6472
6473 case 451:
6474
6475 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6476 break;
6477
6478 case 452:
6479
6480 { (yyval.entrylist) = handleParamTypeList ((yyvsp[(1) - (1)].entrylist)); ;}
6481 break;
6482
6483 case 453:
6484
6485 { (yyval.entrylist) = handleParamIdList ((yyvsp[(2) - (2)].entrylist)); ;}
6486 break;
6487
6488 case 454:
6489
6490 { (yyval.typequal) = qual_createConst (); ;}
6491 break;
6492
6493 case 455:
6494
6495 { (yyval.typequal) = qual_createRestrict (); ;}
6496 break;
6497
6498 case 456:
6499
6500 { (yyval.typequal) = qual_createVolatile (); ;}
6501 break;
6502
6503 case 457:
6504
6505 { (yyval.tquallist) = qualList_single ((yyvsp[(1) - (1)].typequal)); ;}
6506 break;
6507
6508 case 458:
6509
6510 { (yyval.tquallist) = qualList_add ((yyvsp[(1) - (2)].tquallist), (yyvsp[(2) - (2)].typequal)); ;}
6511 break;
6512
6513 case 459:
6514
6515 { (yyval.pointers) = pointers_create ((yyvsp[(1) - (1)].tok)); ;}
6516 break;
6517
6518 case 460:
6519
6520 { (yyval.pointers) = pointers_createMods ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tquallist)); ;}
6521 break;
6522
6523 case 461:
6524
6525 { (yyval.pointers) = pointers_extend (pointers_create ((yyvsp[(1) - (2)].tok)), (yyvsp[(2) - (2)].pointers)); ;}
6526 break;
6527
6528 case 462:
6529
6530 { (yyval.pointers) = pointers_extend (pointers_createMods ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].tquallist)), (yyvsp[(3) - (3)].pointers)); ;}
6531 break;
6532
6533 case 464:
6534
6535 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6536 break;
6537
6538 case 465:
6539
6540 { (yyval.entrylist) = uentryList_single (uentry_makeVariableLoc ((yyvsp[(1) - (1)].cname), ctype_int)); ;}
6541 break;
6542
6543 case 466:
6544
6545 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeVariableLoc ((yyvsp[(3) - (3)].cname), ctype_int)); ;}
6546 break;
6547
6548 case 467:
6549
6550 { (yyval.entrylist) = uentryList_single (uentry_makeElipsisMarker ()); ;}
6551 break;
6552
6553 case 469:
6554
6555 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6556 break;
6557
6558 case 470:
6559
6560 { storeLoc (); ;}
6561 break;
6562
6563 case 471:
6564
6565 { (yyval.entrylist) = uentryList_single ((yyvsp[(2) - (2)].oentry)); ;}
6566 break;
6567
6568 case 472:
6569
6570 { storeLoc (); ;}
6571 break;
6572
6573 case 473:
6574
6575 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (4)].entrylist), (yyvsp[(4) - (4)].oentry)); ;}
6576 break;
6577
6578 case 474:
6579
6580 {
6581 if (isFlipOldStyle ())
6582 {
6583 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
6584 }
6585 else
6586 {
6587 setNewStyle ();
6588 }
6589 (yyval.oentry) = makeCurrentParam (idDecl_fixParamBase ((yyvsp[(3) - (4)].ntyp), (yyvsp[(2) - (4)].qtyp)));
6590 ;}
6591 break;
6592
6593 case 475:
6594
6595 {
6596 idDecl tparam = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ());
6597
6598 if (isNewStyle ())
6599 {
6600 llparseerror (message ("Inconsistent function parameter syntax: %q",
6601 idDecl_unparse (tparam)));
6602 }
6603
6604 setFlipOldStyle ();
6605 (yyval.oentry) = makeCurrentParam (tparam);
6606 idDecl_free (tparam);
6607 ;}
6608 break;
6609
6610 case 477:
6611
6612 { (yyval.qtyp) = qtype_newBase ((yyvsp[(1) - (2)].qtyp), (yyvsp[(2) - (2)].ctyp)); ;}
6613 break;
6614
6615 case 478:
6616
6617 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (1)].pointers), ctype_unknown); ;}
6618 break;
6619
6620 case 480:
6621
6622 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (2)].pointers), (yyvsp[(2) - (2)].ctyp)); ;}
6623 break;
6624
6625 case 481:
6626
6627 { (yyval.ctyp) = ctype_unknown; ;}
6628 break;
6629
6630 case 483:
6631
6632 { (yyval.ctyp) = ctype_expectFunction ((yyvsp[(4) - (5)].ctyp)); ;}
6633 break;
6634
6635 case 484:
6636
6637 { (yyval.ctyp) = ctype_makeArray (ctype_unknown); ;}
6638 break;
6639
6640 case 485:
6641
6642 { (yyval.ctyp) = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ((yyvsp[(2) - (3)].expr))); ;}
6643 break;
6644
6645 case 486:
6646
6647 { (yyval.ctyp) = ctype_makeInnerArray ((yyvsp[(1) - (3)].ctyp)); ;}
6648 break;
6649
6650 case 487:
6651
6652 { (yyval.ctyp) = ctype_makeInnerFixedArray ((yyvsp[(1) - (4)].ctyp), exprNode_getLongValue ((yyvsp[(3) - (4)].expr))); ;}
6653 break;
6654
6655 case 488:
6656
6657 { (yyval.ctyp) = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6658 break;
6659
6660 case 489:
6661
6662 { (yyval.ctyp) = ctype_makeParamsFunction (ctype_unknown, (yyvsp[(3) - (4)].entrylist)); ;}
6663 break;
6664
6665 case 490:
6666
6667 { (yyval.ctyp) = ctype_makeFunction ((yyvsp[(1) - (4)].ctyp), uentryList_makeMissingParams ()); ;}
6668 break;
6669
6670 case 491:
6671
6672 { (yyval.ctyp) = ctype_makeParamsFunction ((yyvsp[(1) - (5)].ctyp), (yyvsp[(4) - (5)].entrylist)); ;}
6673 break;
6674
6675 case 502:
6676
6677 { exprNode_revealState ((yyvsp[(3) - (4)].expr)); (yyval.expr) = exprNode_undefined; ;}
6678 break;
6679
6680 case 503:
6681
6682 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6683 break;
6684
6685 case 506:
6686
6687 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6688 break;
6689
6690 case 507:
6691
6692 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6693 break;
6694
6695 case 508:
6696
6697 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)); ;}
6698 break;
6699
6700 case 509:
6701
6702 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
6703 break;
6704
6705 case 510:
6706
6707 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6708 break;
6709
6710 case 511:
6711
6712 { context_setProtectVars (); ;}
6713 break;
6714
6715 case 512:
6716
6717 { context_sizeofReleaseVars (); ;}
6718 break;
6719
6720 case 513:
6721
6722 { (yyval.expr) = exprNode_forPred ((yyvsp[(3) - (10)].expr), (yyvsp[(5) - (10)].expr), (yyvsp[(8) - (10)].expr));
6723 context_enterForClause ((yyvsp[(5) - (10)].expr)); ;}
6724 break;
6725
6726 case 514:
6727
6728 { setProcessingIterVars ((yyvsp[(1) - (3)].entry)); ;}
6729 break;
6730
6731 case 515:
6732
6733 { (yyval.expr) = exprNode_iterStart ((yyvsp[(1) - (6)].entry), (yyvsp[(5) - (6)].exprlist)); ;}
6734 break;
6735
6736 case 516:
6737
6738 { (yyval.expr) = exprNode_createId ((yyvsp[(1) - (1)].entry)); ;}
6739 break;
6740
6741 case 520:
6742
6743 { (yyval.expr) = (yyvsp[(1) - (2)].expr); DPRINTF (("def stmt: %s", exprNode_unparse ((yyval.expr)))); ;}
6744 break;
6745
6746 case 528:
6747
6748 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6749 break;
6750
6751 case 529:
6752
6753 { (yyval.expr) = exprNode_makeError (); ;}
6754 break;
6755
6756 case 530:
6757
6758 { exprNode_checkIfPred ((yyvsp[(1) - (1)].expr)); ;}
6759 break;
6760
6761 case 531:
6762
6763 { /* don't: context_exitTrueClause ($1, $2); */
6764 (yyval.expr) = exprNode_if ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
6765 ;}
6766 break;
6767
6768 case 532:
6769
6770 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6771 break;
6772
6773 case 533:
6774
6775 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6776 break;
6777
6778 case 544:
6779
6780 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
6781 break;
6782
6783 case 547:
6784
6785 { (yyval.expr) = exprNode_makeError (); ;}
6786 break;
6787
6788 case 548:
6789
6790 { (yyval.expr) = exprNode_labelMarker ((yyvsp[(1) - (2)].cname)); ;}
6791 break;
6792
6793 case 549:
6794
6795 { (yyval.expr) = exprNode_notReached ((yyvsp[(2) - (2)].expr)); ;}
6796 break;
6797
6798 case 550:
6799
6800 { ; ;}
6801 break;
6802
6803 case 551:
6804
6805 { ; ;}
6806 break;
6807
6808 case 552:
6809
6810 { context_enterCaseClause ((yyvsp[(2) - (2)].expr)); ;}
6811 break;
6812
6813 case 553:
6814
6815 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(2) - (4)].expr), FALSE); ;}
6816 break;
6817
6818 case 554:
6819
6820 { context_enterCaseClause ((yyvsp[(4) - (4)].expr)); ;}
6821 break;
6822
6823 case 555:
6824
6825 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(4) - (6)].expr), TRUE); ;}
6826 break;
6827
6828 case 556:
6829
6830 { context_enterCaseClause (exprNode_undefined); ;}
6831 break;
6832
6833 case 557:
6834
6835 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(1) - (3)].tok), FALSE); ;}
6836 break;
6837
6838 case 558:
6839
6840 { context_enterCaseClause (exprNode_undefined); ;}
6841 break;
6842
6843 case 559:
6844
6845 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(3) - (5)].tok), TRUE); ;}
6846 break;
6847
6848 case 560:
6849
6850 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6851 break;
6852
6853 case 561:
6854
6855 { (yyval.expr) = (yyvsp[(2) - (2)].expr); context_exitInner ((yyvsp[(2) - (2)].expr)); ;}
6856 break;
6857
6858 case 562:
6859
6860 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6861 break;
6862
6863 case 563:
6864
6865 { context_enterInnerContext (); ;}
6866 break;
6867
6868 case 564:
6869
6870 { context_exitInnerPlain (); ;}
6871 break;
6872
6873 case 565:
6874
6875 { context_enterStructInnerContext (); ;}
6876 break;
6877
6878 case 566:
6879
6880 { context_exitStructInnerContext (); ;}
6881 break;
6882
6883 case 567:
6884
6885 { context_exitInnerSafe (); ;}
6886 break;
6887
6888 case 568:
6889
6890 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
6891 break;
6892
6893 case 569:
6894
6895 { (yyval.expr) = exprNode_notReached (exprNode_createTok ((yyvsp[(2) - (2)].tok))); ;}
6896 break;
6897
6898 case 570:
6899
6900 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6901 break;
6902
6903 case 571:
6904
6905 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6906 break;
6907
6908 case 572:
6909
6910 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6911 break;
6912
6913 case 573:
6914
6915 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6916 break;
6917
6918 case 574:
6919
6920 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].expr)), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6921 break;
6922
6923 case 575:
6924
6925 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(2) - (4)].expr)),
6926 lltok_getLoc ((yyvsp[(3) - (4)].tok))));
6927 ;}
6928 break;
6929
6930 case 576:
6931
6932 { (yyval.expr) = exprNode_makeBlock ((yyvsp[(2) - (2)].expr)); ;}
6933 break;
6934
6935 case 577:
6936
6937 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6938 break;
6939
6940 case 578:
6941
6942 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6943 break;
6944
6945 case 579:
6946
6947 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6948 break;
6949
6950 case 580:
6951
6952 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)), lltok_getLoc ((yyvsp[(4) - (4)].tok))); ;}
6953 break;
6954
6955 case 582:
6956
6957 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6958 break;
6959
6960 case 583:
6961
6962 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6963 break;
6964
6965 case 584:
6966
6967 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6968 break;
6969
6970 case 585:
6971
6972 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6973 break;
6974
6975 case 586:
6976
6977 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
6978 break;
6979
6980 case 587:
6981
6982 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6983 break;
6984
6985 case 588:
6986
6987 { (yyval.expr) = (yyvsp[(2) - (4)].expr); ;}
6988 break;
6989
6990 case 589:
6991
6992 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6993 break;
6994
6995 case 590:
6996
6997 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6998 break;
6999
7000 case 591:
7001
7002 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7003 break;
7004
7005 case 592:
7006
7007 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7008 break;
7009
7010 case 593:
7011
7012 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7013 break;
7014
7015 case 594:
7016
7017 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7018 break;
7019
7020 case 595:
7021
7022 { (yyval.expr) = exprNode_checkExpr ((yyvsp[(1) - (1)].expr)); ;}
7023 break;
7024
7025 case 596:
7026
7027 {
7028 exprNode_produceGuards ((yyvsp[(3) - (4)].expr)); context_enterTrueClause ((yyvsp[(3) - (4)].expr));
7029 exprNode_checkIfPred ((yyvsp[(3) - (4)].expr));
7030 (yyval.expr) = (yyvsp[(3) - (4)].expr);
7031 ;}
7032 break;
7033
7034 case 597:
7035
7036 {
7037 context_exitTrueClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7038 (yyval.expr) = exprNode_if ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7039 ;}
7040 break;
7041
7042 case 598:
7043
7044 { context_enterFalseClause ((yyvsp[(1) - (3)].expr)); ;}
7045 break;
7046
7047 case 599:
7048
7049 {
7050 context_exitClause ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7051 (yyval.expr) = exprNode_ifelse ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7052 ;}
7053 break;
7054
7055 case 600:
7056
7057 { context_enterSwitch ((yyvsp[(3) - (3)].expr)); ;}
7058 break;
7059
7060 case 601:
7061
7062 { (yyval.expr) = exprNode_switch ((yyvsp[(3) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7063 break;
7064
7065 case 602:
7066
7067 { (yyval.expr) = exprNode_whilePred ((yyvsp[(3) - (4)].expr)); context_enterWhileClause ((yyvsp[(3) - (4)].expr)); ;}
7068 break;
7069
7070 case 603:
7071
7072 { (yyval.expr) = exprNode_whilePred((yyvsp[(3) - (4)].expr)); ;}
7073 break;
7074
7075 case 604:
7076
7077 { context_enterIterClause (); ;}
7078 break;
7079
7080 case 605:
7081
7082 { setProcessingIterVars ((yyvsp[(1) - (4)].entry)); ;}
7083 break;
7084
7085 case 606:
7086
7087 {
7088 (yyval.expr) = exprNode_iter ((yyvsp[(1) - (10)].entry), (yyvsp[(6) - (10)].exprlist), (yyvsp[(8) - (10)].expr), (yyvsp[(9) - (10)].entry));
7089
7090 ;}
7091 break;
7092
7093 case 607:
7094
7095 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
7096 break;
7097
7098 case 608:
7099
7100 { nextIterParam (); ;}
7101 break;
7102
7103 case 609:
7104
7105 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
7106 break;
7107
7108 case 610:
7109
7110 { (yyval.expr) = exprNode_iterExpr ((yyvsp[(1) - (1)].expr)); ;}
7111 break;
7112
7113 case 611:
7114
7115 { (yyval.expr) = exprNode_iterId ((yyvsp[(1) - (1)].entry)); ;}
7116 break;
7117
7118 case 612:
7119
7120 { uentry ue = cscannerHelp_coerceIterId ((yyvsp[(1) - (1)].cname));
7121
7122 if (uentry_isValid (ue))
7123 {
7124 (yyval.expr) = exprNode_iterId (ue);
7125 }
7126 else
7127 {
7128 (yyval.expr) = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
7129 }
7130 ;}
7131 break;
7132
7133 case 613:
7134
7135 { (yyval.expr) = exprNode_iterNewId ((yyvsp[(1) - (1)].cname)); ;}
7136 break;
7137
7138 case 615:
7139
7140 { (yyval.expr) = exprNode_combineLiterals ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7141 break;
7142
7143 case 617:
7144
7145 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
7146 break;
7147
7148 case 619:
7149
7150 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
7151 break;
7152
7153 case 620:
7154
7155 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
7156 break;
7157
7158 case 621:
7159
7160 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
7161 break;
7162
7163 case 622:
7164
7165 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
7166 break;
7167
7168 case 623:
7169
7170 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7171 break;
7172
7173 case 624:
7174
7175 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7176 break;
7177
7178 case 625:
7179
7180 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7181 break;
7182
7183 case 626:
7184
7185 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7186 break;
7187
7188 case 628:
7189
7190 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7191 break;
7192
7193 case 629:
7194
7195 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7196 break;
7197
7198 case 630:
7199
7200 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7201 break;
7202
7203 case 631:
7204
7205 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7206 break;
7207
7208 case 632:
7209
7210 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7211 break;
7212
7213 case 633:
7214
7215 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7216 break;
7217
7218 case 634:
7219
7220 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7221 break;
7222
7223 case 635:
7224
7225 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7226 break;
7227
7228 case 636:
7229
7230 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
7231 break;
7232
7233 case 638:
7234
7235 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); ;}
7236 break;
7237
7238 case 640:
7239
7240 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7241 break;
7242
7243 case 641:
7244
7245 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7246 break;
7247
7248 case 642:
7249
7250 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7251 break;
7252
7253 case 644:
7254
7255 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7256 break;
7257
7258 case 645:
7259
7260 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7261 break;
7262
7263 case 647:
7264
7265 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7266 break;
7267
7268 case 648:
7269
7270 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7271 break;
7272
7273 case 650:
7274
7275 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7276 break;
7277
7278 case 651:
7279
7280 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7281 break;
7282
7283 case 652:
7284
7285 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7286 break;
7287
7288 case 653:
7289
7290 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7291 break;
7292
7293 case 655:
7294
7295 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7296 break;
7297
7298 case 656:
7299
7300 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7301 break;
7302
7303 case 658:
7304
7305 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7306 break;
7307
7308 case 660:
7309
7310 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7311 break;
7312
7313 case 662:
7314
7315 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7316 break;
7317
7318 case 664:
7319
7320 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7321 break;
7322
7323 case 666:
7324
7325 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7326 break;
7327
7328 case 668:
7329
7330 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7331 break;
7332
7333 case 669:
7334
7335 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
7336 break;
7337
7338 case 670:
7339
7340 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7341 break;
7342
7343 case 671:
7344
7345 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7346 break;
7347
7348 case 672:
7349
7350 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
7351 break;
7352
7353 case 673:
7354
7355 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
7356 break;
7357
7358 case 675:
7359
7360 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7361 break;
7362
7363 case 676:
7364
7365 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7366 break;
7367
7368 case 677:
7369
7370 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7371 break;
7372
7373 case 678:
7374
7375 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7376 break;
7377
7378 case 679:
7379
7380 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7381 break;
7382
7383 case 680:
7384
7385 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7386 break;
7387
7388 case 681:
7389
7390 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7391 break;
7392
7393 case 682:
7394
7395 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7396 break;
7397
7398 case 683:
8f58355a 7399
08cf8642 7400 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7401 break;
d0b80d80 7402
08cf8642 7403 case 684:
d0b80d80 7404
08cf8642 7405 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7406 break;
d0b80d80 7407
08cf8642 7408 case 685:
d0b80d80 7409
08cf8642 7410 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7411 break;
4287634e 7412
08cf8642 7413 case 686:
4287634e 7414
08cf8642 7415 { (yyval.entry) = (yyvsp[(1) - (1)].entry); ;}
7416 break;
d0b80d80 7417
08cf8642 7418 case 687:
4287634e 7419
08cf8642 7420 { (yyval.entry) = uentry_undefined; ;}
7421 break;
4287634e 7422
08cf8642 7423 case 688:
4287634e 7424
08cf8642 7425 { context_enterDoWhileClause (); (yyval.tok) = (yyvsp[(1) - (1)].tok); ;}
7426 break;
4287634e 7427
08cf8642 7428 case 689:
d0b80d80 7429
08cf8642 7430 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7431 break;
d0b80d80 7432
08cf8642 7433 case 690:
d0b80d80 7434
08cf8642 7435 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7436 break;
d0b80d80 7437
08cf8642 7438 case 691:
8f58355a 7439
08cf8642 7440 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7441 break;
8f58355a 7442
08cf8642 7443 case 692:
d0b80d80 7444
08cf8642 7445 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7446 break;
8f58355a 7447
08cf8642 7448 case 693:
d0b80d80 7449
08cf8642 7450 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7451 break;
d0b80d80 7452
08cf8642 7453 case 694:
7454
7455 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
7456 break;
7457
7458 case 695:
7459
7460 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7461 break;
7462
7463 case 696:
7464
7465 { (yyval.expr) = exprNode_goto ((yyvsp[(2) - (3)].cname)); ;}
7466 break;
7467
7468 case 697:
7469
7470 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7471 break;
7472
7473 case 698:
7474
7475 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (3)].tok), QINNERCONTINUE); ;}
7476 break;
7477
7478 case 699:
7479
7480 { (yyval.expr) = exprNode_break ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7481 break;
7482
7483 case 700:
7484
7485 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSWITCHBREAK); ;}
7486 break;
7487
7488 case 701:
7489
7490 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QLOOPBREAK); ;}
7491 break;
7492
7493 case 702:
7494
7495 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QINNERBREAK); ;}
7496 break;
7497
7498 case 703:
7499
7500 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSAFEBREAK); ;}
7501 break;
7502
7503 case 704:
7504
7505 { (yyval.expr) = exprNode_nullReturn ((yyvsp[(1) - (2)].tok)); ;}
7506 break;
7507
7508 case 705:
7509
7510 { (yyval.expr) = exprNode_return ((yyvsp[(2) - (3)].expr)); ;}
7511 break;
7512
7513 case 707:
7514
7515 { ; ;}
7516 break;
7517
7518 case 709:
7519
7520 { ; ;}
7521 break;
7522
7523 case 712:
7524
7525 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7526 break;
7527
7528 case 713:
7529
7530 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7531 break;
7532
7533 case 714:
7534
7535 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7536 break;
7537
7538 case 715:
7539
7540 { (yyval.cname) = (yyvsp[(1) - (1)].cname); ;}
7541 break;
7542
7543 case 717:
7544
7545 { (yyval.ctyp) = ctype_unknown; ;}
7546 break;
7547
7548 case 718:
7549
7550 { (yyval.ctyp) = exprNode_getType ((yyvsp[(3) - (4)].expr)); exprNode_free ((yyvsp[(3) - (4)].expr)); ;}
7551 break;
7552
7553 case 719:
7554
7555 { (yyval.ctyp) = qtype_getType ((yyvsp[(3) - (4)].qtyp)); ;}
7556 break;
7557
7558
7559/* Line 1267 of yacc.c. */
7560
7561 default: break;
368f75ae 7562 }
08cf8642 7563 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7564
7565 YYPOPSTACK (yylen);
7566 yylen = 0;
7567 YY_STACK_PRINT (yyss, yyssp);
d0b80d80 7568
7569 *++yyvsp = yyval;
08cf8642 7570
d0b80d80 7571
7572 /* Now `shift' the result of the reduction. Determine what state
7573 that goes to, based on the state we popped back to and the rule
7574 number reduced by. */
7575
7576 yyn = yyr1[yyn];
7577
08cf8642 7578 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7579 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
d0b80d80 7580 yystate = yytable[yystate];
7581 else
08cf8642 7582 yystate = yydefgoto[yyn - YYNTOKENS];
d0b80d80 7583
7584 goto yynewstate;
7585
7586
7587/*------------------------------------.
7588| yyerrlab -- here on detecting error |
7589`------------------------------------*/
7590yyerrlab:
7591 /* If not already recovering from an error, report this error. */
7592 if (!yyerrstatus)
7593 {
7594 ++yynerrs;
08cf8642 7595#if ! YYERROR_VERBOSE
7596 yyerror (YY_("syntax error"));
7597#else
7598 {
7599 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7600 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7601 {
7602 YYSIZE_T yyalloc = 2 * yysize;
7603 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7604 yyalloc = YYSTACK_ALLOC_MAXIMUM;
7605 if (yymsg != yymsgbuf)
d0b80d80 7606 YYSTACK_FREE (yymsg);
08cf8642 7607 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7608 if (yymsg)
7609 yymsg_alloc = yyalloc;
7610 else
7611 {
7612 yymsg = yymsgbuf;
7613 yymsg_alloc = sizeof yymsgbuf;
7614 }
7615 }
7616
7617 if (0 < yysize && yysize <= yymsg_alloc)
7618 {
7619 (void) yysyntax_error (yymsg, yystate, yychar);
7620 yyerror (yymsg);
7621 }
7622 else
7623 {
7624 yyerror (YY_("syntax error"));
7625 if (yysize != 0)
7626 goto yyexhaustedlab;
7627 }
7628 }
7629#endif
d0b80d80 7630 }
d0b80d80 7631
7632
08cf8642 7633
d0b80d80 7634 if (yyerrstatus == 3)
7635 {
08cf8642 7636 /* If just tried and failed to reuse look-ahead token after an
d0b80d80 7637 error, discard it. */
7638
08cf8642 7639 if (yychar <= YYEOF)
7640 {
7641 /* Return failure if at end of input. */
7642 if (yychar == YYEOF)
7643 YYABORT;
7644 }
7645 else
7646 {
7647 yydestruct ("Error: discarding",
7648 yytoken, &yylval);
7649 yychar = YYEMPTY;
7650 }
d0b80d80 7651 }
7652
08cf8642 7653 /* Else will try to reuse look-ahead token after shifting the error
d0b80d80 7654 token. */
08cf8642 7655 goto yyerrlab1;
d0b80d80 7656
368f75ae 7657
08cf8642 7658/*---------------------------------------------------.
7659| yyerrorlab -- error raised explicitly by YYERROR. |
7660`---------------------------------------------------*/
7661yyerrorlab:
368f75ae 7662
08cf8642 7663 /* Pacify compilers like GCC when the user code never invokes
7664 YYERROR and the label yyerrorlab therefore never appears in user
7665 code. */
7666 if (/*CONSTCOND*/ 0)
7667 goto yyerrorlab;
368f75ae 7668
08cf8642 7669 /* Do not reclaim the symbols of the rule which action triggered
7670 this YYERROR. */
7671 YYPOPSTACK (yylen);
7672 yylen = 0;
7673 YY_STACK_PRINT (yyss, yyssp);
7674 yystate = *yyssp;
7675 goto yyerrlab1;
d0b80d80 7676
d0b80d80 7677
08cf8642 7678/*-------------------------------------------------------------.
7679| yyerrlab1 -- common code for both syntax error and YYERROR. |
7680`-------------------------------------------------------------*/
7681yyerrlab1:
7682 yyerrstatus = 3; /* Each real token shifted decrements this. */
368f75ae 7683
08cf8642 7684 for (;;)
d0b80d80 7685 {
08cf8642 7686 yyn = yypact[yystate];
7687 if (yyn != YYPACT_NINF)
7688 {
7689 yyn += YYTERROR;
7690 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7691 {
7692 yyn = yytable[yyn];
7693 if (0 < yyn)
7694 break;
7695 }
7696 }
d0b80d80 7697
08cf8642 7698 /* Pop the current state because it cannot handle the error token. */
7699 if (yyssp == yyss)
7700 YYABORT;
d0b80d80 7701
d0b80d80 7702
08cf8642 7703 yydestruct ("Error: popping",
7704 yystos[yystate], yyvsp);
7705 YYPOPSTACK (1);
7706 yystate = *yyssp;
7707 YY_STACK_PRINT (yyss, yyssp);
d0b80d80 7708 }
d0b80d80 7709
7710 if (yyn == YYFINAL)
7711 YYACCEPT;
7712
d0b80d80 7713 *++yyvsp = yylval;
08cf8642 7714
7715
7716 /* Shift the error token. */
7717 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
d0b80d80 7718
7719 yystate = yyn;
7720 goto yynewstate;
7721
7722
7723/*-------------------------------------.
7724| yyacceptlab -- YYACCEPT comes here. |
7725`-------------------------------------*/
7726yyacceptlab:
7727 yyresult = 0;
7728 goto yyreturn;
7729
7730/*-----------------------------------.
7731| yyabortlab -- YYABORT comes here. |
7732`-----------------------------------*/
7733yyabortlab:
7734 yyresult = 1;
7735 goto yyreturn;
7736
08cf8642 7737#ifndef yyoverflow
7738/*-------------------------------------------------.
7739| yyexhaustedlab -- memory exhaustion comes here. |
7740`-------------------------------------------------*/
7741yyexhaustedlab:
7742 yyerror (YY_("memory exhausted"));
d0b80d80 7743 yyresult = 2;
7744 /* Fall through. */
08cf8642 7745#endif
d0b80d80 7746
7747yyreturn:
08cf8642 7748 if (yychar != YYEOF && yychar != YYEMPTY)
7749 yydestruct ("Cleanup: discarding lookahead",
7750 yytoken, &yylval);
7751 /* Do not reclaim the symbols of the rule which action triggered
7752 this YYABORT or YYACCEPT. */
7753 YYPOPSTACK (yylen);
7754 YY_STACK_PRINT (yyss, yyssp);
7755 while (yyssp != yyss)
7756 {
7757 yydestruct ("Cleanup: popping",
7758 yystos[*yyssp], yyvsp);
7759 YYPOPSTACK (1);
7760 }
d0b80d80 7761#ifndef yyoverflow
7762 if (yyss != yyssa)
7763 YYSTACK_FREE (yyss);
7764#endif
08cf8642 7765#if YYERROR_VERBOSE
7766 if (yymsg != yymsgbuf)
7767 YYSTACK_FREE (yymsg);
7768#endif
7769 /* Make sure YYID is used. */
7770 return YYID (yyresult);
d0b80d80 7771}
7772
7773
08cf8642 7774
7775
7776
d0b80d80 7777/*@-redecl@*/ /*@-namechecks@*/
7778extern char *yytext;
7779/*@=redecl@*/ /*@=namechecks@*/
7780
7781# include "bison.reset"
7782
7783void yyerror (/*@unused@*/ char *s)
7784{
7785 static bool givehint = FALSE;
7786
7787 if (context_inIterDef ())
7788 {
7789 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
7790 context_inFunctionName ()));
7791 }
7792 else if (context_inIterEnd ())
7793 {
7794 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
7795 context_inFunctionName ()));
7796 }
7797 else if (context_inMacro ())
7798 {
7799 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
7800 context_inFunctionName ()));
7801
7802 if (context_inUnknownMacro ())
7803 {
7804 if (!givehint)
7805 {
7806 llhint (cstring_makeLiteral
7807 ("Precede macro definition with /*@notfunction@*/ "
7808 "to suppress checking and force expansion"));
7809 givehint = TRUE;
7810 }
7811 }
7812
16c024b5 7813 cscannerHelp_swallowMacro ();
d0b80d80 7814 context_exitAllClausesQuiet ();
7815 }
7816 else
7817 {
7818 llparseerror (cstring_undefined);
7819 }
7820}
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
08cf8642 7833
c05aefaa 7834/*
7835** Resets all flags in bison.head
7836*/
7837
885824d3 7838
c05aefaa 7839/*@=allmacros@*/
7840/*@=boolint@*/
7841/*@=charint@*/
7842/*@=macroparams@*/
7843/*@=macroundef@*/
7844/*@=unreachable@*/
7845/*@=macrospec@*/
7846/*@=varuse@*/
7847/*@=ignorequals@*/
7848/*@=macrostmt@*/
7849/*@=noeffect@*/
7850/*@=shadow@*/
7851/*@=exitarg@*/
7852/*@=macroredef@*/
7853/*@=uniondef@*/
7854/*@=compdef@*/
7855/*@=matchfields@*/
7856/*@=exportlocal@*/
7857/*@=evalorderuncon@*/
7858/*@=exportheader@*/
7859/*@=typeuse@*/
7860/*@=redecl@*/
7861/*@=redef@*/
7862/*@=noparams@*/
7863/*@=ansireserved@*/
7864/*@=fielduse@*/
7865/*@=ifblock@*/
7866/*@=elseifcomplete@*/
7867/*@=whileblock@*/
7868/*@=forblock@*/
7869/*@=branchstate@*/
7870/*@=readonlytrans@*/
7871/*@=namechecks@*/
7872/*@=usedef@*/
7873/*@=systemunrecog@*/
7874/*@=dependenttrans@*/
7875/*@=unqualifiedtrans@*/
7876/*@=declundef@*/
7877
7878
7879/*drl added 11/27/2001*/
bb7c2085 7880/*@=bounds@*/
1d91681f 7881
7882/*drl added 12/11/2002*/
7883/*@=type@*/
This page took 1.500128 seconds and 5 git commands to generate.