]> andersk Git - splint.git/blame - src/cgrammar.c.der
Fix tracker issue 1837229.
[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
a9ec3280 55/*@-enummemuse@*/
56
885824d3 57/* < end of bison.head > */
58
08cf8642 59/* A Bison parser, made by GNU Bison 2.3. */
60
61/* Skeleton implementation for Bison's Yacc-like parsers in C
62
63 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
64 Free Software Foundation, Inc.
65
66 This program is free software; you can redistribute it and/or modify
67 it under the terms of the GNU General Public License as published by
68 the Free Software Foundation; either version 2, or (at your option)
69 any later version.
70
71 This program is distributed in the hope that it will be useful,
72 but WITHOUT ANY WARRANTY; without even the implied warranty of
73 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
74 GNU General Public License for more details.
75
76 You should have received a copy of the GNU General Public License
77 along with this program; if not, write to the Free Software
78 Foundation, Inc., 51 Franklin Street, Fifth Floor,
79 Boston, MA 02110-1301, USA. */
80
81/* As a special exception, you may create a larger work that contains
82 part or all of the Bison parser skeleton and distribute that work
83 under terms of your choice, so long as that work isn't itself a
84 parser generator using the skeleton or a modified version thereof
85 as a parser skeleton. Alternatively, if you modify or redistribute
86 the parser skeleton itself, you may (at your option) remove this
87 special exception, which will cause the skeleton and the resulting
88 Bison output files to be licensed under the GNU General Public
89 License without this special exception.
90
91 This special exception was added by the Free Software Foundation in
92 version 2.2 of Bison. */
93
94/* C LALR(1) parser skeleton written by Richard Stallman, by
95 simplifying the original so-called "semantic" parser. */
96
97/* All symbols defined below should begin with yy or YY, to avoid
98 infringing on user name space. This should be done even for local
99 variables, as they might otherwise be expanded by user macros.
100 There are some unavoidable exceptions within include files to
101 define necessary library symbols; they are noted "INFRINGES ON
102 USER NAME SPACE" below. */
103
104/* Identify Bison output. */
105#define YYBISON 1
106
107/* Bison version. */
108#define YYBISON_VERSION "2.3"
109
110/* Skeleton name. */
111#define YYSKELETON_NAME "yacc.c"
112
113/* Pure parsers. */
114#define YYPURE 0
115
116/* Using locations. */
117#define YYLSP_NEEDED 0
118
119
120
121/* Tokens. */
122#ifndef YYTOKENTYPE
123# define YYTOKENTYPE
124 /* Put the tokens into the symbol table, so that GDB and other debuggers
125 know about them. */
126 enum yytokentype {
127 BADTOK = 258,
128 SKIPTOK = 259,
129 CTOK_ELIPSIS = 260,
130 CASE = 261,
131 DEFAULT = 262,
132 CIF = 263,
133 CELSE = 264,
134 SWITCH = 265,
135 WHILE = 266,
136 DO = 267,
137 CFOR = 268,
138 GOTO = 269,
139 CONTINUE = 270,
140 BREAK = 271,
141 RETURN = 272,
142 TSEMI = 273,
143 TLBRACE = 274,
144 TRBRACE = 275,
145 TCOMMA = 276,
146 TCOLON = 277,
147 TASSIGN = 278,
148 TLPAREN = 279,
149 TRPAREN = 280,
150 TLSQBR = 281,
151 TRSQBR = 282,
152 TDOT = 283,
153 TAMPERSAND = 284,
154 TEXCL = 285,
155 TTILDE = 286,
156 TMINUS = 287,
157 TPLUS = 288,
158 TMULT = 289,
159 TDIV = 290,
160 TPERCENT = 291,
161 TLT = 292,
162 TGT = 293,
163 TCIRC = 294,
164 TBAR = 295,
165 TQUEST = 296,
166 CSIZEOF = 297,
167 CALIGNOF = 298,
168 CTYPEOF = 299,
169 ARROW_OP = 300,
170 CTYPEDEF = 301,
171 COFFSETOF = 302,
172 INC_OP = 303,
173 DEC_OP = 304,
174 LEFT_OP = 305,
175 RIGHT_OP = 306,
176 LE_OP = 307,
177 GE_OP = 308,
178 EQ_OP = 309,
179 NE_OP = 310,
180 AND_OP = 311,
181 OR_OP = 312,
182 MUL_ASSIGN = 313,
183 DIV_ASSIGN = 314,
184 MOD_ASSIGN = 315,
185 ADD_ASSIGN = 316,
186 SUB_ASSIGN = 317,
187 LEFT_ASSIGN = 318,
188 RIGHT_ASSIGN = 319,
189 AND_ASSIGN = 320,
190 XOR_ASSIGN = 321,
191 OR_ASSIGN = 322,
192 CSTRUCT = 323,
193 CUNION = 324,
194 CENUM = 325,
195 VA_ARG = 326,
196 VA_DCL = 327,
197 QWARN = 328,
198 QGLOBALS = 329,
199 QMODIFIES = 330,
200 QNOMODS = 331,
201 QCONSTANT = 332,
202 QFUNCTION = 333,
203 QITER = 334,
204 QDEFINES = 335,
205 QUSES = 336,
206 QALLOCATES = 337,
207 QSETS = 338,
208 QRELEASES = 339,
209 QPRECLAUSE = 340,
210 QPOSTCLAUSE = 341,
211 QINVARIANT = 342,
212 QALT = 343,
213 QUNDEF = 344,
214 QKILLED = 345,
215 QENDMACRO = 346,
216 LLMACRO = 347,
217 LLMACROITER = 348,
218 LLMACROEND = 349,
219 TENDMACRO = 350,
220 QDREVEALSTATE = 351,
221 QSWITCHBREAK = 352,
222 QLOOPBREAK = 353,
223 QINNERBREAK = 354,
224 QSAFEBREAK = 355,
225 QINNERCONTINUE = 356,
226 QFALLTHROUGH = 357,
227 QLINTNOTREACHED = 358,
228 QLINTFALLTHROUGH = 359,
229 QLINTFALLTHRU = 360,
230 QARGSUSED = 361,
231 QPRINTFLIKE = 362,
232 QLINTPRINTFLIKE = 363,
233 QSCANFLIKE = 364,
234 QMESSAGELIKE = 365,
235 QNOTREACHED = 366,
236 QCONST = 367,
237 QRESTRICT = 368,
238 QVOLATILE = 369,
239 QINLINE = 370,
240 QEXTENSION = 371,
241 QEXTERN = 372,
242 QSTATIC = 373,
243 QAUTO = 374,
244 QREGISTER = 375,
245 QOUT = 376,
246 QIN = 377,
247 QYIELD = 378,
248 QONLY = 379,
249 QTEMP = 380,
250 QSHARED = 381,
251 QREF = 382,
252 QUNIQUE = 383,
253 QCHECKED = 384,
254 QUNCHECKED = 385,
255 QCHECKEDSTRICT = 386,
256 QCHECKMOD = 387,
257 QKEEP = 388,
258 QKEPT = 389,
259 QPARTIAL = 390,
260 QSPECIAL = 391,
261 QOWNED = 392,
262 QDEPENDENT = 393,
263 QRETURNED = 394,
264 QEXPOSED = 395,
265 QNULL = 396,
266 QOBSERVER = 397,
267 QISNULL = 398,
268 QEXITS = 399,
269 QMAYEXIT = 400,
270 QNEVEREXIT = 401,
271 QTRUEEXIT = 402,
272 QFALSEEXIT = 403,
273 QLONG = 404,
274 QSIGNED = 405,
275 QUNSIGNED = 406,
276 QSHORT = 407,
277 QUNUSED = 408,
278 QSEF = 409,
279 QNOTNULL = 410,
280 QRELNULL = 411,
281 QABSTRACT = 412,
282 QNUMABSTRACT = 413,
283 QCONCRETE = 414,
284 QMUTABLE = 415,
285 QIMMUTABLE = 416,
286 QTRUENULL = 417,
287 QFALSENULL = 418,
288 QEXTERNAL = 419,
289 QREFCOUNTED = 420,
290 QREFS = 421,
291 QNEWREF = 422,
292 QTEMPREF = 423,
293 QKILLREF = 424,
294 QRELDEF = 425,
295 CGCHAR = 426,
296 CBOOL = 427,
297 CINT = 428,
298 CGFLOAT = 429,
299 CDOUBLE = 430,
300 CVOID = 431,
301 QANYTYPE = 432,
302 QINTEGRALTYPE = 433,
303 QUNSIGNEDINTEGRALTYPE = 434,
304 QSIGNEDINTEGRALTYPE = 435,
305 QNULLTERMINATED = 436,
306 QSETBUFFERSIZE = 437,
307 QSETSTRINGLENGTH = 438,
308 QMAXSET = 439,
309 QMAXREAD = 440,
310 QTESTINRANGE = 441,
311 TCAND = 442,
312 IDENTIFIER = 443,
313 NEW_IDENTIFIER = 444,
314 TYPE_NAME_OR_ID = 445,
315 CANNOTATION = 446,
316 CCONSTANT = 447,
317 ITER_NAME = 448,
318 ITER_ENDNAME = 449,
319 TYPE_NAME = 450,
320 METASTATE_NAME = 451
321 };
322#endif
323/* Tokens. */
324#define BADTOK 258
325#define SKIPTOK 259
326#define CTOK_ELIPSIS 260
327#define CASE 261
328#define DEFAULT 262
329#define CIF 263
330#define CELSE 264
331#define SWITCH 265
332#define WHILE 266
333#define DO 267
334#define CFOR 268
335#define GOTO 269
336#define CONTINUE 270
337#define BREAK 271
338#define RETURN 272
339#define TSEMI 273
340#define TLBRACE 274
341#define TRBRACE 275
342#define TCOMMA 276
343#define TCOLON 277
344#define TASSIGN 278
345#define TLPAREN 279
346#define TRPAREN 280
347#define TLSQBR 281
348#define TRSQBR 282
349#define TDOT 283
350#define TAMPERSAND 284
351#define TEXCL 285
352#define TTILDE 286
353#define TMINUS 287
354#define TPLUS 288
355#define TMULT 289
356#define TDIV 290
357#define TPERCENT 291
358#define TLT 292
359#define TGT 293
360#define TCIRC 294
361#define TBAR 295
362#define TQUEST 296
363#define CSIZEOF 297
364#define CALIGNOF 298
365#define CTYPEOF 299
366#define ARROW_OP 300
367#define CTYPEDEF 301
368#define COFFSETOF 302
369#define INC_OP 303
370#define DEC_OP 304
371#define LEFT_OP 305
372#define RIGHT_OP 306
373#define LE_OP 307
374#define GE_OP 308
375#define EQ_OP 309
376#define NE_OP 310
377#define AND_OP 311
378#define OR_OP 312
379#define MUL_ASSIGN 313
380#define DIV_ASSIGN 314
381#define MOD_ASSIGN 315
382#define ADD_ASSIGN 316
383#define SUB_ASSIGN 317
384#define LEFT_ASSIGN 318
385#define RIGHT_ASSIGN 319
386#define AND_ASSIGN 320
387#define XOR_ASSIGN 321
388#define OR_ASSIGN 322
389#define CSTRUCT 323
390#define CUNION 324
391#define CENUM 325
392#define VA_ARG 326
393#define VA_DCL 327
394#define QWARN 328
395#define QGLOBALS 329
396#define QMODIFIES 330
397#define QNOMODS 331
398#define QCONSTANT 332
399#define QFUNCTION 333
400#define QITER 334
401#define QDEFINES 335
402#define QUSES 336
403#define QALLOCATES 337
404#define QSETS 338
405#define QRELEASES 339
406#define QPRECLAUSE 340
407#define QPOSTCLAUSE 341
408#define QINVARIANT 342
409#define QALT 343
410#define QUNDEF 344
411#define QKILLED 345
412#define QENDMACRO 346
413#define LLMACRO 347
414#define LLMACROITER 348
415#define LLMACROEND 349
416#define TENDMACRO 350
417#define QDREVEALSTATE 351
418#define QSWITCHBREAK 352
419#define QLOOPBREAK 353
420#define QINNERBREAK 354
421#define QSAFEBREAK 355
422#define QINNERCONTINUE 356
423#define QFALLTHROUGH 357
424#define QLINTNOTREACHED 358
425#define QLINTFALLTHROUGH 359
426#define QLINTFALLTHRU 360
427#define QARGSUSED 361
428#define QPRINTFLIKE 362
429#define QLINTPRINTFLIKE 363
430#define QSCANFLIKE 364
431#define QMESSAGELIKE 365
432#define QNOTREACHED 366
433#define QCONST 367
434#define QRESTRICT 368
435#define QVOLATILE 369
436#define QINLINE 370
437#define QEXTENSION 371
438#define QEXTERN 372
439#define QSTATIC 373
440#define QAUTO 374
441#define QREGISTER 375
442#define QOUT 376
443#define QIN 377
444#define QYIELD 378
445#define QONLY 379
446#define QTEMP 380
447#define QSHARED 381
448#define QREF 382
449#define QUNIQUE 383
450#define QCHECKED 384
451#define QUNCHECKED 385
452#define QCHECKEDSTRICT 386
453#define QCHECKMOD 387
454#define QKEEP 388
455#define QKEPT 389
456#define QPARTIAL 390
457#define QSPECIAL 391
458#define QOWNED 392
459#define QDEPENDENT 393
460#define QRETURNED 394
461#define QEXPOSED 395
462#define QNULL 396
463#define QOBSERVER 397
464#define QISNULL 398
465#define QEXITS 399
466#define QMAYEXIT 400
467#define QNEVEREXIT 401
468#define QTRUEEXIT 402
469#define QFALSEEXIT 403
470#define QLONG 404
471#define QSIGNED 405
472#define QUNSIGNED 406
473#define QSHORT 407
474#define QUNUSED 408
475#define QSEF 409
476#define QNOTNULL 410
477#define QRELNULL 411
478#define QABSTRACT 412
479#define QNUMABSTRACT 413
480#define QCONCRETE 414
481#define QMUTABLE 415
482#define QIMMUTABLE 416
483#define QTRUENULL 417
484#define QFALSENULL 418
485#define QEXTERNAL 419
486#define QREFCOUNTED 420
487#define QREFS 421
488#define QNEWREF 422
489#define QTEMPREF 423
490#define QKILLREF 424
491#define QRELDEF 425
492#define CGCHAR 426
493#define CBOOL 427
494#define CINT 428
495#define CGFLOAT 429
496#define CDOUBLE 430
497#define CVOID 431
498#define QANYTYPE 432
499#define QINTEGRALTYPE 433
500#define QUNSIGNEDINTEGRALTYPE 434
501#define QSIGNEDINTEGRALTYPE 435
502#define QNULLTERMINATED 436
503#define QSETBUFFERSIZE 437
504#define QSETSTRINGLENGTH 438
505#define QMAXSET 439
506#define QMAXREAD 440
507#define QTESTINRANGE 441
508#define TCAND 442
509#define IDENTIFIER 443
510#define NEW_IDENTIFIER 444
511#define TYPE_NAME_OR_ID 445
512#define CANNOTATION 446
513#define CCONSTANT 447
514#define ITER_NAME 448
515#define ITER_ENDNAME 449
516#define TYPE_NAME 450
517#define METASTATE_NAME 451
518
519
520
521
522/* Copy the first part of user declarations. */
69db2541 523#line 24 "cgrammar.y"
d0b80d80 524
525/*
526**
527** cgrammar.y
528**
529** Yacc/Bison grammar for extended ANSI C used by Splint.
530**
531** original grammar by Nate Osgood ---
532** hacrat@catfish.lcs.mit.edu Mon Jun 14 13:06:32 1993
533**
534** changes for Splint --- handle typedef names correctly
535** fix struct/union parsing bug (empty struct is accepted)
536** add productions to handle macros --- require
537** error correction --- main source of conflicts in grammar.
538** need to process initializations sequentially, L->R
539**
540** production names are cryptic, so more productions fit on one line
541**
542** conflicts: 87 shift/reduce, 18 reduce/reduce
543** most of these are due to handling macros
544** a few are due to handling type expressions
545*/
546
547/*@=allmacros@*/
548
549extern int yylex ();
550extern void yyerror (char *);
551
552# include "splintMacros.nf"
553# include "basic.h"
554# include "cscanner.h"
16c024b5 555# include "cscannerHelp.h"
d0b80d80 556# include "cgrammar.h"
557# include "exprChecks.h"
558
559/*@-allmacros@*/
560/*@-matchfields@*/
561
562# define SHOWCSYM FALSE
563
564/*
565** This is necessary, or else when the bison-generated code #include's malloc.h,
566** there will be a parse error.
567**
568** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
569** in bison-generated files under Win32.
570*/
571
572# ifdef WIN32
573# undef malloc
574# undef calloc
575# undef realloc
576# endif
577
578
08cf8642 579
580/* Enabling traces. */
581#ifndef YYDEBUG
582# define YYDEBUG 1
583#endif
584
585/* Enabling verbose error messages. */
586#ifdef YYERROR_VERBOSE
587# undef YYERROR_VERBOSE
588# define YYERROR_VERBOSE 1
589#else
590# define YYERROR_VERBOSE 0
591#endif
592
593/* Enabling the token table. */
594#ifndef YYTOKEN_TABLE
595# define YYTOKEN_TABLE 0
596#endif
597
598#if ! defined cgrammar_YYSTYPE && ! defined cgrammar_YYSTYPE_IS_DECLARED
599typedef union cgrammar_YYSTYPE
69db2541 600#line 81 "cgrammar.y"
368f75ae 601{
d0b80d80 602 lltok tok;
603 int count;
604 qual typequal;
605 qualList tquallist;
606 ctype ctyp;
607 /*@dependent@*/ sRef sr;
608 /*@only@*/ sRef osr;
609
610 /*@only@*/ functionClauseList funcclauselist;
611 /*@only@*/ functionClause funcclause;
612 /*@only@*/ flagSpec flagspec;
613 /*@only@*/ globalsClause globsclause;
614 /*@only@*/ modifiesClause modsclause;
615 /*@only@*/ warnClause warnclause;
616 /*@only@*/ stateClause stateclause;
617 /*@only@*/ pointers pointers;
618 /*@only@*/ functionConstraint fcnconstraint;
619
620 /*@only@*/ metaStateConstraint msconstraint;
621 /*@only@*/ metaStateSpecifier msspec;
622 /*@only@*/ metaStateExpression msexpr;
623 /*@observer@*/ metaStateInfo msinfo;
624
625 /*@only@*/ sRefList srlist;
626 /*@only@*/ globSet globset;
627 /*@only@*/ qtype qtyp;
628 /*@only@*/ cstring cname;
629 /*@observer@*/ annotationInfo annotation;
630 /*@only@*/ idDecl ntyp;
631 /*@only@*/ idDeclList ntyplist;
632 /*@only@*/ uentryList flist;
633 /*@owned@*/ uentryList entrylist;
634 /*@observer@*/ /*@dependent@*/ uentry entry;
635 /*@only@*/ uentry oentry;
636 /*@only@*/ exprNode expr;
637 /*@only@*/ enumNameList enumnamelist;
638 /*@only@*/ exprNodeList exprlist;
639 /*@only@*/ sRefSet srset;
640 /*@only@*/ cstringList cstringlist;
641
642 /*drl
643 added 1/19/2001
644 */
645 constraint con;
646 constraintList conL;
647 constraintExpr conE;
648 /* drl */
08cf8642 649}
69db2541 650/* Line 187 of yacc.c. */
651#line 594 "cgrammar.tab.c"
08cf8642 652 cgrammar_YYSTYPE;
653# define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
654# define cgrammar_YYSTYPE_IS_DECLARED 1
d0b80d80 655# define cgrammar_YYSTYPE_IS_TRIVIAL 1
656#endif
08cf8642 657
658
659
660/* Copy the second part of user declarations. */
661
662
663/* Line 216 of yacc.c. */
69db2541 664#line 607 "cgrammar.tab.c"
08cf8642 665
666#ifdef short
667# undef short
668#endif
669
670#ifdef YYTYPE_UINT8
671typedef YYTYPE_UINT8 yytype_uint8;
672#else
673typedef unsigned char yytype_uint8;
674#endif
675
676#ifdef YYTYPE_INT8
677typedef YYTYPE_INT8 yytype_int8;
678#elif (defined __STDC__ || defined __C99__FUNC__ \
679 || defined __cplusplus || defined _MSC_VER)
680typedef signed char yytype_int8;
681#else
682typedef short int yytype_int8;
683#endif
684
685#ifdef YYTYPE_UINT16
686typedef YYTYPE_UINT16 yytype_uint16;
687#else
688typedef unsigned short int yytype_uint16;
689#endif
690
691#ifdef YYTYPE_INT16
692typedef YYTYPE_INT16 yytype_int16;
693#else
694typedef short int yytype_int16;
695#endif
696
697#ifndef YYSIZE_T
698# ifdef __SIZE_TYPE__
699# define YYSIZE_T __SIZE_TYPE__
700# elif defined size_t
701# define YYSIZE_T size_t
702# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
703 || defined __cplusplus || defined _MSC_VER)
704# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
705# define YYSIZE_T size_t
706# else
707# define YYSIZE_T unsigned int
708# endif
709#endif
710
711#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
712
713#ifndef YY_
714# if YYENABLE_NLS
715# if ENABLE_NLS
716# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
717# define YY_(msgid) dgettext ("bison-runtime", msgid)
718# endif
719# endif
720# ifndef YY_
721# define YY_(msgid) msgid
722# endif
723#endif
724
725/* Suppress unused-variable warnings by "using" E. */
726#if ! defined lint || defined __GNUC__
727# define YYUSE(e) ((void) (e))
728#else
729# define YYUSE(e) /* empty */
730#endif
731
732/* Identity function, used to suppress warnings about constant conditions. */
733#ifndef lint
734# define YYID(n) (n)
735#else
736#if (defined __STDC__ || defined __C99__FUNC__ \
737 || defined __cplusplus || defined _MSC_VER)
738static int
739YYID (int i)
740#else
741static int
742YYID (i)
743 int i;
744#endif
745{
746 return i;
747}
368f75ae 748#endif
d0b80d80 749
08cf8642 750#if ! defined yyoverflow || YYERROR_VERBOSE
751
752/* The parser invokes alloca or malloc; define the necessary symbols. */
753
754# ifdef YYSTACK_USE_ALLOCA
755# if YYSTACK_USE_ALLOCA
756# ifdef __GNUC__
757# define YYSTACK_ALLOC __builtin_alloca
758# elif defined __BUILTIN_VA_ARG_INCR
759# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
760# elif defined _AIX
761# define YYSTACK_ALLOC __alloca
762# elif defined _MSC_VER
763# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
764# define alloca _alloca
765# else
766# define YYSTACK_ALLOC alloca
767# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
768 || defined __cplusplus || defined _MSC_VER)
769# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
770# ifndef _STDLIB_H
771# define _STDLIB_H 1
772# endif
773# endif
774# endif
775# endif
776# endif
777
778# ifdef YYSTACK_ALLOC
779 /* Pacify GCC's `empty if-body' warning. */
780# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
781# ifndef YYSTACK_ALLOC_MAXIMUM
782 /* The OS might guarantee only one guard page at the bottom of the stack,
783 and a page size can be as small as 4096 bytes. So we cannot safely
784 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
785 to allow for a few compiler-allocated temporary stack slots. */
786# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
787# endif
788# else
789# define YYSTACK_ALLOC YYMALLOC
790# define YYSTACK_FREE YYFREE
791# ifndef YYSTACK_ALLOC_MAXIMUM
792# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
793# endif
794# if (defined __cplusplus && ! defined _STDLIB_H \
795 && ! ((defined YYMALLOC || defined malloc) \
796 && (defined YYFREE || defined free)))
797# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
798# ifndef _STDLIB_H
799# define _STDLIB_H 1
800# endif
801# endif
802# ifndef YYMALLOC
803# define YYMALLOC malloc
804# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
805 || defined __cplusplus || defined _MSC_VER)
806void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
807# endif
808# endif
809# ifndef YYFREE
810# define YYFREE free
811# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
812 || defined __cplusplus || defined _MSC_VER)
813void free (void *); /* INFRINGES ON USER NAME SPACE */
814# endif
815# endif
816# endif
817#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
818
819
820#if (! defined yyoverflow \
821 && (! defined __cplusplus \
822 || (defined cgrammar_YYSTYPE_IS_TRIVIAL && cgrammar_YYSTYPE_IS_TRIVIAL)))
823
824/* A type that is properly aligned for any stack member. */
825union yyalloc
826{
827 yytype_int16 yyss;
828 cgrammar_YYSTYPE yyvs;
829 };
830
831/* The size of the maximum gap between one aligned stack and the next. */
832# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
833
834/* The size of an array large to enough to hold all stacks, each with
835 N elements. */
836# define YYSTACK_BYTES(N) \
837 ((N) * (sizeof (yytype_int16) + sizeof (cgrammar_YYSTYPE)) \
838 + YYSTACK_GAP_MAXIMUM)
d0b80d80 839
08cf8642 840/* Copy COUNT objects from FROM to TO. The source and destination do
841 not overlap. */
842# ifndef YYCOPY
843# if defined __GNUC__ && 1 < __GNUC__
844# define YYCOPY(To, From, Count) \
845 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
846# else
847# define YYCOPY(To, From, Count) \
848 do \
849 { \
850 YYSIZE_T yyi; \
851 for (yyi = 0; yyi < (Count); yyi++) \
852 (To)[yyi] = (From)[yyi]; \
853 } \
854 while (YYID (0))
855# endif
856# endif
d0b80d80 857
08cf8642 858/* Relocate STACK from its old location to the new one. The
859 local variables YYSIZE and YYSTACKSIZE give the old and new number of
860 elements in the stack, and YYPTR gives the new location of the
861 stack. Advance YYPTR to a properly aligned location for the next
862 stack. */
863# define YYSTACK_RELOCATE(Stack) \
864 do \
865 { \
866 YYSIZE_T yynewbytes; \
867 YYCOPY (&yyptr->Stack, Stack, yysize); \
868 Stack = &yyptr->Stack; \
869 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
870 yyptr += yynewbytes / sizeof (*yyptr); \
871 } \
872 while (YYID (0))
d0b80d80 873
08cf8642 874#endif
d0b80d80 875
08cf8642 876/* YYFINAL -- State number of the termination state. */
877#define YYFINAL 262
878/* YYLAST -- Last index in YYTABLE. */
879#define YYLAST 6819
880
881/* YYNTOKENS -- Number of terminals. */
882#define YYNTOKENS 197
883/* YYNNTS -- Number of nonterminals. */
884#define YYNNTS 276
885/* YYNRULES -- Number of rules. */
886#define YYNRULES 719
887/* YYNRULES -- Number of states. */
888#define YYNSTATES 1264
889
890/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
891#define YYUNDEFTOK 2
892#define YYMAXUTOK 451
893
894#define YYTRANSLATE(YYX) \
895 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
896
897/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
898static const yytype_uint8 yytranslate[] =
d0b80d80 899{
900 0, 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,
923 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
924 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
08cf8642 925 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
926 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
927 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
928 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
929 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
930 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
931 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
932 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
933 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
934 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
935 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
936 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
937 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
938 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
939 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
940 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
941 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
942 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
943 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
944 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
945 195, 196
d0b80d80 946};
947
948#if YYDEBUG
08cf8642 949/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
950 YYRHS. */
951static const yytype_uint16 yyprhs[] =
d0b80d80 952{
08cf8642 953 0, 0, 3, 4, 6, 8, 11, 14, 16, 18,
954 20, 22, 24, 26, 28, 37, 49, 50, 56, 58,
955 62, 64, 67, 69, 76, 80, 87, 88, 95, 96,
956 104, 106, 113, 117, 124, 125, 132, 133, 141, 142,
957 143, 154, 158, 162, 166, 169, 171, 175, 176, 181,
958 182, 187, 189, 193, 195, 197, 199, 203, 205, 209,
959 211, 213, 215, 217, 219, 221, 226, 232, 234, 236,
960 238, 240, 244, 249, 252, 256, 260, 264, 266, 268,
961 270, 271, 274, 275, 278, 280, 282, 284, 286, 288,
962 290, 292, 294, 296, 298, 300, 302, 305, 306, 311,
963 313, 316, 317, 321, 323, 327, 329, 331, 332, 335,
964 339, 342, 344, 348, 351, 352, 355, 357, 359, 361,
965 363, 365, 367, 369, 371, 373, 375, 377, 379, 381,
966 383, 385, 387, 391, 392, 396, 397, 398, 403, 406,
967 409, 411, 413, 415, 417, 421, 426, 429, 433, 437,
968 441, 443, 445, 447, 451, 453, 455, 459, 464, 467,
969 471, 475, 479, 480, 482, 484, 488, 490, 492, 494,
970 498, 500, 502, 503, 508, 510, 515, 519, 524, 531,
971 537, 543, 546, 549, 557, 559, 563, 565, 568, 571,
972 574, 577, 580, 583, 586, 589, 593, 595, 599, 604,
973 606, 616, 617, 621, 622, 623, 628, 631, 636, 639,
974 641, 646, 648, 652, 656, 660, 662, 666, 670, 672,
975 676, 680, 682, 686, 690, 694, 698, 700, 704, 708,
976 710, 714, 716, 720, 722, 726, 728, 729, 734, 736,
977 737, 742, 744, 745, 746, 753, 754, 755, 763, 765,
978 769, 773, 777, 781, 785, 789, 793, 797, 801, 805,
979 809, 811, 815, 816, 818, 820, 822, 824, 826, 830,
980 831, 841, 842, 854, 856, 858, 861, 862, 869, 870,
981 879, 884, 889, 890, 891, 894, 896, 901, 904, 906,
982 911, 912, 917, 919, 923, 928, 931, 934, 937, 939,
983 942, 946, 949, 951, 955, 957, 959, 961, 963, 965,
984 968, 969, 976, 979, 982, 983, 990, 991, 997, 999,
985 1001, 1003, 1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019,
986 1021, 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037, 1039,
987 1041, 1043, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059,
988 1061, 1063, 1065, 1067, 1069, 1071, 1073, 1075, 1077, 1079,
989 1081, 1083, 1085, 1087, 1089, 1091, 1093, 1095, 1097, 1099,
990 1101, 1103, 1106, 1109, 1112, 1115, 1118, 1121, 1124, 1127,
edad9a7f 991 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
08cf8642 992 1160, 1163, 1166, 1169, 1172, 1175, 1178, 1181, 1185, 1187,
993 1192, 1194, 1198, 1201, 1204, 1207, 1208, 1210, 1211, 1212,
994 1213, 1226, 1227, 1228, 1240, 1247, 1254, 1255, 1256, 1267,
995 1268, 1269, 1280, 1286, 1292, 1297, 1302, 1303, 1305, 1307,
996 1310, 1316, 1320, 1323, 1328, 1330, 1334, 1339, 1346, 1347,
997 1356, 1361, 1363, 1367, 1370, 1372, 1377, 1379, 1381, 1384,
998 1387, 1389, 1392, 1394, 1397, 1399, 1401, 1403, 1405, 1408,
999 1410, 1413, 1416, 1420, 1422, 1426, 1428, 1432, 1434, 1436,
1000 1440, 1441, 1444, 1445, 1450, 1455, 1457, 1459, 1462, 1464,
1001 1466, 1469, 1470, 1472, 1478, 1481, 1485, 1489, 1494, 1498,
1002 1503, 1508, 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528,
1003 1530, 1532, 1534, 1539, 1541, 1543, 1545, 1548, 1551, 1559,
1004 1566, 1569, 1570, 1571, 1582, 1583, 1590, 1592, 1594, 1596,
1005 1598, 1601, 1603, 1605, 1607, 1609, 1611, 1613, 1615, 1619,
1006 1621, 1622, 1626, 1629, 1632, 1634, 1636, 1638, 1640, 1642,
1007 1644, 1646, 1648, 1650, 1652, 1656, 1658, 1660, 1662, 1665,
1008 1668, 1669, 1672, 1673, 1678, 1679, 1686, 1687, 1691, 1692,
1009 1698, 1702, 1705, 1709, 1710, 1711, 1712, 1713, 1714, 1716,
1010 1719, 1722, 1726, 1729, 1733, 1737, 1742, 1745, 1748, 1752,
1011 1756, 1761, 1763, 1766, 1768, 1771, 1773, 1777, 1779, 1784,
1012 1786, 1789, 1791, 1794, 1796, 1799, 1801, 1806, 1809, 1810,
1013 1816, 1817, 1824, 1829, 1834, 1835, 1836, 1847, 1849, 1850,
1014 1855, 1857, 1859, 1861, 1863, 1865, 1868, 1870, 1874, 1876,
1015 1881, 1885, 1890, 1897, 1903, 1909, 1912, 1915, 1917, 1920,
1016 1923, 1926, 1929, 1932, 1935, 1938, 1941, 1943, 1945, 1950,
1017 1952, 1956, 1960, 1964, 1966, 1970, 1974, 1976, 1980, 1984,
1018 1986, 1990, 1994, 1998, 2002, 2004, 2008, 2012, 2014, 2018,
1019 2020, 2024, 2026, 2030, 2032, 2036, 2038, 2042, 2044, 2045,
1020 2046, 2053, 2054, 2055, 2063, 2065, 2069, 2073, 2077, 2081,
1021 2085, 2089, 2093, 2097, 2101, 2105, 2109, 2111, 2112, 2114,
1022 2117, 2125, 2128, 2131, 2139, 2146, 2149, 2153, 2156, 2160,
1023 2163, 2167, 2171, 2175, 2179, 2182, 2186, 2187, 2189, 2190,
1024 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2213
d0b80d80 1025};
08cf8642 1026
1027/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1028static const yytype_int16 yyrhs[] =
d0b80d80 1029{
08cf8642 1030 198, 0, -1, -1, 199, -1, 200, -1, 199, 200,
1031 -1, 261, 468, -1, 201, -1, 202, -1, 212, -1,
1032 215, -1, 303, -1, 18, -1, 1, -1, 77, 347,
1033 361, 371, 361, 468, 312, 91, -1, 77, 347, 361,
1034 371, 361, 23, 312, 319, 318, 468, 91, -1, -1,
1035 78, 203, 204, 468, 91, -1, 205, -1, 347, 361,
1036 205, -1, 209, -1, 375, 209, -1, 471, -1, 312,
1037 24, 361, 371, 312, 25, -1, 206, 26, 27, -1,
1038 206, 26, 312, 302, 27, 361, -1, -1, 206, 313,
1039 24, 25, 207, 233, -1, -1, 206, 313, 24, 372,
1040 25, 208, 233, -1, 471, -1, 312, 24, 361, 205,
1041 312, 25, -1, 209, 26, 27, -1, 209, 26, 312,
1042 302, 27, 361, -1, -1, 209, 313, 24, 25, 210,
1043 234, -1, -1, 209, 313, 24, 372, 25, 211, 234,
1044 -1, -1, -1, 79, 471, 24, 372, 25, 213, 234,
1045 214, 468, 91, -1, 92, 403, 95, -1, 93, 389,
1046 95, -1, 94, 390, 95, -1, 92, 95, -1, 256,
1047 -1, 218, 23, 221, -1, -1, 230, 219, 22, 222,
1048 -1, -1, 5, 220, 22, 222, -1, 218, -1, 218,
1049 40, 221, -1, 196, -1, 187, -1, 56, -1, 225,
1050 223, 224, -1, 225, -1, 228, 227, 228, -1, 184,
1051 -1, 185, -1, 53, -1, 52, -1, 54, -1, 229,
1052 -1, 231, 24, 228, 25, -1, 24, 228, 232, 228,
1053 25, -1, 230, -1, 192, -1, 470, -1, 189, -1,
1054 230, 26, 27, -1, 230, 26, 192, 27, -1, 34,
1055 230, -1, 24, 230, 25, -1, 230, 28, 471, -1,
1056 230, 45, 471, -1, 226, -1, 33, -1, 32, -1,
1057 -1, 235, 233, -1, -1, 236, 234, -1, 237, -1,
1058 241, -1, 240, -1, 325, -1, 328, -1, 247, -1,
1059 238, -1, 242, -1, 240, -1, 326, -1, 330, -1,
1060 248, -1, 238, 91, -1, -1, 74, 239, 249, 468,
1061 -1, 76, -1, 242, 91, -1, -1, 75, 243, 262,
1062 -1, 245, -1, 245, 40, 244, -1, 189, -1, 247,
1063 -1, -1, 248, 91, -1, 73, 244, 442, -1, 73,
1064 244, -1, 250, -1, 249, 21, 250, -1, 251, 252,
1065 -1, -1, 253, 251, -1, 470, -1, 189, -1, 303,
1066 -1, 89, -1, 90, -1, 121, -1, 122, -1, 135,
1067 -1, 80, -1, 81, -1, 82, -1, 83, -1, 84,
1068 -1, 85, -1, 86, -1, 371, -1, 347, 361, 371,
1069 -1, -1, 19, 258, 420, -1, -1, -1, 259, 424,
1070 260, 413, -1, 216, 257, -1, 265, 468, -1, 468,
1071 -1, 470, -1, 189, -1, 190, -1, 263, 26, 27,
1072 -1, 263, 26, 264, 27, -1, 34, 263, -1, 24,
1073 263, 25, -1, 263, 28, 471, -1, 263, 45, 471,
1074 -1, 263, -1, 442, -1, 263, -1, 265, 21, 263,
1075 -1, 470, -1, 189, -1, 266, 26, 27, -1, 266,
1076 26, 264, 27, -1, 34, 266, -1, 24, 266, 25,
1077 -1, 266, 28, 471, -1, 266, 45, 471, -1, -1,
1078 268, -1, 266, -1, 268, 21, 266, -1, 470, -1,
1079 189, -1, 442, -1, 24, 300, 25, -1, 190, -1,
1080 116, -1, -1, 24, 270, 413, 25, -1, 269, -1,
1081 271, 26, 300, 27, -1, 271, 24, 25, -1, 271,
1082 24, 272, 25, -1, 71, 24, 299, 21, 383, 25,
1083 -1, 271, 361, 28, 471, 312, -1, 271, 361, 45,
1084 471, 312, -1, 271, 48, -1, 271, 49, -1, 24,
1085 383, 25, 19, 425, 469, 20, -1, 299, -1, 272,
1086 21, 299, -1, 271, -1, 48, 273, -1, 49, 273,
1087 -1, 29, 281, -1, 34, 281, -1, 33, 281, -1,
1088 32, 281, -1, 31, 281, -1, 30, 281, -1, 278,
1089 276, 279, -1, 275, -1, 274, 28, 471, -1, 274,
1090 26, 300, 27, -1, 471, -1, 47, 312, 24, 383,
1091 361, 21, 274, 25, 312, -1, -1, 312, 277, 280,
1092 -1, -1, -1, 42, 24, 383, 25, -1, 42, 273,
1093 -1, 43, 24, 383, 25, -1, 43, 273, -1, 273,
1094 -1, 24, 383, 25, 281, -1, 281, -1, 282, 34,
1095 281, -1, 282, 35, 281, -1, 282, 36, 281, -1,
1096 282, -1, 283, 33, 282, -1, 283, 32, 282, -1,
1097 283, -1, 284, 50, 283, -1, 284, 51, 283, -1,
1098 284, -1, 285, 37, 284, -1, 285, 38, 284, -1,
1099 285, 52, 284, -1, 285, 53, 284, -1, 285, -1,
1100 286, 54, 285, -1, 286, 55, 285, -1, 286, -1,
1101 287, 29, 286, -1, 287, -1, 288, 39, 287, -1,
1102 288, -1, 289, 40, 288, -1, 289, -1, -1, 290,
1103 56, 291, 289, -1, 290, -1, -1, 292, 57, 293,
1104 290, -1, 292, -1, -1, -1, 292, 41, 295, 22,
1105 296, 294, -1, -1, -1, 292, 41, 297, 300, 22,
1106 298, 294, -1, 294, -1, 273, 23, 299, -1, 273,
1107 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1108 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1109 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1110 -1, 273, 66, 299, -1, 273, 67, 299, -1, 299,
1111 -1, 300, 21, 299, -1, -1, 300, -1, 294, -1,
1112 304, -1, 72, -1, 310, -1, 347, 312, 18, -1,
1113 -1, 347, 361, 371, 361, 305, 312, 318, 18, 312,
1114 -1, -1, 347, 361, 371, 361, 23, 306, 312, 319,
1115 318, 18, 312, -1, 308, -1, 195, -1, 371, 361,
1116 -1, -1, 371, 361, 23, 309, 312, 319, -1, -1,
1117 46, 347, 311, 361, 316, 312, 246, 18, -1, 46,
1118 347, 312, 18, -1, 46, 314, 312, 18, -1, -1,
1119 -1, 315, 312, -1, 308, -1, 314, 21, 361, 308,
1120 -1, 317, 312, -1, 307, -1, 316, 21, 361, 307,
1121 -1, -1, 318, 21, 361, 308, -1, 299, -1, 19,
1122 323, 20, -1, 19, 323, 21, 20, -1, 320, 319,
1123 -1, 321, 23, -1, 471, 22, -1, 322, -1, 321,
1124 322, -1, 26, 302, 27, -1, 28, 471, -1, 319,
1125 -1, 323, 21, 319, -1, 117, -1, 115, -1, 118,
1126 -1, 119, -1, 120, -1, 326, 91, -1, -1, 254,
1127 361, 327, 268, 468, 312, -1, 330, 91, -1, 255,
1128 361, -1, -1, 329, 336, 331, 267, 468, 312, -1,
1129 -1, 329, 332, 333, 468, 312, -1, 224, -1, 217,
1130 -1, 144, -1, 145, -1, 147, -1, 148, -1, 146,
1131 -1, 129, -1, 132, -1, 130, -1, 131, -1, 137,
1132 -1, 138, -1, 123, -1, 125, -1, 124, -1, 133,
1133 -1, 134, -1, 126, -1, 128, -1, 141, -1, 143,
1134 -1, 156, -1, 155, -1, 140, -1, 142, -1, 181,
1135 -1, 191, -1, 139, -1, 154, -1, 153, -1, 164,
1136 -1, 162, -1, 163, -1, 157, -1, 158, -1, 159,
1137 -1, 160, -1, 161, -1, 165, -1, 166, -1, 169,
1138 -1, 170, -1, 167, -1, 168, -1, 152, -1, 149,
1139 -1, 150, -1, 151, -1, 121, -1, 122, -1, 135,
1140 -1, 136, -1, 112, 312, -1, 114, 312, -1, 113,
1141 312, -1, 343, 312, -1, 336, 312, -1, 334, 312,
1142 -1, 337, 312, -1, 335, 312, -1, 339, 312, -1,
1143 338, 312, -1, 340, 312, -1, 341, 312, -1, 171,
1144 361, -1, 173, 361, -1, 172, 361, -1, 174, 361,
1145 -1, 175, 361, -1, 176, 361, -1, 177, 361, -1,
1146 178, 361, -1, 179, 361, -1, 180, 361, -1, 472,
1147 361, -1, 352, 361, -1, 366, 361, -1, 342, 361,
1148 -1, 312, 347, 312, -1, 349, -1, 349, 88, 348,
1149 91, -1, 383, -1, 383, 21, 348, -1, 324, 350,
1150 -1, 344, 350, -1, 345, 350, -1, -1, 347, -1,
1151 -1, -1, -1, 361, 68, 471, 312, 19, 353, 417,
1152 362, 418, 354, 20, 351, -1, -1, -1, 361, 69,
1153 471, 312, 19, 355, 417, 362, 418, 356, 20, -1,
1154 361, 68, 471, 312, 19, 20, -1, 361, 69, 471,
1155 312, 19, 20, -1, -1, -1, 361, 68, 312, 19,
1156 357, 417, 362, 418, 358, 20, -1, -1, -1, 361,
1157 69, 312, 19, 359, 417, 362, 418, 360, 20, -1,
1158 361, 68, 312, 19, 20, -1, 361, 69, 312, 19,
1159 20, -1, 361, 68, 471, 361, -1, 361, 69, 471,
1160 361, -1, -1, 363, -1, 215, -1, 362, 363, -1,
1161 347, 361, 364, 312, 18, -1, 347, 312, 18, -1,
1162 365, 361, -1, 364, 21, 365, 361, -1, 371, -1,
1163 22, 312, 302, -1, 371, 22, 312, 302, -1, 361,
1164 70, 19, 368, 20, 312, -1, -1, 361, 70, 471,
1165 19, 367, 368, 20, 312, -1, 361, 70, 471, 312,
1166 -1, 369, -1, 368, 21, 369, -1, 368, 21, -1,
1167 471, -1, 471, 23, 312, 302, -1, 206, -1, 385,
1168 -1, 375, 195, -1, 375, 370, -1, 206, -1, 375,
1169 206, -1, 378, -1, 361, 376, -1, 112, -1, 113,
1170 -1, 114, -1, 373, -1, 374, 373, -1, 34, -1,
1171 34, 374, -1, 34, 375, -1, 34, 374, 375, -1,
1172 377, -1, 377, 21, 5, -1, 471, -1, 377, 21,
1173 471, -1, 5, -1, 379, -1, 379, 21, 5, -1,
1174 -1, 380, 382, -1, -1, 379, 21, 381, 382, -1,
1175 312, 347, 370, 312, -1, 471, -1, 346, -1, 346,
1176 384, -1, 375, -1, 386, -1, 375, 386, -1, -1,
1177 386, -1, 312, 24, 361, 384, 25, -1, 26, 27,
1178 -1, 26, 302, 27, -1, 386, 26, 27, -1, 386,
1179 26, 302, 27, -1, 312, 24, 25, -1, 312, 24,
1180 378, 25, -1, 386, 312, 24, 25, -1, 386, 312,
1181 24, 378, 25, -1, 405, -1, 407, -1, 410, -1,
1182 413, -1, 428, -1, 431, -1, 465, -1, 436, -1,
1183 467, -1, 388, -1, 96, 24, 300, 25, -1, 391,
1184 -1, 389, -1, 398, -1, 391, 398, -1, 435, 391,
1185 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1186 404, 11, 24, 300, 25, -1, 393, 398, -1, -1,
1187 -1, 13, 24, 301, 18, 301, 18, 394, 301, 395,
1188 25, -1, -1, 193, 415, 24, 397, 439, 25, -1,
1189 194, -1, 405, -1, 407, -1, 410, -1, 401, 424,
1190 -1, 401, -1, 402, -1, 428, -1, 399, -1, 392,
1191 -1, 396, -1, 467, -1, 24, 398, 25, -1, 1,
1192 -1, -1, 430, 400, 398, -1, 415, 19, -1, 419,
1193 20, -1, 404, -1, 423, -1, 405, -1, 407, -1,
1194 410, -1, 414, -1, 429, -1, 431, -1, 436, -1,
1195 466, -1, 24, 404, 25, -1, 467, -1, 388, -1,
1196 1, -1, 471, 22, -1, 111, 387, -1, -1, 102,
1197 406, -1, -1, 6, 302, 408, 22, -1, -1, 102,
1198 406, 6, 302, 409, 22, -1, -1, 7, 411, 22,
1199 -1, -1, 102, 406, 7, 412, 22, -1, 24, 413,
1200 25, -1, 415, 421, -1, 415, 422, 416, -1, -1,
1201 -1, -1, -1, -1, 20, -1, 111, 20, -1, 427,
1202 20, -1, 427, 111, 20, -1, 424, 20, -1, 424,
1203 111, 20, -1, 424, 427, 20, -1, 424, 427, 111,
1204 20, -1, 19, 420, -1, 19, 20, -1, 19, 423,
1205 20, -1, 19, 424, 20, -1, 19, 424, 427, 20,
1206 -1, 404, -1, 423, 404, -1, 303, -1, 424, 303,
1207 -1, 426, -1, 425, 21, 426, -1, 299, -1, 19,
1208 425, 469, 20, -1, 387, -1, 427, 387, -1, 18,
1209 -1, 300, 18, -1, 18, -1, 300, 18, -1, 300,
1210 -1, 8, 24, 300, 25, -1, 430, 387, -1, -1,
1211 430, 387, 9, 432, 387, -1, -1, 10, 24, 300,
1212 433, 25, 387, -1, 11, 24, 300, 25, -1, 11,
1213 24, 300, 25, -1, -1, -1, 193, 437, 415, 24,
1214 438, 439, 25, 413, 463, 416, -1, 441, -1, -1,
1215 439, 440, 21, 441, -1, 462, -1, 470, -1, 190,
1216 -1, 189, -1, 192, -1, 442, 192, -1, 442, -1,
1217 24, 300, 25, -1, 443, -1, 271, 26, 300, 27,
1218 -1, 271, 24, 25, -1, 271, 24, 272, 25, -1,
1219 71, 24, 299, 21, 383, 25, -1, 271, 361, 28,
1220 471, 312, -1, 271, 361, 45, 471, 312, -1, 271,
1221 48, -1, 271, 49, -1, 444, -1, 48, 273, -1,
1222 49, 273, -1, 29, 281, -1, 34, 281, -1, 33,
1223 281, -1, 32, 281, -1, 31, 281, -1, 30, 281,
1224 -1, 276, -1, 445, -1, 24, 383, 25, 281, -1,
1225 446, -1, 282, 34, 281, -1, 282, 35, 281, -1,
1226 282, 36, 281, -1, 447, -1, 283, 33, 282, -1,
1227 283, 32, 282, -1, 448, -1, 284, 50, 283, -1,
1228 284, 51, 283, -1, 449, -1, 285, 37, 284, -1,
1229 285, 38, 284, -1, 285, 52, 284, -1, 285, 53,
1230 284, -1, 450, -1, 286, 54, 285, -1, 286, 55,
1231 285, -1, 451, -1, 287, 29, 286, -1, 452, -1,
1232 288, 39, 287, -1, 453, -1, 289, 40, 288, -1,
1233 454, -1, 290, 56, 289, -1, 455, -1, 292, 57,
1234 290, -1, 456, -1, -1, -1, 292, 41, 458, 22,
1235 459, 294, -1, -1, -1, 292, 41, 460, 300, 22,
1236 461, 294, -1, 457, -1, 273, 23, 299, -1, 273,
1237 58, 299, -1, 273, 59, 299, -1, 273, 60, 299,
1238 -1, 273, 61, 299, -1, 273, 62, 299, -1, 273,
1239 63, 299, -1, 273, 64, 299, -1, 273, 65, 299,
1240 -1, 273, 66, 299, -1, 273, 67, 299, -1, 194,
1241 -1, -1, 12, -1, 434, 387, -1, 464, 387, 11,
1242 24, 300, 25, 18, -1, 393, 387, -1, 434, 404,
1243 -1, 464, 404, 11, 24, 300, 25, 18, -1, 464,
1244 404, 11, 24, 300, 25, -1, 393, 404, -1, 14,
1245 471, 18, -1, 15, 18, -1, 101, 15, 18, -1,
1246 16, 18, -1, 97, 16, 18, -1, 98, 16, 18,
1247 -1, 99, 16, 18, -1, 100, 16, 18, -1, 17,
1248 18, -1, 17, 300, 18, -1, -1, 18, -1, -1,
1249 21, -1, 188, -1, 189, -1, 193, -1, 194, -1,
1250 470, -1, 190, -1, 195, -1, 190, -1, 44, 24,
1251 300, 25, -1, 44, 24, 383, 25, -1
d0b80d80 1252};
1253
08cf8642 1254/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1255static const yytype_uint16 yyrline[] =
d0b80d80 1256{
08cf8642 1257 0, 327, 327, 329, 333, 334, 338, 339, 340, 341,
1258 342, 343, 344, 345, 349, 351, 356, 356, 365, 371,
1259 376, 377, 382, 383, 385, 387, 405, 404, 436, 435,
1260 465, 466, 468, 472, 490, 489, 502, 501, 516, 517,
1261 515, 524, 525, 526, 527, 531, 535, 540, 540, 545,
1262 545, 553, 554, 558, 564, 565, 569, 570, 574, 580,
1263 581, 585, 586, 587, 591, 592, 593, 599, 600, 604,
1264 606, 608, 610, 619, 621, 623, 625, 642, 646, 647,
1265 654, 655, 665, 666, 671, 672, 673, 674, 675, 676,
1266 680, 681, 682, 683, 684, 685, 689, 693, 693, 702,
1267 706, 711, 710, 725, 727, 732, 736, 737, 741, 745,
1268 751, 756, 757, 761, 765, 766, 770, 771, 772, 776,
1269 777, 778, 779, 780, 784, 785, 786, 787, 788, 792,
1270 793, 797, 804, 809, 809, 815, 816, 815, 826, 837,
1271 838, 842, 843, 844, 845, 846, 847, 848, 849, 850,
1272 854, 855, 860, 861, 865, 867, 869, 870, 871, 872,
1273 873, 875, 880, 881, 885, 891, 904, 905, 906, 907,
1274 908, 909, 910, 910, 916, 917, 918, 919, 920, 921,
1275 922, 923, 924, 925, 930, 931, 935, 936, 937, 938,
1276 939, 940, 941, 942, 943, 944, 945, 949, 950, 952,
1277 956, 962, 962, 966, 969, 973, 974, 975, 976, 982,
1278 983, 988, 989, 990, 991, 995, 996, 997, 1001, 1002,
1279 1003, 1007, 1008, 1009, 1010, 1011, 1015, 1016, 1017, 1021,
1280 1022, 1026, 1027, 1031, 1032, 1036, 1038, 1037, 1049, 1051,
1281 1050, 1063, 1065, 1067, 1064, 1069, 1070, 1069, 1075, 1076,
1282 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1283 1090, 1091, 1095, 1096, 1100, 1106, 1107, 1108, 1112, 1127,
1284 1126, 1138, 1137, 1146, 1147, 1151, 1156, 1156, 1161, 1161,
1285 1164, 1165, 1169, 1173, 1177, 1181, 1182, 1186, 1190, 1191,
1286 1195, 1196, 1200, 1201, 1202, 1203, 1211, 1212, 1217, 1218,
1287 1222, 1223, 1227, 1229, 1239, 1240, 1241, 1242, 1243, 1247,
1288 1252, 1251, 1267, 1271, 1276, 1275, 1290, 1289, 1321, 1322,
1289 1326, 1327, 1328, 1329, 1330, 1334, 1335, 1336, 1337, 1341,
1290 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351,
1291 1352, 1353, 1354, 1355, 1356, 1357, 1361, 1362, 1366, 1367,
1292 1371, 1372, 1376, 1377, 1378, 1379, 1380, 1384, 1385, 1386,
1293 1387, 1388, 1389, 1393, 1394, 1395, 1396, 1400, 1401, 1402,
1294 1403, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415,
1295 1416, 1417, 1418, 1426, 1427, 1428, 1429, 1430, 1431, 1432,
1296 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1443, 1448, 1449,
1297 1454, 1455, 1460, 1461, 1462, 1466, 1467, 1471, 1478, 1480,
1298 1478, 1484, 1486, 1484, 1489, 1491, 1493, 1495, 1493, 1498,
1299 1500, 1498, 1503, 1505, 1507, 1508, 1512, 1516, 1517, 1518,
1300 1522, 1524, 1529, 1531, 1536, 1537, 1538, 1543, 1545, 1545,
1301 1547, 1551, 1553, 1555, 1559, 1564, 1572, 1573, 1574, 1580,
1302 1585, 1586, 1591, 1592, 1596, 1597, 1598, 1602, 1603, 1607,
1303 1608, 1609, 1610, 1614, 1615, 1619, 1620, 1624, 1625, 1626,
1304 1630, 1630, 1631, 1631, 1636, 1648, 1665, 1666, 1670, 1671,
1305 1672, 1676, 1677, 1681, 1683, 1684, 1686, 1687, 1689, 1691,
1306 1693, 1695, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709,
1307 1710, 1711, 1715, 1719, 1723, 1727, 1728, 1733, 1735, 1737,
1308 1739, 1745, 1745, 1744, 1753, 1752, 1756, 1760, 1761, 1762,
1309 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772,
1310 1776, 1776, 1783, 1787, 1791, 1792, 1796, 1797, 1798, 1799,
1311 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1811, 1812,
1312 1820, 1821, 1828, 1828, 1830, 1830, 1835, 1835, 1837, 1837,
1313 1842, 1843, 1848, 1852, 1856, 1860, 1864, 1868, 1872, 1873,
1314 1874, 1875, 1877, 1878, 1880, 1882, 1889, 1894, 1896, 1898,
1315 1900, 1905, 1906, 1910, 1911, 1915, 1916, 1920, 1921, 1925,
1316 1926, 1930, 1931, 1935, 1936, 1937, 1941, 1955, 1960, 1960,
1317 1965, 1965, 1970, 1976, 1980, 1981, 1980, 1991, 1992, 1992,
1318 1997, 1998, 1999, 2010, 2018, 2019, 2023, 2024, 2028, 2029,
1319 2030, 2031, 2032, 2034, 2035, 2036, 2037, 2041, 2042, 2043,
1320 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2054, 2055, 2059,
1321 2060, 2061, 2062, 2066, 2067, 2068, 2072, 2073, 2074, 2078,
1322 2079, 2080, 2081, 2082, 2086, 2087, 2088, 2092, 2093, 2097,
1323 2098, 2102, 2103, 2107, 2108, 2112, 2113, 2117, 2118, 2119,
1324 2118, 2121, 2122, 2121, 2127, 2128, 2129, 2130, 2131, 2132,
1325 2133, 2134, 2135, 2136, 2137, 2138, 2142, 2143, 2147, 2151,
1326 2153, 2155, 2160, 2161, 2163, 2165, 2169, 2170, 2171, 2173,
1327 2174, 2175, 2176, 2177, 2178, 2179, 2182, 2184, 2187, 2189,
1328 2193, 2197, 2198, 2199, 2200, 2201, 2205, 2206, 2207, 2208
d0b80d80 1329};
1330#endif
1331
08cf8642 1332#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1333/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1334 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
d0b80d80 1335static const char *const yytname[] =
1336{
08cf8642 1337 "$end", "error", "$undefined", "BADTOK", "SKIPTOK", "CTOK_ELIPSIS",
1338 "CASE", "DEFAULT", "CIF", "CELSE", "SWITCH", "WHILE", "DO", "CFOR",
1339 "GOTO", "CONTINUE", "BREAK", "RETURN", "TSEMI", "TLBRACE", "TRBRACE",
1340 "TCOMMA", "TCOLON", "TASSIGN", "TLPAREN", "TRPAREN", "TLSQBR", "TRSQBR",
1341 "TDOT", "TAMPERSAND", "TEXCL", "TTILDE", "TMINUS", "TPLUS", "TMULT",
1342 "TDIV", "TPERCENT", "TLT", "TGT", "TCIRC", "TBAR", "TQUEST", "CSIZEOF",
1343 "CALIGNOF", "CTYPEOF", "ARROW_OP", "CTYPEDEF", "COFFSETOF", "INC_OP",
1344 "DEC_OP", "LEFT_OP", "RIGHT_OP", "LE_OP", "GE_OP", "EQ_OP", "NE_OP",
1345 "AND_OP", "OR_OP", "MUL_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN",
1346 "ADD_ASSIGN", "SUB_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN", "AND_ASSIGN",
1347 "XOR_ASSIGN", "OR_ASSIGN", "CSTRUCT", "CUNION", "CENUM", "VA_ARG",
1348 "VA_DCL", "QWARN", "QGLOBALS", "QMODIFIES", "QNOMODS", "QCONSTANT",
1349 "QFUNCTION", "QITER", "QDEFINES", "QUSES", "QALLOCATES", "QSETS",
1350 "QRELEASES", "QPRECLAUSE", "QPOSTCLAUSE", "QINVARIANT", "QALT", "QUNDEF",
1351 "QKILLED", "QENDMACRO", "LLMACRO", "LLMACROITER", "LLMACROEND",
1352 "TENDMACRO", "QDREVEALSTATE", "QSWITCHBREAK", "QLOOPBREAK",
1353 "QINNERBREAK", "QSAFEBREAK", "QINNERCONTINUE", "QFALLTHROUGH",
1354 "QLINTNOTREACHED", "QLINTFALLTHROUGH", "QLINTFALLTHRU", "QARGSUSED",
1355 "QPRINTFLIKE", "QLINTPRINTFLIKE", "QSCANFLIKE", "QMESSAGELIKE",
1356 "QNOTREACHED", "QCONST", "QRESTRICT", "QVOLATILE", "QINLINE",
1357 "QEXTENSION", "QEXTERN", "QSTATIC", "QAUTO", "QREGISTER", "QOUT", "QIN",
1358 "QYIELD", "QONLY", "QTEMP", "QSHARED", "QREF", "QUNIQUE", "QCHECKED",
1359 "QUNCHECKED", "QCHECKEDSTRICT", "QCHECKMOD", "QKEEP", "QKEPT",
1360 "QPARTIAL", "QSPECIAL", "QOWNED", "QDEPENDENT", "QRETURNED", "QEXPOSED",
1361 "QNULL", "QOBSERVER", "QISNULL", "QEXITS", "QMAYEXIT", "QNEVEREXIT",
1362 "QTRUEEXIT", "QFALSEEXIT", "QLONG", "QSIGNED", "QUNSIGNED", "QSHORT",
1363 "QUNUSED", "QSEF", "QNOTNULL", "QRELNULL", "QABSTRACT", "QNUMABSTRACT",
1364 "QCONCRETE", "QMUTABLE", "QIMMUTABLE", "QTRUENULL", "QFALSENULL",
1365 "QEXTERNAL", "QREFCOUNTED", "QREFS", "QNEWREF", "QTEMPREF", "QKILLREF",
1366 "QRELDEF", "CGCHAR", "CBOOL", "CINT", "CGFLOAT", "CDOUBLE", "CVOID",
1367 "QANYTYPE", "QINTEGRALTYPE", "QUNSIGNEDINTEGRALTYPE",
1368 "QSIGNEDINTEGRALTYPE", "QNULLTERMINATED", "QSETBUFFERSIZE",
1369 "QSETSTRINGLENGTH", "QMAXSET", "QMAXREAD", "QTESTINRANGE", "TCAND",
1370 "IDENTIFIER", "NEW_IDENTIFIER", "TYPE_NAME_OR_ID", "CANNOTATION",
1371 "CCONSTANT", "ITER_NAME", "ITER_ENDNAME", "TYPE_NAME", "METASTATE_NAME",
1372 "$accept", "file", "externalDefs", "externalDef", "constantDecl",
1373 "fcnDecl", "@1", "plainFcn", "plainNamedDecl", "namedDeclBase", "@2",
1374 "@3", "plainNamedDeclBase", "@4", "@5", "iterDecl", "@6", "@7",
1375 "macroDef", "fcnDefHdr", "metaStateConstraint", "metaStateSpecifier",
1376 "@8", "@9", "metaStateExpression", "metaStateName",
1377 "constraintSeperator", "BufConstraintList", "BufConstraint",
1378 "bufferModifier", "relationalOp", "BufConstraintExpr",
1379 "BufConstraintTerm", "BufConstraintSrefExpr", "BufUnaryOp",
1380 "BufBinaryOp", "functionClauses", "functionClausesPlain",
1381 "functionClause", "functionClausePlain", "globalsClause",
1382 "globalsClausePlain", "@10", "nomodsClause", "modifiesClause",
1383 "modifiesClausePlain", "@11", "flagSpec", "flagId", "optWarnClause",
1384 "warnClause", "warnClausePlain", "globIdList", "globIdListExpr",
1385 "optGlobQuals", "globId", "globQual", "stateTag", "conditionTag",
1386 "fcnDefHdrAux", "fcnBody", "@12", "@13", "@14", "fcnDef", "locModifies",
1387 "modListExpr", "mExpr", "modList", "specClauseListExpr",
1388 "optSpecClauseList", "specClauseList", "primaryExpr", "@15",
1389 "postfixExpr", "argumentExprList", "unaryExpr", "fieldDesignator",
1390 "offsetofExpr", "sizeofExpr", "@16", "processSizeof", "endprocessSizeof",
1391 "sizeofExprAux", "castExpr", "timesExpr", "plusExpr", "shiftExpr",
1392 "relationalExpr", "equalityExpr", "bitandExpr", "xorExpr", "bitorExpr",
1393 "andExpr", "@17", "orExpr", "@18", "conditionalExpr", "@19", "@20",
1394 "@21", "@22", "assignExpr", "expr", "optExpr", "constantExpr",
1395 "initializer", "instanceDecl", "@23", "@24", "namedInitializerType",
1396 "namedInitializer", "@25", "typeDecl", "@26", "IsType", "PushType",
1397 "namedInitializerList", "namedInitializerListAux",
1398 "namedInitializerTypeList", "namedInitializerTypeListAux",
1399 "optDeclarators", "init", "designation", "designatorList", "designator",
1400 "initList", "storageSpecifier", "stateClause", "stateClausePlain", "@27",
1401 "conditionClause", "startConditionClause", "conditionClausePlain", "@28",
1402 "@29", "functionConstraint", "exitsQualifier", "checkQualifier",
1403 "stateQualifier", "paramQualifier", "visibilityQualifier",
1404 "returnQualifier", "typedefQualifier", "refcountQualifier",
1405 "typeModifier", "definedQualifier", "typeQualifier", "typeSpecifier",
1406 "completeType", "completeTypeSpecifier", "altType",
1407 "completeTypeSpecifierAux", "optCompleteType", "optStructInvariant",
1408 "suSpc", "@30", "@31", "@32", "@33", "@34", "@35", "@36", "@37",
1409 "NotType", "structDeclList", "structDecl", "structNamedDeclList",
1410 "structNamedDecl", "enumSpc", "@38", "enumeratorList", "enumerator",
1411 "optNamedDecl", "namedDecl", "genericParamList", "innerMods",
1412 "innerModsList", "pointers", "paramIdList", "idList", "paramTypeList",
1413 "paramList", "@39", "@40", "paramDecl", "typeExpression", "abstractDecl",
1414 "optAbstractDeclBase", "abstractDeclBase", "stmt", "debugStmt",
1415 "iterBody", "endBody", "iterDefStmtList", "iterDefIterationStmt",
1416 "forPred", "@41", "@42", "partialIterStmt", "@43", "iterDefStmt",
1417 "iterSelectionStmt", "@44", "openScope", "closeScope", "macroBody",
1418 "stmtErr", "labeledStmt", "optExtraFallThroughs", "caseStmt", "@45",
1419 "@46", "defaultStmt", "@47", "@48", "compoundStmt", "compoundStmtErr",
1420 "CreateInnerScope", "DeleteInnerScope", "CreateStructInnerScope",
1421 "DeleteStructInnerScope", "DeleteInnerScopeSafe", "compoundStmtRest",
1422 "compoundStmtAux", "compoundStmtAuxErr", "stmtListErr",
1423 "initializerList", "typeInitializerList", "typeInitializer", "stmtList",
1424 "expressionStmt", "expressionStmtErr", "ifPred", "selectionStmt", "@49",
1425 "@50", "whilePred", "iterWhilePred", "iterStmt", "@51", "@52",
1426 "iterArgList", "@53", "iterArgExpr", "cconstantExpr", "primaryIterExpr",
1427 "postfixIterExpr", "unaryIterExpr", "castIterExpr", "timesIterExpr",
1428 "plusIterExpr", "shiftIterExpr", "relationalIterExpr",
1429 "equalityIterExpr", "bitandIterExpr", "xorIterExpr", "bitorIterExpr",
1430 "andIterExpr", "orIterExpr", "conditionalIterExpr", "@54", "@55", "@56",
1431 "@57", "assignIterExpr", "endIter", "doHeader", "iterationStmt",
1432 "iterationStmtErr", "jumpStmt", "optSemi", "optComma", "id", "newId",
d0b80d80 1433 "typeName", 0
1434};
1435#endif
1436
08cf8642 1437# ifdef YYPRINT
1438/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1439 token YYLEX-NUM. */
1440static const yytype_uint16 yytoknum[] =
1441{
1442 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1443 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1444 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1445 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1446 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1447 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1448 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1449 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1450 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1451 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1452 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1453 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1454 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1455 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1456 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1457 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1458 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1459 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1460 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1461 445, 446, 447, 448, 449, 450, 451
1462};
1463# endif
1464
1465/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1466static const yytype_uint16 yyr1[] =
d0b80d80 1467{
08cf8642 1468 0, 197, 198, 198, 199, 199, 200, 200, 200, 200,
1469 200, 200, 200, 200, 201, 201, 203, 202, 204, 204,
1470 205, 205, 206, 206, 206, 206, 207, 206, 208, 206,
1471 209, 209, 209, 209, 210, 209, 211, 209, 213, 214,
1472 212, 215, 215, 215, 215, 216, 217, 219, 218, 220,
1473 218, 221, 221, 222, 223, 223, 224, 224, 225, 226,
1474 226, 227, 227, 227, 228, 228, 228, 229, 229, 230,
1475 230, 230, 230, 230, 230, 230, 230, 231, 232, 232,
1476 233, 233, 234, 234, 235, 235, 235, 235, 235, 235,
1477 236, 236, 236, 236, 236, 236, 237, 239, 238, 240,
1478 241, 243, 242, 244, 244, 245, 246, 246, 247, 248,
1479 248, 249, 249, 250, 251, 251, 252, 252, 252, 253,
1480 253, 253, 253, 253, 254, 254, 254, 254, 254, 255,
1481 255, 256, 256, 258, 257, 259, 260, 257, 261, 262,
1482 262, 263, 263, 263, 263, 263, 263, 263, 263, 263,
1483 264, 264, 265, 265, 266, 266, 266, 266, 266, 266,
1484 266, 266, 267, 267, 268, 268, 269, 269, 269, 269,
1485 269, 269, 270, 269, 271, 271, 271, 271, 271, 271,
1486 271, 271, 271, 271, 272, 272, 273, 273, 273, 273,
1487 273, 273, 273, 273, 273, 273, 273, 274, 274, 274,
1488 275, 277, 276, 278, 279, 280, 280, 280, 280, 281,
1489 281, 282, 282, 282, 282, 283, 283, 283, 284, 284,
1490 284, 285, 285, 285, 285, 285, 286, 286, 286, 287,
1491 287, 288, 288, 289, 289, 290, 291, 290, 292, 293,
1492 292, 294, 295, 296, 294, 297, 298, 294, 299, 299,
1493 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1494 300, 300, 301, 301, 302, 303, 303, 303, 304, 305,
1495 304, 306, 304, 307, 307, 308, 309, 308, 311, 310,
1496 310, 310, 312, 313, 314, 315, 315, 316, 317, 317,
1497 318, 318, 319, 319, 319, 319, 320, 320, 321, 321,
1498 322, 322, 323, 323, 324, 324, 324, 324, 324, 325,
1499 327, 326, 328, 329, 331, 330, 332, 330, 333, 333,
1500 334, 334, 334, 334, 334, 335, 335, 335, 335, 336,
1501 336, 336, 336, 336, 336, 336, 336, 336, 336, 336,
1502 336, 336, 336, 336, 336, 336, 337, 337, 338, 338,
1503 339, 339, 340, 340, 340, 340, 340, 341, 341, 341,
1504 341, 341, 341, 342, 342, 342, 342, 343, 343, 343,
1505 343, 344, 344, 344, 344, 344, 344, 344, 344, 344,
1506 344, 344, 344, 345, 345, 345, 345, 345, 345, 345,
1507 345, 345, 345, 345, 345, 345, 345, 346, 347, 347,
1508 348, 348, 349, 349, 349, 350, 350, 351, 353, 354,
1509 352, 355, 356, 352, 352, 352, 357, 358, 352, 359,
1510 360, 352, 352, 352, 352, 352, 361, 362, 362, 362,
1511 363, 363, 364, 364, 365, 365, 365, 366, 367, 366,
1512 366, 368, 368, 368, 369, 369, 370, 370, 370, 370,
1513 371, 371, 372, 372, 373, 373, 373, 374, 374, 375,
1514 375, 375, 375, 376, 376, 377, 377, 378, 378, 378,
1515 380, 379, 381, 379, 382, 382, 383, 383, 384, 384,
1516 384, 385, 385, 386, 386, 386, 386, 386, 386, 386,
1517 386, 386, 387, 387, 387, 387, 387, 387, 387, 387,
1518 387, 387, 388, 389, 390, 391, 391, 392, 392, 392,
1519 392, 394, 395, 393, 397, 396, 396, 398, 398, 398,
1520 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
1521 400, 399, 401, 402, 403, 403, 404, 404, 404, 404,
1522 404, 404, 404, 404, 404, 404, 404, 404, 405, 405,
1523 406, 406, 408, 407, 409, 407, 411, 410, 412, 410,
1524 413, 413, 414, 415, 416, 417, 418, 419, 420, 420,
1525 420, 420, 420, 420, 420, 420, 421, 422, 422, 422,
1526 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
1527 427, 428, 428, 429, 429, 429, 430, 431, 432, 431,
1528 433, 431, 434, 435, 437, 438, 436, 439, 440, 439,
1529 441, 441, 441, 441, 442, 442, 443, 443, 444, 444,
1530 444, 444, 444, 444, 444, 444, 444, 445, 445, 445,
1531 445, 445, 445, 445, 445, 445, 445, 446, 446, 447,
1532 447, 447, 447, 448, 448, 448, 449, 449, 449, 450,
1533 450, 450, 450, 450, 451, 451, 451, 452, 452, 453,
1534 453, 454, 454, 455, 455, 456, 456, 457, 458, 459,
1535 457, 460, 461, 457, 462, 462, 462, 462, 462, 462,
1536 462, 462, 462, 462, 462, 462, 463, 463, 464, 465,
1537 465, 465, 466, 466, 466, 466, 467, 467, 467, 467,
1538 467, 467, 467, 467, 467, 467, 468, 468, 469, 469,
1539 470, 471, 471, 471, 471, 471, 472, 472, 472, 472
d0b80d80 1540};
1541
08cf8642 1542/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1543static const yytype_uint8 yyr2[] =
d0b80d80 1544{
08cf8642 1545 0, 2, 0, 1, 1, 2, 2, 1, 1, 1,
1546 1, 1, 1, 1, 8, 11, 0, 5, 1, 3,
1547 1, 2, 1, 6, 3, 6, 0, 6, 0, 7,
1548 1, 6, 3, 6, 0, 6, 0, 7, 0, 0,
1549 10, 3, 3, 3, 2, 1, 3, 0, 4, 0,
1550 4, 1, 3, 1, 1, 1, 3, 1, 3, 1,
1551 1, 1, 1, 1, 1, 4, 5, 1, 1, 1,
1552 1, 3, 4, 2, 3, 3, 3, 1, 1, 1,
1553 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1554 1, 1, 1, 1, 1, 1, 2, 0, 4, 1,
1555 2, 0, 3, 1, 3, 1, 1, 0, 2, 3,
1556 2, 1, 3, 2, 0, 2, 1, 1, 1, 1,
368f75ae 1557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
08cf8642 1558 1, 1, 3, 0, 3, 0, 0, 4, 2, 2,
1559 1, 1, 1, 1, 3, 4, 2, 3, 3, 3,
1560 1, 1, 1, 3, 1, 1, 3, 4, 2, 3,
1561 3, 3, 0, 1, 1, 3, 1, 1, 1, 3,
1562 1, 1, 0, 4, 1, 4, 3, 4, 6, 5,
1563 5, 2, 2, 7, 1, 3, 1, 2, 2, 2,
1564 2, 2, 2, 2, 2, 3, 1, 3, 4, 1,
1565 9, 0, 3, 0, 0, 4, 2, 4, 2, 1,
1566 4, 1, 3, 3, 3, 1, 3, 3, 1, 3,
1567 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
1568 3, 1, 3, 1, 3, 1, 0, 4, 1, 0,
1569 4, 1, 0, 0, 6, 0, 0, 7, 1, 3,
1570 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1571 1, 3, 0, 1, 1, 1, 1, 1, 3, 0,
1572 9, 0, 11, 1, 1, 2, 0, 6, 0, 8,
1573 4, 4, 0, 0, 2, 1, 4, 2, 1, 4,
1574 0, 4, 1, 3, 4, 2, 2, 2, 1, 2,
1575 3, 2, 1, 3, 1, 1, 1, 1, 1, 2,
1576 0, 6, 2, 2, 0, 6, 0, 5, 1, 1,
d0b80d80 1577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
d0b80d80 1578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
08cf8642 1582 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
d0b80d80 1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
08cf8642 1584 2, 2, 2, 2, 2, 2, 2, 3, 1, 4,
1585 1, 3, 2, 2, 2, 0, 1, 0, 0, 0,
1586 12, 0, 0, 11, 6, 6, 0, 0, 10, 0,
1587 0, 10, 5, 5, 4, 4, 0, 1, 1, 2,
1588 5, 3, 2, 4, 1, 3, 4, 6, 0, 8,
1589 4, 1, 3, 2, 1, 4, 1, 1, 2, 2,
1590 1, 2, 1, 2, 1, 1, 1, 1, 2, 1,
1591 2, 2, 3, 1, 3, 1, 3, 1, 1, 3,
1592 0, 2, 0, 4, 4, 1, 1, 2, 1, 1,
1593 2, 0, 1, 5, 2, 3, 3, 4, 3, 4,
1594 4, 5, 1, 1, 1, 1, 1, 1, 1, 1,
1595 1, 1, 4, 1, 1, 1, 2, 2, 7, 6,
1596 2, 0, 0, 10, 0, 6, 1, 1, 1, 1,
1597 2, 1, 1, 1, 1, 1, 1, 1, 3, 1,
1598 0, 3, 2, 2, 1, 1, 1, 1, 1, 1,
1599 1, 1, 1, 1, 3, 1, 1, 1, 2, 2,
1600 0, 2, 0, 4, 0, 6, 0, 3, 0, 5,
1601 3, 2, 3, 0, 0, 0, 0, 0, 1, 2,
1602 2, 3, 2, 3, 3, 4, 2, 2, 3, 3,
1603 4, 1, 2, 1, 2, 1, 3, 1, 4, 1,
1604 2, 1, 2, 1, 2, 1, 4, 2, 0, 5,
1605 0, 6, 4, 4, 0, 0, 10, 1, 0, 4,
1606 1, 1, 1, 1, 1, 2, 1, 3, 1, 4,
1607 3, 4, 6, 5, 5, 2, 2, 1, 2, 2,
1608 2, 2, 2, 2, 2, 2, 1, 1, 4, 1,
1609 3, 3, 3, 1, 3, 3, 1, 3, 3, 1,
1610 3, 3, 3, 3, 1, 3, 3, 1, 3, 1,
1611 3, 1, 3, 1, 3, 1, 3, 1, 0, 0,
1612 6, 0, 0, 7, 1, 3, 3, 3, 3, 3,
1613 3, 3, 3, 3, 3, 3, 1, 0, 1, 2,
1614 7, 2, 2, 7, 6, 2, 3, 2, 3, 2,
1615 3, 3, 3, 3, 2, 3, 0, 1, 0, 1,
1616 1, 1, 1, 1, 1, 1, 1, 1, 4, 4
d0b80d80 1617};
1618
08cf8642 1619/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1620 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1621 means the default is an error. */
1622static const yytype_uint16 yydefact[] =
d0b80d80 1623{
08cf8642 1624 0, 13, 12, 459, 0, 426, 266, 426, 16, 0,
1625 0, 0, 0, 282, 282, 282, 305, 304, 306, 307,
1626 308, 367, 368, 331, 333, 332, 336, 337, 325, 327,
1627 328, 326, 334, 335, 369, 370, 329, 330, 346, 342,
1628 338, 343, 339, 320, 321, 324, 322, 323, 364, 365,
1629 366, 363, 348, 347, 341, 340, 352, 353, 354, 355,
1630 356, 350, 351, 349, 357, 358, 361, 362, 359, 360,
1631 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
1632 344, 710, 711, 715, 345, 712, 713, 716, 0, 0,
1633 4, 7, 8, 450, 9, 10, 135, 45, 706, 11,
1634 265, 267, 0, 405, 282, 282, 282, 282, 282, 282,
1635 282, 282, 426, 282, 405, 405, 426, 398, 426, 0,
1636 426, 131, 282, 714, 22, 426, 454, 455, 456, 457,
1637 460, 461, 282, 285, 282, 282, 278, 426, 717, 426,
1638 426, 715, 0, 547, 203, 556, 0, 0, 0, 688,
1639 0, 0, 0, 0, 203, 593, 0, 203, 203, 203,
1640 203, 203, 203, 282, 203, 203, 0, 44, 0, 0,
1641 0, 0, 0, 0, 550, 203, 171, 167, 170, 614,
1642 604, 174, 186, 209, 196, 282, 211, 215, 218, 221,
1643 226, 229, 231, 233, 235, 238, 241, 248, 260, 595,
1644 546, 0, 0, 581, 536, 537, 538, 539, 0, 0,
1645 540, 203, 541, 0, 542, 168, 0, 543, 545, 166,
1646 0, 529, 0, 591, 0, 563, 516, 0, 0, 0,
1647 525, 0, 526, 505, 524, 521, 522, 517, 518, 519,
1648 0, 0, 523, 530, 0, 0, 527, 504, 0, 371,
1649 373, 372, 383, 385, 384, 386, 387, 388, 389, 390,
1650 391, 392, 1, 5, 282, 0, 133, 138, 426, 707,
1651 6, 426, 406, 402, 376, 378, 375, 377, 380, 379,
1652 381, 382, 396, 374, 403, 404, 0, 282, 282, 394,
1653 282, 282, 0, 395, 451, 393, 458, 462, 282, 167,
1654 170, 0, 426, 476, 0, 166, 426, 0, 284, 426,
1655 0, 275, 282, 706, 18, 20, 0, 426, 282, 30,
1656 470, 209, 264, 552, 0, 203, 203, 203, 203, 0,
1657 697, 699, 704, 0, 563, 0, 0, 0, 189, 194,
1658 193, 192, 191, 190, 0, 282, 187, 188, 203, 203,
1659 0, 0, 0, 0, 0, 550, 0, 282, 549, 501,
1660 203, 492, 493, 494, 495, 0, 496, 497, 203, 499,
1661 203, 498, 500, 563, 203, 203, 181, 182, 0, 203,
1662 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1663 204, 201, 203, 203, 203, 203, 203, 203, 203, 203,
1664 203, 203, 203, 203, 203, 203, 203, 203, 236, 245,
1665 239, 594, 203, 695, 41, 0, 564, 582, 597, 692,
1666 615, 0, 548, 203, 0, 0, 0, 592, 42, 506,
1667 510, 583, 426, 520, 532, 533, 0, 0, 0, 43,
1668 24, 203, 470, 426, 426, 282, 268, 132, 0, 400,
1669 0, 426, 0, 426, 0, 282, 0, 718, 282, 203,
1670 0, 478, 477, 479, 719, 282, 281, 282, 280, 276,
1671 426, 0, 282, 0, 426, 282, 21, 467, 0, 0,
1672 452, 468, 282, 0, 557, 0, 600, 0, 263, 0,
1673 696, 705, 563, 0, 169, 203, 544, 282, 0, 0,
1674 0, 700, 701, 702, 703, 698, 551, 203, 558, 0,
1675 691, 426, 561, 689, 0, 0, 176, 0, 184, 0,
1676 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1677 257, 258, 259, 195, 0, 212, 213, 214, 217, 216,
1678 219, 220, 222, 223, 224, 225, 227, 228, 230, 232,
1679 234, 203, 0, 203, 203, 261, 577, 717, 581, 0,
1680 426, 562, 598, 0, 0, 528, 514, 282, 584, 531,
1681 0, 0, 26, 0, 568, 203, 589, 134, 426, 203,
1682 563, 282, 269, 399, 282, 416, 0, 424, 419, 0,
1683 425, 0, 441, 444, 438, 440, 397, 484, 0, 470,
1684 480, 203, 0, 286, 274, 288, 273, 282, 282, 282,
1685 706, 17, 32, 203, 470, 282, 19, 453, 463, 465,
1686 38, 472, 426, 471, 475, 553, 596, 0, 602, 203,
1687 173, 203, 210, 426, 0, 282, 502, 554, 0, 560,
1688 576, 0, 605, 203, 177, 175, 282, 282, 203, 203,
1689 202, 237, 243, 0, 240, 578, 579, 203, 203, 203,
1690 603, 203, 426, 203, 426, 80, 28, 569, 572, 203,
1691 203, 570, 203, 590, 137, 0, 271, 282, 401, 422,
1692 565, 408, 423, 565, 411, 282, 443, 282, 0, 485,
1693 488, 282, 0, 486, 0, 470, 426, 107, 287, 203,
1694 282, 282, 0, 34, 0, 282, 0, 82, 469, 282,
1695 481, 203, 0, 203, 587, 708, 585, 0, 0, 0,
1696 559, 203, 203, 185, 179, 180, 282, 206, 282, 208,
1697 203, 246, 580, 599, 0, 282, 203, 203, 203, 203,
1698 203, 203, 203, 203, 0, 167, 170, 186, 209, 636,
1699 215, 218, 221, 226, 229, 231, 233, 235, 238, 0,
1700 608, 607, 168, 618, 627, 637, 639, 643, 646, 649,
1701 654, 657, 659, 661, 663, 665, 667, 674, 610, 166,
1702 0, 25, 0, 97, 101, 99, 124, 125, 126, 127,
1703 128, 129, 130, 27, 80, 84, 0, 86, 85, 0,
1704 89, 0, 426, 426, 87, 0, 88, 316, 0, 80,
1705 573, 574, 203, 571, 23, 282, 290, 426, 414, 565,
1706 426, 415, 565, 437, 442, 203, 0, 0, 489, 487,
1707 490, 0, 282, 0, 106, 203, 203, 0, 292, 277,
1708 203, 0, 298, 0, 203, 0, 426, 82, 36, 0,
1709 464, 466, 39, 82, 90, 92, 91, 95, 93, 94,
1710 473, 446, 0, 282, 481, 447, 482, 601, 511, 708,
1711 203, 0, 0, 178, 555, 0, 608, 0, 0, 244,
1712 203, 694, 0, 0, 189, 194, 193, 192, 191, 190,
1713 187, 188, 203, 203, 203, 181, 182, 0, 203, 203,
1714 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1715 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
1716 203, 203, 203, 203, 203, 203, 671, 203, 515, 0,
1717 509, 105, 110, 103, 114, 706, 81, 96, 100, 108,
1718 310, 313, 309, 0, 314, 312, 29, 575, 203, 0,
1719 428, 426, 426, 427, 426, 426, 426, 445, 282, 483,
1720 491, 289, 279, 302, 0, 0, 301, 295, 296, 299,
1721 297, 290, 14, 33, 35, 82, 31, 706, 83, 470,
1722 474, 448, 449, 203, 0, 586, 183, 0, 199, 0,
1723 563, 205, 207, 247, 693, 169, 203, 0, 176, 0,
1724 0, 0, 0, 675, 676, 677, 678, 679, 680, 681,
1725 682, 683, 684, 685, 212, 213, 214, 217, 216, 219,
1726 220, 222, 223, 224, 225, 227, 228, 230, 232, 234,
1727 664, 0, 203, 666, 203, 508, 109, 0, 119, 120,
1728 121, 122, 123, 706, 111, 426, 114, 0, 0, 142,
1729 143, 102, 152, 706, 140, 141, 0, 49, 0, 0,
1730 59, 60, 70, 68, 319, 0, 318, 57, 77, 0,
1731 64, 67, 0, 706, 69, 162, 290, 282, 426, 0,
1732 282, 429, 417, 426, 420, 426, 439, 293, 203, 300,
1733 706, 37, 0, 282, 512, 588, 282, 203, 0, 690,
1734 687, 210, 282, 177, 175, 282, 282, 669, 0, 609,
1735 104, 114, 98, 117, 113, 118, 116, 115, 0, 146,
1736 0, 0, 0, 0, 139, 0, 0, 155, 164, 706,
1737 154, 0, 0, 67, 0, 73, 0, 55, 54, 0,
1738 62, 61, 63, 0, 0, 0, 0, 0, 0, 282,
1739 706, 163, 0, 270, 282, 431, 282, 282, 426, 434,
1740 0, 409, 0, 412, 294, 303, 0, 40, 282, 0,
1741 200, 0, 197, 686, 564, 0, 179, 180, 203, 672,
1742 112, 147, 144, 150, 0, 151, 148, 149, 153, 0,
1743 158, 0, 0, 0, 0, 282, 0, 79, 78, 0,
1744 74, 0, 51, 46, 47, 56, 67, 58, 71, 0,
1745 75, 76, 0, 0, 317, 282, 282, 291, 203, 282,
1746 0, 432, 282, 418, 0, 421, 0, 15, 513, 198,
1747 606, 178, 670, 203, 145, 159, 156, 0, 160, 161,
1748 165, 311, 53, 50, 0, 0, 72, 48, 65, 315,
1749 272, 435, 426, 430, 203, 407, 413, 673, 157, 66,
1750 52, 433, 436, 410
d0b80d80 1751};
1752
08cf8642 1753/* YYDEFGOTO[NTERM-NUM]. */
1754static const yytype_int16 yydefgoto[] =
d0b80d80 1755{
08cf8642 1756 -1, 88, 89, 90, 91, 92, 140, 313, 314, 93,
1757 665, 809, 315, 847, 975, 94, 707, 977, 950, 96,
1758 1064, 1202, 1147, 1131, 1203, 1243, 1139, 1066, 1067, 1068,
1759 1143, 1069, 1070, 1206, 1072, 1199, 793, 852, 794, 853,
1760 795, 854, 934, 855, 798, 856, 935, 932, 933, 833,
1761 800, 801, 1043, 1044, 1045, 1114, 1046, 802, 803, 97,
1762 267, 443, 268, 580, 98, 1051, 1183, 1184, 1053, 1128,
1763 1150, 1129, 181, 334, 182, 517, 183, 987, 184, 749,
1764 534, 185, 533, 650, 186, 187, 188, 189, 190, 191,
1765 192, 193, 194, 195, 551, 196, 554, 197, 552, 730,
1766 553, 880, 198, 227, 489, 323, 431, 100, 677, 815,
1767 605, 606, 609, 101, 309, 102, 265, 134, 135, 607,
1768 608, 949, 839, 840, 841, 842, 964, 103, 804, 858,
1769 1056, 806, 807, 859, 1075, 943, 1073, 104, 105, 106,
1770 107, 108, 109, 110, 111, 112, 113, 114, 115, 303,
1771 432, 448, 117, 273, 1263, 118, 819, 1224, 822, 1226,
1772 680, 1160, 683, 1162, 119, 952, 953, 1157, 1158, 120,
1773 688, 591, 592, 863, 137, 479, 129, 130, 122, 617,
1774 618, 480, 481, 482, 709, 623, 336, 827, 865, 463,
1775 358, 359, 228, 248, 229, 230, 360, 983, 1169, 232,
1776 661, 233, 234, 436, 235, 236, 202, 417, 361, 356,
1777 362, 483, 719, 363, 324, 638, 364, 207, 365, 561,
1778 817, 1082, 241, 577, 512, 416, 209, 578, 715, 716,
1779 579, 366, 210, 211, 367, 658, 627, 368, 244, 369,
1780 373, 722, 760, 929, 761, 215, 763, 764, 765, 766,
1781 767, 768, 769, 770, 771, 772, 773, 774, 775, 776,
1782 777, 1031, 1178, 1032, 1233, 778, 1174, 370, 371, 217,
1783 372, 270, 871, 305, 220, 125
d0b80d80 1784};
1785
08cf8642 1786/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1787 STATE-NUM. */
1788#define YYPACT_NINF -1033
1789static const yytype_int16 yypact[] =
d0b80d80 1790{
08cf8642 1791 2259, -1033, -1033, 357, 60, 5469, -1033, 6624, -1033, 677,
1792 1966, 3655, 3655, -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, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1798 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1799 -1033, -1033, -1033, 805, -1033, -1033, -1033, -1033, 118, 2441,
1800 -1033, -1033, -1033, 331, -1033, -1033, 87, -1033, 134, -1033,
1801 -1033, -1033, 101, 6210, -1033, -1033, -1033, -1033, -1033, -1033,
1802 -1033, -1033, -1033, -1033, 6210, 6210, 151, 57, -1033, 666,
1803 -1033, -1033, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1804 357, -1033, 1900, -1033, 185, -1033, 151, -1033, -1033, -1033,
1805 5469, -1033, 210, -1033, 5716, -1033, 219, 230, 293, -1033,
1806 300, 677, 348, 362, 879, -1033, 2827, 5716, 5716, 5716,
1807 5716, 5716, 5716, -1033, 5748, 5748, 388, -1033, 395, 371,
1808 456, 463, 487, 417, 415, 4875, -1033, 500, 532, -1033,
1809 543, -1033, 652, 1193, -1033, -1033, -1033, 668, 145, 254,
1810 678, 474, 571, 569, 585, 579, 50, -1033, -1033, 55,
1811 -1033, 3458, 549, 560, -1033, -1033, -1033, -1033, 649, 3217,
1812 -1033, 4875, -1033, 3458, -1033, 501, 3458, -1033, -1033, 699,
1813 702, -1033, 690, -1033, 3022, 543, 704, 205, 656, 3611,
1814 -1033, 3655, -1033, -1033, -1033, 5934, -1033, -1033, -1033, -1033,
1815 740, 762, -1033, -1033, 3655, 3458, -1033, -1033, 669, -1033,
1816 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1817 -1033, -1033, -1033, -1033, 759, 765, -1033, -1033, 6486, -1033,
1818 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1819 -1033, -1033, -1033, -1033, -1033, -1033, 773, 995, -1033, -1033,
1820 677, 677, 14, -1033, 331, -1033, -1033, -1033, 5310, -1033,
1821 -1033, 94, 6624, 414, 777, -1033, -1033, 787, -1033, -1033,
1822 813, 827, 995, 134, -1033, 548, 798, -1033, 677, -1033,
1823 263, -1033, -1033, -1033, 814, 5716, 5716, 5716, 1299, 842,
1824 -1033, -1033, -1033, 346, 844, 593, 862, 867, -1033, -1033,
1825 -1033, -1033, -1033, -1033, 851, 5310, -1033, -1033, 5716, 5716,
1826 876, 926, 929, 938, 960, 415, 529, 5337, -1033, -1033,
1827 4875, -1033, -1033, -1033, -1033, 883, -1033, -1033, 4875, -1033,
1828 4875, -1033, -1033, -1033, 5641, 5716, -1033, -1033, 85, 5716,
1829 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1830 -1033, -1033, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1831 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, -1033, 892,
1832 -1033, -1033, 5716, -1033, -1033, 2632, -1033, -1033, 930, -1033,
1833 -1033, 958, -1033, 5716, 618, 972, 998, -1033, -1033, -1033,
1834 -1033, -1033, 151, 5934, -1033, -1033, 3655, 3261, 999, -1033,
1835 -1033, 5716, 368, 3808, 4959, 995, -1033, 384, 944, 1025,
1836 1030, 1033, 1036, 1033, 677, 1038, 475, -1033, -1033, 5652,
1837 1039, 567, -1033, 659, -1033, 995, -1033, 884, -1033, -1033,
1838 -1033, 973, 1049, 1041, -1033, 995, 548, -1033, 677, 1057,
1839 -1033, 1062, 677, 1064, -1033, 483, 1063, 562, 1063, 1072,
1840 -1033, -1033, 844, 1066, -1033, 5364, -1033, -1033, 1071, 1079,
1841 577, -1033, -1033, -1033, -1033, -1033, -1033, 5716, -1033, 1076,
1842 -1033, 3808, -1033, -1033, 1093, 1081, -1033, 638, -1033, 311,
1843 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1844 -1033, -1033, -1033, -1033, 631, -1033, -1033, -1033, 668, 668,
1845 145, 145, 254, 254, 254, 254, 678, 678, 474, 571,
1846 569, 5716, 1086, 5716, 5716, -1033, -1033, 2174, -1033, 3414,
1847 3998, -1033, -1033, 1087, 692, -1033, -1033, 995, -1033, -1033,
1848 1100, 1101, -1033, 1102, -1033, 4378, -1033, -1033, 4188, 4422,
1849 844, -1033, 1106, -1033, -1033, 1110, 1113, -1033, 1115, 1114,
1850 -1033, 741, -1033, 1121, -1033, -1033, -1033, -1033, 1111, 626,
1851 659, 5684, 1123, -1033, -1033, -1033, -1033, 1116, -1033, -1033,
1852 310, -1033, -1033, 5716, 502, 995, -1033, -1033, 1128, -1033,
1853 -1033, 1145, 6624, -1033, -1033, -1033, -1033, 1127, -1033, 1299,
1854 -1033, 5385, -1033, -1033, 1134, -1033, -1033, -1033, 1133, -1033,
1855 -1033, 1136, -1033, 5716, -1033, -1033, -1033, -1033, 5775, 5819,
1856 -1033, 585, -1033, 750, 579, -1033, -1033, 4529, 4875, 5716,
1857 -1033, 5853, -1033, 5716, -1033, 1496, -1033, -1033, -1033, 4573,
1858 4680, -1033, 4724, -1033, -1033, 1131, -1033, -1033, -1033, -1033,
1859 -1033, 1138, -1033, -1033, 1142, -1033, 677, -1033, 677, -1033,
1860 -1033, 132, 1144, -1033, 1150, 98, -1033, 1088, -1033, 3549,
1861 -1033, -1033, 1152, -1033, 1147, -1033, 325, 1496, -1033, 677,
1862 925, 4875, 1164, 5385, -1033, 1165, -1033, 1169, 1173, 1182,
1863 -1033, 5716, 5853, -1033, -1033, -1033, 5310, -1033, 5310, -1033,
1864 5716, -1033, -1033, -1033, 698, 5310, 5716, 5716, 5716, 5716,
1865 5716, 5716, 5748, 5748, 1139, 712, 732, 739, 1489, -1033,
1866 983, 783, 802, 761, 909, 1176, 1167, 1168, 1151, 107,
1867 1185, -1033, 45, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1868 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, 758,
1869 775, -1033, 1037, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1870 -1033, -1033, -1033, -1033, 1496, -1033, 1146, -1033, -1033, 1148,
1871 -1033, 1149, -1033, -1033, -1033, 1153, -1033, 1313, 1155, 1496,
1872 -1033, -1033, 4831, -1033, -1033, -1033, -1033, 6348, -1033, -1033,
1873 6348, -1033, -1033, -1033, -1033, 5716, 966, 1200, -1033, -1033,
1874 -1033, 1202, 884, 1211, -1033, 3549, 5716, 677, -1033, -1033,
1875 3549, 519, -1033, 1225, 3549, 1157, -1033, 1496, -1033, 1208,
1876 -1033, -1033, -1033, 1496, -1033, -1033, -1033, -1033, -1033, -1033,
1877 -1033, 331, 1226, -1033, 1007, -1033, 659, -1033, -1033, 1165,
1878 3701, 1244, 677, -1033, -1033, 782, 1240, 1241, 1242, -1033,
1879 5716, 1250, 803, 1245, 804, 822, 824, 848, 855, 857,
1880 864, 880, 5716, 5673, 5716, 896, 908, 109, 5716, 5716,
1881 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1882 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716, 5716,
1883 5716, 5716, 5716, 5716, 5716, 5716, 1252, 5716, -1033, 1254,
1884 1259, -1033, 1090, 1238, 11, 301, -1033, -1033, -1033, -1033,
1885 -1033, -1033, -1033, 453, -1033, -1033, -1033, -1033, 3549, 376,
1886 -1033, 151, 5121, -1033, 6348, 5121, 6348, -1033, -1033, -1033,
1887 -1033, -1033, -1033, -1033, 993, 1256, -1033, -1033, -1033, -1033,
1888 -1033, -1033, -1033, -1033, -1033, 1496, -1033, 134, -1033, 233,
1889 -1033, -1033, -1033, 5705, 1264, -1033, -1033, 258, -1033, 1267,
1890 844, 1134, 1134, -1033, -1033, 913, 5364, 1258, 915, 921,
1891 358, 677, 677, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1892 -1033, -1033, -1033, -1033, 933, 940, 941, 1188, 1196, 874,
1893 898, 84, 363, 455, 530, 91, 552, 106, 165, 477,
1894 585, 1265, 5716, 579, 5853, -1033, 501, 1037, -1033, -1033,
1895 -1033, -1033, -1033, 399, -1033, 6072, 11, 164, 164, -1033,
1896 -1033, -1033, 317, 442, -1033, -1033, 63, -1033, 982, 90,
1897 -1033, -1033, -1033, -1033, -1033, 1263, -1033, 43, -1033, 1008,
1898 -1033, 76, 1274, 134, -1033, 63, -1033, -1033, -1033, 1270,
1899 133, -1033, -1033, 5121, -1033, 5121, -1033, -1033, 5289, -1033,
1900 467, -1033, 1209, 240, -1033, -1033, -1033, 5716, 677, -1033,
1901 1105, 949, -1033, 951, 959, -1033, -1033, -1033, 1003, -1033,
1902 -1033, 11, -1033, -1033, -1033, -1033, -1033, -1033, 498, 317,
1903 793, 677, 677, 164, -1033, 63, 63, -1033, 416, 491,
1904 -1033, 1279, 1004, 581, 90, 421, 58, -1033, -1033, 982,
1905 -1033, -1033, -1033, 982, 22, 677, 677, 1282, 982, -1033,
1906 134, 1284, 612, -1033, 995, -1033, -1033, 1285, -1033, 1286,
1907 1287, -1033, 1289, -1033, -1033, -1033, 1219, -1033, 587, 1288,
1908 -1033, 447, -1033, -1033, -1033, 1290, 971, 984, 5716, -1033,
1909 -1033, -1033, -1033, 317, 1291, 501, -1033, -1033, 317, 639,
1910 416, 850, 677, 677, 63, -1033, 1118, -1033, -1033, 982,
1911 -1033, 581, 1272, -1033, 421, -1033, 421, -1033, -1033, 1293,
1912 -1033, -1033, 1118, 1297, -1033, -1033, -1033, -1033, 5716, 133,
1913 1298, -1033, -1033, -1033, 1304, -1033, 1306, -1033, -1033, -1033,
1914 -1033, 986, -1033, 5716, -1033, -1033, -1033, 1300, -1033, -1033,
1915 416, -1033, -1033, -1033, 1311, 58, -1033, -1033, -1033, -1033,
1916 -1033, -1033, -1033, -1033, 5716, -1033, -1033, -1033, -1033, -1033,
1917 -1033, -1033, -1033, -1033
d0b80d80 1918};
1919
08cf8642 1920/* YYPGOTO[NTERM-NUM]. */
1921static const yytype_int16 yypgoto[] =
d0b80d80 1922{
08cf8642 1923 -1033, -1033, -1033, 1248, -1033, -1033, -1033, -1033, -403, -118,
1924 -1033, -1033, 1020, -1033, -1033, -1033, -1033, -1033, 64, -1033,
1925 -1033, 397, -1033, -1033, 96, 130, -1033, 206, -1033, -1033,
1926 -1033, -938, -1033, -886, -1033, -1033, -620, -778, -1033, -1033,
1927 -1033, -610, -1033, -594, -1033, -577, -1033, 312, -1033, -1033,
1928 654, -668, -1033, 242, 308, -1033, -1033, -1033, -1033, -1033,
1929 -1033, -1033, -1033, -1033, -1033, -1033, -898, 166, -1033, -1032,
1930 -1033, 280, -1033, -1033, -636, 466, 1132, -1033, -1033, 1178,
1931 -1033, -1033, -1033, -1033, -117, -381, -345, -322, -372, -388,
1932 -347, -353, -535, -551, -1033, -626, -1033, -76, -1033, -1033,
1933 -1033, -1033, 1013, 1218, -602, -433, 6, -1033, -1033, -1033,
1934 533, -3, -1033, -1033, -1033, 634, -254, -1033, -1033, -1033,
1935 -1033, -911, -806, -1033, -1033, 523, -1033, -1033, -1033, -554,
1936 -1033, -1033, -1033, -384, -1033, -1033, -1033, -1033, -1033, 559,
1937 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1938 801, 784, -1033, 889, -1033, -1033, -1033, -1033, -1033, -1033,
1939 -1033, -1033, -1033, -1033, 224, -684, -890, -1033, 148, -1033,
1940 -1033, 683, 687, 511, 1, -395, 1246, -1033, 17, -1033,
1941 -1033, -578, -1033, -1033, -1033, 670, -125, 1074, -1033, -448,
1942 1141, 26, 1366, -1033, 1137, -1033, 744, -1033, -1033, -1033,
1943 -1033, -173, -1033, -1033, -1033, -1033, -1033, 20, 799, 1028,
1944 1251, -1033, -1033, 1261, -1033, -1033, -311, -1033, 617, 211,
1945 -423, -737, -1033, 869, -1033, -1033, 969, -187, 673, 518,
1946 -493, 127, -1033, 180, 40, -1033, -1033, 173, -1033, 337,
1947 -1033, -1033, 667, -1033, 356, -639, -1033, -1033, -1033, -1033,
1948 -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033, -1033,
1949 -1033, -1033, -1033, -1033, -1033, -1033, -1033, 1401, -1033, -1033,
1950 1588, -295, 522, 0, 19, -1033
d0b80d80 1951};
1952
08cf8642 1953/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1954 positive, shift that token. If negative, reduce the rule which
1955 number is the opposite. If zero, do what YYDEFACT says.
1956 If YYTABLE_NINF, syntax error. */
1957#define YYTABLE_NINF -718
1958static const yytype_int16 yytable[] =
d0b80d80 1959{
08cf8642 1960 123, 121, 133, 654, 294, 123, 99, 304, 571, 123,
1961 219, 219, 219, 600, 538, 539, 651, 548, 471, 124,
1962 131, 692, 762, 493, 124, 747, 598, 712, 142, 963,
1963 203, 546, 547, 454, 967, 759, 200, 1052, 971, 857,
1964 338, 339, 340, 341, 342, 343, 509, 573, 433, 1208,
1965 212, 425, 540, 541, 550, 796, 429, 1071, 430, 549,
1966 1090, 473, 1081, 1057, 95, 1081, -616, 657, 322, 974,
1967 -616, 797, 616, 411, 637, 978, 412, 542, 543, 544,
1968 545, 444, 1134, 762, 132, 670, 747, 1125, 799, 123,
1969 121, 409, 1059, 1189, 1190, 99, 759, 1126, -47, 1137,
1970 1038, 1039, 1144, 477, 1145, -650, 266, 410, 124, -650,
1971 758, 805, -655, 520, 1134, 412, -655, 831, 262, 457,
1972 1132, 1146, 123, 830, 1059, 271, 757, -658, 399, 400,
1973 521, -658, 1040, 1041, 397, 398, 955, 1001, 242, 242,
1974 123, 124, 1076, 401, 402, 288, 1042, 297, 926, 1118,
1975 1119, 123, 269, 95, 1002, 1156, 219, 318, 459, 319,
1976 403, 404, 1240, 449, 927, 1152, 3, 3, 694, -282,
1977 329, 758, 1133, 1135, 936, 219, 337, 395, 396, 857,
1978 702, 509, 200, 213, 796, 857, -660, 757, 1047, 946,
1979 -660, 243, 243, 1081, 405, 1081, 212, 1091, 1048, 796,
1980 797, 219, 81, 82, 141, 1207, 306, 85, 86, 219,
1981 1213, 219, 705, 219, 1209, 797, 219, 799, 1084, 704,
1982 498, 413, 473, 427, 219, 1188, 412, 200, 560, 219,
1983 1138, 219, 799, 419, 320, 200, 421, 420, 477, 200,
1984 805, 212, 200, 325, 219, 219, 81, 1062, 1201, 212,
1985 1204, 81, 1127, 212, 326, 805, 212, -426, 690, -426,
1986 820, 1244, 866, 569, 429, 438, 459, -426, 477, 674,
1987 1083, 200, 1085, 754, 3, 535, 536, 537, 81, 1062,
1988 750, 808, 1165, 1096, 1097, 212, 1098, 123, 447, 753,
1989 123, 123, 123, 1036, 252, 253, 254, 255, 256, 257,
1990 258, 259, 260, 261, 397, 398, 124, 857, 756, 451,
1991 453, 455, 123, 470, 755, 701, 751, 327, 123, 269,
1992 461, 81, 82, 141, 328, 1047, 85, 86, 269, 213,
1993 850, 124, 412, 700, 754, 1048, 282, 319, 645, 752,
1994 287, 750, 289, 1120, 293, 1121, 1161, 214, 1163, 295,
1995 753, 242, 81, 1049, 1050, -283, 242, 264, 242, 1204,
1996 219, 311, 1122, 312, 491, 322, 330, 412, 219, 756,
1997 219, 242, 633, 477, 213, 755, 1033, 751, 632, 412,
1998 331, 1094, 213, 322, -651, 1104, 213, 350, -651, 213,
1999 1030, 3, 957, 572, 1077, 762, 954, 1078, 747, 956,
2000 752, 692, -426, 965, 243, -426, 378, -426, 759, 243,
2001 808, 243, 348, 397, 398, 219, 866, 269, 213, 349,
2002 1111, -426, -426, -426, 243, 808, -426, -426, 81, 82,
2003 141, 322, 354, 85, 86, 558, 219, 219, -282, 568,
2004 459, 200, 1191, 219, 1192, 123, 581, 1144, 3, 1145,
2005 568, -426, -426, -426, 123, 212, -426, -426, 1057, 449,
2006 269, 1193, 603, 1123, 124, 123, 1146, 123, 412, 126,
2007 127, 128, 351, 593, 1229, 123, -652, 1058, 123, 352,
2008 -652, 1185, 123, 758, 124, 269, 124, 1059, 1078, 81,
2009 1049, 1050, 318, 214, 319, 445, 412, 619, -662, 757,
2010 494, 624, -662, 353, 412, 397, 398, 477, 626, 269,
2011 718, 219, 1194, 81, 82, 141, 406, 355, 85, 86,
2012 123, 123, -711, 1181, 1120, 322, 1121, 703, 403, 404,
2013 465, 1017, 1018, 467, 1027, 507, 508, 322, 214, 646,
2014 647, 475, 968, 1122, 478, 836, 214, 837, 1025, 1026,
2015 214, -653, 1185, 214, -715, -653, -426, -426, -426, 219,
2016 219, -426, -426, 242, 242, -712, 568, 123, 662, 1019,
2017 1020, 1029, -283, -656, 472, 219, 1028, -656, 219, 219,
2018 397, 398, 214, 412, 568, 200, 124, 628, 213, 399,
2019 400, -282, 861, 459, 1021, 1022, 1023, 1024, 412, 212,
2020 405, 877, 636, 878, 401, 402, 1200, 1144, 406, 1145,
2021 883, 411, -478, 459, 412, 123, 243, 243, 494, 884,
2022 885, 886, 887, 888, 889, 407, 1146, 208, 240, 240,
2023 1216, 477, 318, 1078, 319, 408, 427, 1060, 1061, 412,
2024 1054, 81, 1062, 494, 414, 1063, 754, 249, 250, 251,
2025 -426, 690, -426, 750, 879, -534, 567, 219, 219, 643,
2026 -426, 779, 753, 644, 1235, 1191, 478, 1192, 415, 219,
2027 219, 582, 219, 648, 649, 587, 374, 590, 375, 1100,
2028 -426, 756, 1092, -282, 1193, 601, 123, 755, 123, 751,
2029 -426, -426, -426, 420, 610, -426, -426, -426, 615, 219,
2030 376, 377, 392, 393, 394, 593, 123, 593, 461, 123,
2031 123, 219, 752, 412, 423, 399, 400, 660, 843, 412,
2032 600, -714, 779, 881, 422, 851, -713, 864, 624, 124,
2033 401, 402, 213, -613, 290, 291, 292, -613, 274, 275,
2034 276, 277, 278, 279, 280, 281, 861, 283, 1112, 322,
2035 286, 428, 214, -612, 201, 231, 231, -612, 1124, 434,
2036 322, 685, 686, 893, 439, 894, 302, -426, 307, 308,
2037 310, 412, 731, 208, 316, 81, 82, 141, 1149, -611,
2038 85, 86, 435, -611, -426, 1251, 440, 895, 896, 442,
2039 302, 446, 1014, 1015, 1016, 1166, 412, 344, 916, 917,
2040 930, 116, 464, 412, 993, 466, 136, 989, 139, 204,
2041 237, 237, 219, 918, 919, 912, 913, 1047, 208, 391,
2042 1182, 1262, 474, 691, 412, -630, 208, 1048, 995, -630,
2043 208, 468, 123, 208, 1195, 219, 484, 123, 478, -717,
2044 219, 240, 426, -635, 219, -634, 240, -635, 240, -634,
2045 469, 124, 914, 915, 843, 1215, 966, 717, 302, 843,
2046 490, 240, 208, 843, 123, 81, 82, 141, 492, -633,
2047 85, 86, 123, -633, 1047, 497, -632, 1236, -631, 1101,
2048 -632, 864, -631, 124, 1048, -628, 582, 495, 781, -628,
2049 116, 988, 496, -717, 501, -647, 214, 332, 441, -647,
2050 201, -629, 511, 298, 272, -629, 395, 396, 157, 158,
2051 159, 160, 161, 162, -242, 272, 272, -625, 3, -648,
2052 832, -625, 302, -648, 450, 452, 163, 164, 165, -626,
2053 395, 396, 302, -626, -617, 1055, -620, 460, -617, 562,
2054 -620, 317, 643, 1074, 502, 201, 1103, 503, 219, -282,
2055 166, 459, 316, 201, -640, 204, 504, 201, -640, 3,
2056 201, -641, -642, 920, 921, -641, -642, 843, 231, 563,
2057 -638, 897, -621, 231, -638, 231, -621, 1175, 505, 302,
2058 -619, 81, 1049, 1050, -619, 179, 958, 686, 231, 201,
2059 515, 302, -623, -717, -717, 176, -623, 565, -717, -717,
2060 204, 123, 123, 284, 285, -624, 1058, -622, 204, -624,
2061 570, -622, 204, 1087, 1088, 204, 1059, 909, 910, 911,
2062 1105, 1106, 566, 237, 412, 1179, 940, 941, 237, 3,
2063 237, -282, 208, 459, 779, 583, 1197, 1198, 81, 1049,
2064 1050, 3, 179, 237, 204, 1116, 584, 1055, 1055, 585,
2065 294, 1115, -282, 240, 240, 588, 1130, 594, 1074, 1074,
2066 1140, 1141, 1142, 599, 611, 614, 286, 81, 299, 300,
2067 973, 179, 81, 82, 141, 1130, 612, 85, 86, 604,
2068 123, 1159, 620, 621, 412, 586, 625, 589, 219, 595,
2069 629, 630, 596, 123, 581, 460, 634, 602, 123, 124,
2070 635, 639, 1232, 458, 641, 642, 613, 843, 652, 316,
2071 1168, 659, 124, 81, 82, 141, 622, 1172, 85, 86,
2072 1055, 123, 123, 1055, 663, 1130, 1130, 666, 664, 676,
2073 679, 302, 681, 684, 1074, 682, 1074, 696, 689, 1074,
2074 1186, 1187, 322, 1074, 687, 123, 123, 695, 1074, 706,
2075 708, 1217, 711, 631, 123, 720, 814, 1257, 818, 201,
2076 721, 782, 821, 892, 1210, 1211, 1060, 1061, 123, 828,
2077 81, 1062, 848, 124, 1063, 1080, 208, 829, 322, 846,
2078 231, 231, 868, 81, 82, 141, 870, 124, 85, 86,
2079 872, 1055, 123, 123, 1130, 81, 82, 141, 873, 1074,
2080 85, 86, 981, 1093, 874, 922, 923, 925, 924, -645,
2081 928, 1238, 1239, -645, 204, 675, 379, -644, 302, 123,
2082 1159, -644, 392, 393, 394, 959, 931, 960, 199, 962,
2083 392, 393, 394, 976, 602, 237, 237, 937, 124, 938,
2084 939, 697, 698, 699, 942, 1074, 945, 970, 972, 316,
2085 979, 380, 381, 382, 383, 384, 385, 386, 387, 388,
2086 389, 205, 238, 238, 986, 990, 991, 992, 994, 302,
2087 996, 206, 239, 239, -668, 1034, 321, 1035, 1037, 1102,
2088 724, 725, 179, 1089, 1095, 1099, 1136, 1107, 1155, 321,
2089 321, 321, 321, 321, 321, 391, 346, 347, 1148, 1173,
2090 1167, 1196, 1154, 201, 1212, 1194, 1219, 1223, 1222, 1225,
2091 1227, 816, 1245, 1228, 1242, 1231, 1253, -262, 1234, 823,
2092 1246, 825, 1248, 298, 1255, 460, 1256, 1258, 157, 158,
2093 159, 160, 161, 162, 844, 845, 1259, 263, 476, 849,
2094 1065, 1260, 1247, 622, 862, 1205, 163, 164, 165, 1110,
2095 301, 834, 418, 1180, 1117, 1151, 391, 1237, 204, 999,
2096 302, 499, 302, 390, 969, 961, 944, 1252, 678, 302,
2097 166, 826, 333, 824, 335, 982, 296, 462, 247, 860,
2098 640, 437, 1221, 506, 559, 1230, 869, 518, 985, 876,
2099 1109, 984, 522, 523, 524, 525, 526, 527, 528, 529,
2100 530, 531, 532, 0, 0, 0, 0, 205, 0, 0,
2101 0, 216, 245, 245, 0, 176, 0, 206, 0, 199,
2102 0, 0, 0, 710, 0, 555, 0, 199, 0, 0,
2103 0, 199, 0, 0, 199, 0, 23, 24, 25, 26,
2104 0, 27, 424, 0, 0, 0, 32, 33, 0, 948,
2105 36, 37, 205, 39, 40, 41, 42, 0, 0, 0,
2106 205, 0, 206, 199, 205, 0, 0, 205, 54, 55,
2107 206, 0, 0, 0, 206, 238, 1261, 206, 0, 0,
2108 238, 0, 238, 0, 0, 239, 0, 81, 299, 300,
2109 239, 179, 239, 0, 80, 238, 205, 980, 862, 0,
2110 602, 510, 0, 0, 84, 239, 206, 0, 0, 513,
2111 0, 514, 898, 0, 0, 0, 456, 0, 0, 0,
2112 0, 0, 0, 0, 321, 321, 321, 321, 321, 321,
2113 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2114 0, 0, 0, 485, 486, 487, 488, 899, 900, 901,
2115 902, 903, 904, 905, 906, 907, 908, 216, 0, 0,
2116 0, 0, 0, 456, 0, 0, 0, 500, 0, 782,
2117 783, 784, 785, 321, 0, 456, 786, 787, 788, 789,
2118 790, 791, 792, 0, 576, 1079, 0, 0, 0, 0,
2119 0, 321, 1086, 519, 0, 0, 0, 0, 218, 246,
2120 246, 0, 216, 0, 0, 0, 0, 0, 0, 0,
2121 216, 0, 0, 0, 216, 0, 0, 216, 951, 0,
2122 0, 951, 0, 0, 0, 245, 0, 321, 0, 0,
2123 245, 0, 245, 199, 0, 0, 0, 0, 0, 321,
2124 0, 564, 0, 0, 714, 245, 216, 0, 0, 0,
2125 0, 0, 576, 0, 0, 0, 723, 0, 0, 0,
2126 0, 0, 0, 0, 0, 0, 205, 0, 391, 0,
2127 0, 0, 0, 0, 0, 0, 206, 0, 0, 0,
2128 0, 0, 0, 321, 0, 0, 321, 238, 238, 0,
2129 0, 0, 0, 0, 0, 0, 0, 239, 239, 0,
2130 0, 576, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 1153, 838, 0, 0, 0, 0, 0, 0, 576,
2132 673, 0, 0, 0, 0, 0, 714, 862, 0, 0,
2133 1170, 0, 0, 321, 0, 0, 302, 0, 0, 1176,
2134 1177, 0, 0, 0, 218, 321, 0, 0, 0, 0,
2135 0, 0, 0, 951, 0, 951, 951, 951, 0, 0,
909cf5eb 2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2137 0, 653, 0, 0, 0, 0, 0, 199, 0, 0,
2138 727, 729, 0, 1214, 0, 0, 0, 0, 0, 218,
2139 1218, 1220, 0, 748, 0, 0, 0, 218, 673, 733,
2140 0, 218, 862, 0, 218, 0, 0, 0, 0, 0,
2141 205, 673, 246, 0, 0, 0, 216, 246, 0, 246,
2142 206, 0, 0, 0, 0, 0, 0, 0, 0, 1241,
2143 0, 0, 246, 218, 0, 0, 0, 245, 245, 0,
2144 0, 0, 0, 0, 0, 0, 0, 488, 838, 1249,
2145 1250, 0, 867, 838, 748, 0, 1254, 838, 0, 0,
2146 0, 0, 321, 0, 0, 0, 0, 0, 321, 321,
2147 321, 321, 321, 321, 890, 891, 0, 734, 0, 0,
2148 0, 780, 0, 714, 951, 0, 951, 0, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 0, 0, 0, 0, 997, 518, 0, 0, 0,
2151 0, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011,
2152 1012, 1013, 0, 0, 298, 0, 0, 0, 0, 157,
2153 158, 159, 160, 161, 162, 0, 0, 0, 0, 875,
2154 0, 0, -203, -203, 456, 0, 456, 163, 164, 165,
2155 0, 0, 0, 882, 0, 0, 0, 321, 0, 0,
2156 216, 838, 0, 0, 0, 0, 0, 143, 321, 0,
2157 0, 166, 144, 145, 146, 0, 147, 148, 149, 150,
2158 151, 152, 153, 154, 155, -563, 0, 0, 0, 0,
2159 156, 0, 0, 0, 0, 157, 158, 159, 160, 161,
2160 162, 0, 0, 218, 0, 0, 0, 0, -203, -203,
2161 0, 0, 321, 163, 164, 165, 176, 0, 0, 0,
2162 0, 0, 0, 0, 246, 246, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
2164 0, 321, 321, 321, 321, 321, 321, 321, 321, 321,
2165 321, 321, 321, 321, 321, 321, 321, 321, 0, 321,
2166 0, 167, 168, 169, 170, 171, 172, 173, 174, 0,
2167 0, 0, 0, 0, 0, 0, 0, 175, 0, 0,
2168 0, 0, 176, 0, 0, 0, 0, 0, 81, 299,
2169 300, 0, 179, 0, 0, 0, 0, 0, 0, 0,
2170 0, 838, 0, 0, 0, 0, 0, 0, 0, 0,
2171 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 0, 0, 0, 0, 321, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2174 0, 0, 0, 0, 0, 0, 0, 218, 0, 0,
2175 0, 0, 0, 0, 81, 177, 178, 0, 179, 180,
2176 86, 0, 0, 0, 0, 0, 748, 0, 0, 0,
2177 0, 0, 0, 0, 0, -170, 0, 0, 0, 0,
2178 -170, -170, -170, 0, -170, -170, -170, -170, -170, -170,
2179 -170, -170, -170, -170, -170, -170, -715, -170, -170, 0,
2180 -170, 488, -170, -170, -170, -170, -170, -170, -170, -170,
2181 -170, -170, -170, -170, -170, -170, -170, -170, 0, -170,
2182 0, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2183 -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
2184 -170, -170, 0, 0, 0, -170, 0, 0, 0, 0,
2185 1108, 0, 0, 0, 0, 0, 0, 0, 0, -2,
368f75ae 2186 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2187 -170, -170, -170, -170, -170, -170, -170, 2, 0, 0,
2188 0, 0, 0, -282, 0, -170, 0, 0, 0, 0,
2189 -170, 0, 0, 3, 0, 0, 0, 0, 0, 0,
8f58355a 2190 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
08cf8642 2191 321, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, -426, -426, -426,
8f58355a 2193 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
909cf5eb 2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2195 321, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2196 0, 0, -170, -170, -170, 321, -170, -170, -170, 0,
8f58355a 2197 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
08cf8642 2198 21, 22, 23, 24, 25, 26, 321, 27, 28, 29,
8f58355a 2199 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2200 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2201 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2202 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2203 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
08cf8642 2204 80, -3, 1, 0, 0, 0, 0, 81, 82, 83,
2205 84, 0, 85, 86, 87, 0, 0, 0, 0, 2,
2206 0, 0, 0, 0, 0, -282, 0, 0, 0, 0,
2207 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
2208 0, 0, 0, 0, 0, 4, 0, 5, 0, 0,
d0b80d80 2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2210 0, 0, 0, 0, 0, 0, 0, 0, 0, -426,
2211 -426, -426, 0, 6, 0, 0, 0, 0, 7, 8,
2212 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2213 0, 0, 0, 10, 11, 12, 0, 0, 0, 0,
d0b80d80 2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2215 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
2216 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2217 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2218 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2219 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2220 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2221 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2222 78, 79, 80, 0, 0, 0, 0, 0, 0, 81,
2223 82, 83, 84, 143, 85, 86, 87, 0, 144, 145,
2224 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2225 155, -563, 556, 0, 0, 0, 156, 0, 0, 0,
2226 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2227 0, 0, 0, 0, -203, -203, 4, 0, 5, 163,
2228 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2230 -426, -426, -426, 166, 6, 0, 0, 0, 0, 0,
edad9a7f 2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2232 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2233 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2234 0, 0, 0, 175, 13, 14, 15, 16, 176, 17,
2235 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2236 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2237 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2238 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2239 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2240 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2241 77, 78, 79, 80, 0, 0, 0, 0, 0, 0,
2242 81, 177, 557, 84, 179, 180, 86, 87, 143, 0,
2243 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2244 150, 151, 152, 153, 154, 155, -172, 0, 0, 0,
2245 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2246 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2247 -203, -282, 0, 0, 163, 164, 165, 0, 0, 0,
909cf5eb 2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2249 0, 0, 0, 0, 0, -282, -282, -282, 166, 0,
d0b80d80 2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
edad9a7f 2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2252 0, 0, 0, 168, 169, 170, 171, 172, 173, 174,
2253 0, 0, 0, 0, 0, 0, 0, 0, 175, -282,
2254 -282, -282, -282, 176, -282, -282, -282, -282, -282, -282,
2255 -282, -282, -282, -282, 0, -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, -282,
2259 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2260 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
2261 0, 0, 0, 0, 0, 81, 177, 178, -282, 179,
2262 180, 86, -282, 221, 0, 0, 0, 0, 144, 145,
2263 146, 0, 0, 222, 149, 150, 151, 152, 153, 154,
2264 223, -172, -567, 0, 0, 0, 224, 0, 0, 0,
2265 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2266 0, 0, 0, 0, -203, -203, -282, 0, 0, 163,
2267 164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
edad9a7f 2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2269 -282, -282, -282, 166, 0, 0, 0, 0, 0, 0,
edad9a7f 2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2271 0, 0, 0, 0, 0, 0, 0, 0, 0, 169,
2272 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2273 0, 0, 0, 175, -282, -282, -282, -282, 176, -282,
2274 -282, -282, -282, -282, -282, -282, -282, -282, -282, 0,
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, -282, -282, -282, -282, -282, -282,
2279 -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
2280 -282, -282, -282, -282, 0, 0, 0, 0, 0, 0,
2281 81, 177, 178, -282, 179, 225, 226, -282, 143, 0,
2282 0, 0, 0, 144, 145, 146, 0, 147, 148, 149,
2283 150, 151, 152, 153, 154, 155, -563, 0, 0, 0,
2284 0, 156, 0, 0, 0, 0, 157, 158, 159, 160,
2285 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2286 -203, 0, 221, 0, 163, 164, 165, 144, 145, 146,
2287 0, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2288 -507, -507, 0, 0, 0, 224, -507, 0, 166, 0,
2289 157, 158, 159, 160, 161, 162, 0, 0, 0, 0,
2290 0, 0, 0, -203, -203, 0, 0, 0, 163, 164,
2291 165, 0, -535, 168, 169, 170, 171, 172, 173, 174,
2292 0, 0, 0, 0, 0, 0, 0, 0, 175, 0,
2293 0, 0, 166, 176, 0, 0, 0, 0, 0, 0,
2f2892c2 2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2295 0, 0, 0, 0, 0, 0, -507, 0, 169, 170,
2296 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2297 0, 0, 175, 0, 0, 0, 0, 176, 0, 0,
2f2892c2 2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2300 0, 0, 0, 0, 0, 81, 177, 178, 0, 179,
2301 180, 86, 0, 0, 0, 143, 0, 0, 0, 0,
2302 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2303 153, 154, 155, -563, 655, 0, 0, 0, 156, 0,
2304 0, 0, 0, 157, 158, 159, 160, 161, 162, 81,
2305 177, 178, 0, 179, 225, 226, -203, -203, 0, 143,
2306 0, 163, 164, 165, 144, 145, 146, 0, 147, 148,
2307 149, 150, 151, 152, 153, 154, 155, -563, 0, 0,
2308 0, 0, 156, 0, 0, 166, 0, 157, 158, 159,
2309 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2310 -203, -203, 0, 0, 0, 163, 164, 165, 0, 0,
2311 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2312 0, 0, 0, 0, 0, 175, 0, 0, 0, 166,
2313 176, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2315 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2316 174, 0, 0, 0, 0, 0, 0, 0, 835, 175,
2317 0, 0, 0, 298, 176, 836, 0, 837, 157, 158,
2318 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2319 0, 0, 0, 0, 0, 0, 163, 164, 165, 0,
2320 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2321 0, 0, 221, 0, 0, 0, 0, 144, 145, 146,
2322 166, 0, 222, 149, 150, 151, 152, 153, 154, 223,
2323 -563, -567, 0, 0, 0, 224, 0, 0, 0, 0,
2324 157, 158, 159, 160, 161, 162, 81, 177, 178, 0,
2325 179, 180, 86, -203, -203, 0, 221, 0, 163, 164,
2326 165, 144, 145, 146, 0, 176, 222, 149, 150, 151,
2327 152, 153, 154, 223, -563, -567, 0, 0, 0, 224,
2328 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2329 0, 0, 0, 0, 0, 0, 0, -203, -203, 0,
2330 0, 0, 163, 164, 165, 0, -503, 0, 169, 170,
2331 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2332 713, -709, 175, 0, 0, 298, 166, 176, 0, 0,
2333 157, 158, 159, 160, 161, 162, 0, 81, 177, 178,
2334 0, 179, 85, 86, 0, 0, 0, 0, 163, 164,
2335 165, 0, 169, 170, 171, 172, 173, 174, 0, 0,
2336 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
2337 0, 176, 166, 0, 0, 0, 0, 0, 0, 0,
3dabb077 2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2339 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2340 177, 178, 0, 179, 225, 226, 0, 0, 0, 0,
2341 0, 0, 0, 0, 144, 145, 146, 176, 147, 148,
2342 149, 150, 151, 152, 153, 154, 223, -563, 574, 0,
2343 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2344 160, 161, 162, 81, 177, 178, 0, 179, 225, 226,
2345 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
e5081f8c 2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2348 6, 0, 0, 0, 0, 0, 0, 0, 0, 81,
08cf8642 2349 299, 300, 0, 179, 0, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2351 174, 0, 0, 0, 0, 0, 0, 0, 0, 575,
2352 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2353 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2354 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2355 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2356 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2357 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2358 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2359 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2360 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2361 149, 150, 151, 152, 153, 154, 223, -563, 656, 0,
2362 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2363 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2364 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
e5081f8c 2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2367 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2369 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2370 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2371 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2372 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2373 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2374 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2375 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2376 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2377 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2378 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2379 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2380 149, 150, 151, 152, 153, 154, 223, -563, 668, 0,
2381 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2382 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2383 -203, -203, 4, 0, 5, 163, 164, 165, 0, 0,
909cf5eb 2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
368f75ae 2386 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2388 0, 0, 0, 0, 168, 169, 170, 171, 172, 173,
2389 174, 0, 0, 0, 0, 0, 0, 0, 0, 669,
2390 13, 14, 15, 16, 176, 17, 18, 19, 20, 21,
368f75ae 2391 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2392 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2393 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2394 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2395 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2396 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
08cf8642 2397 0, 0, 0, 0, 0, 0, 81, 177, 557, 84,
2398 179, 180, 86, 87, 144, 145, 146, 0, 147, 148,
2399 149, 150, 151, 152, 153, 154, 223, -563, 667, 0,
2400 0, 0, 357, 0, 0, 0, 0, 157, 158, 159,
2401 160, 161, 162, 0, 0, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 0, 163, 164, 165, 144, 145,
2403 146, 0, 147, 148, 149, 150, 151, 152, 153, 154,
2404 223, -563, 671, 0, 0, 0, 357, 0, 0, 166,
2405 0, 157, 158, 159, 160, 161, 162, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 163,
2407 164, 165, 0, 0, 168, 169, 170, 171, 172, 173,
2408 174, 0, 0, 0, 0, 0, 0, 0, 0, 175,
2409 0, 0, 0, 166, 176, 0, 0, 0, 0, 0,
909cf5eb 2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2411 0, 0, 0, 0, 0, 0, 0, 0, 168, 169,
2412 170, 171, 172, 173, 174, 0, 0, 0, 0, 0,
2413 0, 0, 0, 672, 0, 144, 145, 146, 176, 147,
2414 148, 149, 150, 151, 152, 153, 154, 223, -563, 732,
2415 0, 0, 0, 357, 0, 0, 0, 0, 157, 158,
2416 159, 160, 161, 162, 0, 0, 81, 177, 178, 0,
2417 179, 180, 86, 0, 0, 0, 163, 164, 165, 144,
2418 145, 146, 0, 147, 148, 149, 150, 151, 152, 153,
2419 154, 223, -563, 810, 0, 0, 0, 357, 0, 0,
2420 166, 0, 157, 158, 159, 160, 161, 162, 0, 0,
2421 81, 177, 178, 0, 179, 180, 86, 0, 0, 0,
2422 163, 164, 165, 0, 0, 168, 169, 170, 171, 172,
2423 173, 174, 0, 0, 0, 0, 0, 0, 0, 0,
2424 175, 0, 0, 0, 166, 176, 0, 0, 0, 0,
e5081f8c 2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2426 0, 0, 0, 0, 0, 0, 0, 0, 0, 168,
2427 169, 170, 171, 172, 173, 174, 0, 0, 0, 0,
2428 0, 0, 0, 0, 175, 0, 144, 145, 146, 176,
2429 147, 148, 149, 150, 151, 152, 153, 154, 223, -563,
2430 811, 0, 0, 0, 357, 0, 0, 0, 0, 157,
2431 158, 159, 160, 161, 162, 0, 0, 81, 177, 178,
2432 0, 179, 180, 86, 0, 0, 0, 163, 164, 165,
2433 144, 145, 146, 0, 147, 148, 149, 150, 151, 152,
2434 153, 154, 223, -563, 813, 0, 0, 0, 357, 0,
2435 0, 166, 0, 157, 158, 159, 160, 161, 162, 0,
2436 0, 81, 177, 178, 0, 179, 180, 86, 0, 0,
2437 0, 163, 164, 165, 0, 0, 168, 169, 170, 171,
2438 172, 173, 174, 0, 0, 0, 0, 0, 0, 0,
2439 0, 812, 0, 0, 0, 166, 176, 0, 0, 0,
e5081f8c 2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2442 168, 169, 170, 171, 172, 173, 174, 0, 0, 0,
2443 0, 0, 0, 0, 0, 175, 0, 144, 145, 146,
2444 176, 147, 148, 149, 150, 151, 152, 153, 154, 223,
2445 -563, 947, 0, 0, 0, 357, 0, 0, 0, 0,
2446 157, 158, 159, 160, 161, 162, 0, 0, 81, 177,
2447 178, 0, 179, 180, 86, 0, 0, 0, 163, 164,
2448 165, 144, 145, 146, 0, 147, 148, 149, 150, 151,
2449 152, 153, 154, 223, -563, 0, 0, 0, 0, 357,
2450 0, 0, 166, 0, 157, 158, 159, 160, 161, 162,
2451 0, 0, 81, 177, 178, 0, 179, 180, 86, 0,
2452 0, 0, 163, 164, 165, 0, 0, 168, 169, 170,
2453 171, 172, 173, 174, 0, 0, 0, 0, 0, 0,
2454 0, 0, 175, 0, 0, 0, 166, 176, 0, 0,
909cf5eb 2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2457 0, 168, 169, 170, 171, 172, 173, 174, -136, 0,
2458 0, 0, 0, -136, 0, 0, 175, 0, 0, 0,
2459 0, 176, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2460 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
08cf8642 2462 177, 178, 0, 179, 180, 86, 0, 0, 0, 0,
368f75ae 2463 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2466 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
368f75ae 2467 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2468 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2469 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2470 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2471 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2472 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2473 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
08cf8642 2474 80, -566, 0, 0, 0, 0, 0, 0, 0, 138,
368f75ae 2475 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2476 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
d0b80d80 2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2f2892c2 2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
d0b80d80 2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2483 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
edad9a7f 2484 19, 20, 21, 22, 23, 24, 25, 26, 0, 27,
2485 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2486 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2487 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2488 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2489 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
08cf8642 2490 78, 79, 80, 0, 0, 0, 0, 0, 835, 1164,
2491 0, 138, 84, 298, 0, 836, 87, 837, 157, 158,
2492 159, 160, 161, 162, 0, 0, 0, 0, 0, -172,
2493 0, 0, 0, 0, 298, 0, 163, 164, 165, 157,
2494 158, 159, 160, 161, 162, 0, 0, 0, 0, 0,
2495 0, 0, -203, -203, 0, 0, -172, 163, 164, 165,
2496 166, 357, 0, 0, 0, 0, 157, 158, 159, 160,
2497 161, 162, 0, 0, 0, 0, 0, 0, 0, -203,
2498 -203, 166, 0, 631, 163, 164, 165, 0, 298, 0,
2499 0, 0, 0, 157, 158, 159, 160, 161, 162, 0,
2500 0, 0, 0, 0, 713, 176, 0, 0, 166, 298,
2501 0, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2502 0, 0, 0, 0, 0, 0, 176, 0, 0, 0,
2503 0, 0, 163, 164, 165, 166, 0, 0, 0, 0,
edad9a7f 2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2505 0, 0, 0, 176, 0, 0, 166, 0, 0, 0,
d0b80d80 2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2507 0, 0, 0, 0, 0, 0, 0, 81, 177, 178,
2508 176, 179, 85, 86, 0, 0, 0, 0, 0, 0,
2509 0, 0, 0, -282, 0, 0, 0, 0, 81, 299,
2510 300, 176, 179, 3, 0, 0, 0, 0, 0, 0,
2511 0, 0, 0, 4, 0, 0, 0, 0, 0, 0,
2512 0, 0, 0, 0, 0, 81, 299, 300, 0, 179,
e5081f8c 2513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2515 0, 0, 81, 299, 300, 0, 179, 0, 0, 0,
8f58355a 2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2517 0, 0, 0, 81, 299, 300, 0, 179, 0, 0,
2518 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2519 21, 22, 23, 24, 25, 26, 0, 27, 28, 29,
2520 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2521 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2522 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2523 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2524 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2525 80, 0, 0, 0, 0, 0, 0, 81, 82, 83,
2526 84, 0, 85, 86, 87, 298, 516, 0, 0, 0,
2527 157, 158, 159, 160, 161, 162, 298, 0, 0, 597,
2528 0, 157, 158, 159, 160, 161, 162, 0, 163, 164,
2529 165, 0, 0, 0, 0, 0, 0, 298, 998, 163,
2530 164, 165, 157, 158, 159, 160, 161, 162, 298, 0,
2531 0, 693, 166, 157, 158, 159, 160, 161, 162, 0,
2532 163, 164, 165, 166, 0, 0, 0, 0, 0, 298,
2533 -262, 163, 164, 165, 157, 158, 159, 160, 161, 162,
2534 298, 0, 0, 0, 166, 157, 158, 159, 160, 161,
2535 162, 0, 163, 164, 165, 166, 0, 176, 0, 0,
2536 0, 0, 0, 163, 164, 165, 0, 0, 176, 0,
2537 0, 0, 345, 0, 0, 0, 166, 157, 158, 159,
2538 160, 161, 162, 0, 0, 0, 0, 166, 0, 176,
2539 0, 0, 0, 0, 0, 163, 164, 165, 0, 726,
2540 176, 0, 0, 0, 157, 158, 159, 160, 161, 162,
2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2542 0, 176, 163, 164, 165, 0, 0, 0, 0, 81,
2543 299, 300, 176, 179, 0, 0, 0, 0, 0, 0,
2544 81, 299, 300, 728, 179, 0, 166, 0, 157, 158,
2545 159, 160, 161, 162, 0, 0, 0, 0, 0, 0,
2546 0, 81, 299, 300, 176, 179, 163, 164, 165, 0,
2547 0, 0, 81, 299, 300, 0, 179, 735, 0, 0,
2548 0, 0, 736, 737, 738, 739, 740, 741, 0, 0,
2549 166, 176, 0, 81, 299, 300, 0, 179, 0, 0,
2550 163, 742, 743, 0, 81, 299, 300, 0, 179, 0,
8f58355a 2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2552 0, 0, 0, 0, 744, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 176, 81, 299, 300, 0,
2554 179, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2556 0, 0, 0, 81, 299, 300, 0, 179, 0, 176,
2557 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
2558 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2560 0, 0, -426, -426, -426, 0, 6, 81, 299, 300,
2561 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2564 0, 81, 745, 746, 0, 179, 13, 14, 15, 16,
2565 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2566 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2567 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2568 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2569 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2570 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2571 75, 76, 77, 78, 79, 80, 4, 0, 5, 0,
2572 0, 0, 0, 0, 138, 84, 0, 0, 0, 87,
8f58355a 2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2574 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
8f58355a 2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2578 0, 0, 0, 0, 13, 14, 15, 16, 0, 17,
2579 18, 19, 20, 21, 22, 23, 24, 25, 26, 0,
2580 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2581 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2582 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2583 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2584 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2585 77, 78, 79, 80, 4, 0, 0, 0, 0, 0,
2586 81, 1113, 138, 84, 0, 0, 0, 87, 0, 0,
2587 0, 0, 0, 0, 0, 0, 0, 0, -426, -426,
2588 -426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909cf5eb 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
e5081f8c 2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2592 0, 0, 13, 14, 15, 16, 0, 17, 18, 19,
2593 20, 21, 22, 23, 24, 25, 26, 0, 27, 28,
2594 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2595 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2596 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2597 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2598 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2599 79, 80, 4, 0, 0, 0, 0, 0, 0, 0,
2600 138, 84, 0, 0, 0, 87, 0, 0, 0, 0,
909cf5eb 2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8f58355a 2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2604 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2606 13, 14, 15, 16, 0, 17, 18, 19, 20, 21,
2607 22, 23, 24, 25, 26, 0, 27, 28, 29, 30,
2608 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2609 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2610 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2611 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2612 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2613 4, 0, 5, 0, 0, 0, 0, 0, 138, 84,
2614 0, 0, 0, 87, 0, 0, 0, 0, 0, 0,
2615 0, 0, 0, 0, 0, 0, 0, 0, 6, 0,
368f75ae 2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2619 0, 0, 0, 0, 0, 0, 0, 0, 13, 14,
2620 15, 16, 0, 17, 18, 19, 20, 21, 22, 23,
2621 24, 25, 26, 0, 27, 28, 29, 30, 31, 32,
2622 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2623 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2624 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2625 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2626 73, 74, 75, 76, 77, 78, 79, 80, 4, 0,
2627 0, 0, 0, 0, 0, 0, 138, 84, 0, 0,
2628 0, 87, 0, 0, 0, 0, 0, 0, 0, 0,
368f75ae 2629 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2630 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2632 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
08cf8642 2633 0, 0, 0, 0, 0, 0, 13, 14, 15, 16,
2634 0, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2635 26, 0, 27, 28, 29, 30, 31, 32, 33, 34,
2636 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2637 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2638 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2639 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2640 75, 76, 77, 78, 79, 80, 0, 0, 0, 0,
2641 0, 0, 0, 0, 138, 84, 0, 0, 0, 87
d0b80d80 2642};
2643
08cf8642 2644static const yytype_int16 yycheck[] =
d0b80d80 2645{
08cf8642 2646 0, 0, 5, 554, 122, 5, 0, 132, 441, 9,
2647 10, 11, 12, 461, 395, 396, 551, 405, 313, 0,
2648 3, 599, 661, 334, 5, 661, 459, 629, 9, 835,
2649 10, 403, 404, 19, 840, 661, 10, 935, 844, 707,
2650 157, 158, 159, 160, 161, 162, 357, 442, 235, 27,
2651 10, 224, 397, 398, 407, 665, 229, 943, 231, 406,
2652 971, 315, 952, 5, 0, 955, 21, 560, 144, 847,
2653 25, 665, 475, 18, 507, 853, 21, 399, 400, 401,
2654 402, 268, 24, 722, 24, 578, 722, 24, 665, 89,
2655 89, 41, 34, 1125, 1126, 89, 722, 34, 22, 56,
2656 89, 90, 26, 5, 28, 21, 19, 57, 89, 25,
2657 661, 665, 21, 28, 24, 21, 25, 695, 0, 25,
2658 1058, 45, 122, 25, 34, 24, 661, 21, 37, 38,
2659 45, 25, 121, 122, 50, 51, 820, 28, 11, 12,
2660 140, 122, 948, 52, 53, 88, 135, 130, 41, 1047,
2661 1048, 151, 18, 89, 45, 22, 156, 140, 26, 140,
2662 54, 55, 1194, 288, 57, 1076, 34, 34, 601, 18,
2663 151, 722, 1058, 1059, 794, 175, 156, 32, 33, 847,
2664 613, 492, 156, 10, 794, 853, 21, 722, 24, 809,
2665 25, 11, 12, 1083, 29, 1085, 156, 975, 34, 809,
2666 794, 201, 188, 189, 190, 1143, 21, 193, 194, 209,
2667 1148, 211, 615, 213, 192, 809, 216, 794, 955, 614,
2668 345, 201, 476, 18, 224, 1123, 21, 201, 415, 229,
2669 187, 231, 809, 213, 24, 209, 216, 192, 5, 213,
2670 794, 201, 216, 24, 244, 245, 188, 189, 1134, 209,
2671 1136, 188, 189, 213, 24, 809, 216, 24, 25, 26,
2672 683, 1199, 710, 436, 437, 245, 26, 34, 5, 580,
2673 954, 245, 956, 661, 34, 392, 393, 394, 188, 189,
2674 661, 665, 1088, 25, 26, 245, 28, 287, 287, 661,
2675 290, 291, 292, 932, 70, 71, 72, 73, 74, 75,
2676 76, 77, 78, 79, 50, 51, 287, 975, 661, 290,
2677 291, 292, 312, 312, 661, 610, 661, 24, 318, 18,
2678 303, 188, 189, 190, 24, 24, 193, 194, 18, 156,
2679 5, 312, 21, 23, 722, 34, 112, 318, 27, 661,
2680 116, 722, 118, 26, 120, 28, 1083, 10, 1085, 125,
2681 722, 224, 188, 189, 190, 24, 229, 26, 231, 1245,
2682 360, 137, 45, 139, 18, 441, 18, 21, 368, 722,
2683 370, 244, 497, 5, 201, 722, 927, 722, 495, 21,
2684 18, 983, 209, 459, 21, 27, 213, 16, 25, 216,
2685 925, 34, 825, 25, 18, 1034, 819, 21, 1034, 822,
2686 722, 979, 18, 836, 224, 21, 182, 23, 1034, 229,
2687 794, 231, 24, 50, 51, 415, 864, 18, 245, 24,
2688 21, 188, 189, 190, 244, 809, 193, 194, 188, 189,
2689 190, 507, 15, 193, 194, 415, 436, 437, 24, 433,
2690 26, 415, 26, 443, 28, 445, 445, 26, 34, 28,
2691 444, 188, 189, 190, 454, 415, 193, 194, 5, 584,
2692 18, 45, 465, 21, 445, 465, 45, 467, 21, 112,
2693 113, 114, 16, 454, 27, 475, 21, 24, 478, 16,
2694 25, 1120, 482, 1034, 465, 18, 467, 34, 21, 188,
2695 189, 190, 475, 156, 475, 271, 21, 478, 21, 1034,
2696 25, 482, 25, 16, 21, 50, 51, 5, 25, 18,
2697 635, 511, 21, 188, 189, 190, 39, 102, 193, 194,
2698 520, 521, 22, 25, 26, 601, 28, 25, 54, 55,
2699 306, 912, 913, 309, 922, 6, 7, 613, 201, 520,
2700 521, 317, 23, 45, 320, 26, 209, 28, 920, 921,
2701 213, 21, 1191, 216, 22, 25, 188, 189, 190, 559,
2702 560, 193, 194, 436, 437, 22, 560, 567, 567, 914,
2703 915, 924, 24, 21, 26, 575, 923, 25, 578, 579,
2704 50, 51, 245, 21, 578, 559, 567, 25, 415, 37,
2705 38, 24, 710, 26, 916, 917, 918, 919, 21, 559,
2706 29, 726, 25, 728, 52, 53, 25, 26, 39, 28,
2707 735, 18, 25, 26, 21, 615, 436, 437, 25, 736,
2708 737, 738, 739, 740, 741, 40, 45, 10, 11, 12,
2709 18, 5, 615, 21, 615, 56, 18, 184, 185, 21,
2710 935, 188, 189, 25, 95, 192, 1034, 13, 14, 15,
2711 24, 25, 26, 1034, 730, 95, 432, 657, 658, 21,
2712 34, 661, 1034, 25, 25, 26, 442, 28, 19, 669,
2713 670, 447, 672, 42, 43, 451, 24, 453, 26, 990,
2714 28, 1034, 977, 24, 45, 26, 686, 1034, 688, 1034,
2715 188, 189, 190, 192, 470, 193, 194, 45, 474, 699,
2716 48, 49, 34, 35, 36, 686, 706, 688, 691, 709,
2717 710, 711, 1034, 21, 24, 37, 38, 25, 699, 21,
2718 1168, 22, 722, 25, 22, 706, 22, 710, 709, 710,
2719 52, 53, 559, 21, 68, 69, 70, 25, 104, 105,
2720 106, 107, 108, 109, 110, 111, 864, 113, 1043, 825,
2721 116, 95, 415, 21, 10, 11, 12, 25, 1053, 19,
2722 836, 20, 21, 24, 95, 26, 132, 28, 134, 135,
2723 136, 21, 22, 156, 140, 188, 189, 190, 1073, 21,
2724 193, 194, 20, 25, 45, 1218, 27, 48, 49, 24,
2725 156, 18, 909, 910, 911, 1090, 21, 163, 37, 38,
2726 25, 0, 25, 21, 880, 18, 5, 25, 7, 10,
2727 11, 12, 812, 52, 53, 32, 33, 24, 201, 185,
2728 27, 1254, 24, 599, 21, 21, 209, 34, 25, 25,
2729 213, 18, 832, 216, 1129, 835, 22, 837, 614, 34,
2730 840, 224, 225, 21, 844, 21, 229, 25, 231, 25,
2731 23, 832, 50, 51, 835, 1150, 837, 633, 224, 840,
2732 18, 244, 245, 844, 864, 188, 189, 190, 24, 21,
2733 193, 194, 872, 25, 24, 24, 21, 27, 21, 996,
2734 25, 864, 25, 864, 34, 21, 662, 25, 664, 25,
2735 89, 872, 25, 88, 18, 21, 559, 18, 264, 25,
2736 156, 21, 19, 24, 103, 25, 32, 33, 29, 30,
2737 31, 32, 33, 34, 22, 114, 115, 21, 34, 21,
2738 696, 25, 288, 25, 290, 291, 47, 48, 49, 21,
2739 32, 33, 298, 25, 21, 935, 21, 303, 25, 9,
2740 25, 140, 21, 943, 18, 201, 25, 18, 948, 24,
2741 71, 26, 318, 209, 21, 156, 18, 213, 25, 34,
2742 216, 21, 21, 54, 55, 25, 25, 948, 224, 11,
2743 21, 747, 21, 229, 25, 231, 25, 1102, 18, 345,
2744 21, 188, 189, 190, 25, 192, 20, 21, 244, 245,
2745 373, 357, 21, 188, 189, 116, 25, 25, 193, 194,
2746 201, 1001, 1002, 114, 115, 21, 24, 21, 209, 25,
2747 11, 25, 213, 20, 21, 216, 34, 34, 35, 36,
2748 1001, 1002, 24, 224, 21, 22, 802, 803, 229, 34,
2749 231, 24, 415, 26, 1034, 91, 32, 33, 188, 189,
2750 190, 34, 192, 244, 245, 1045, 21, 1047, 1048, 19,
2751 1168, 1045, 19, 436, 437, 19, 1056, 19, 1058, 1059,
2752 52, 53, 54, 24, 91, 24, 432, 188, 189, 190,
2753 846, 192, 188, 189, 190, 1075, 27, 193, 194, 195,
2754 1080, 1080, 25, 21, 21, 451, 22, 453, 1088, 455,
2755 18, 25, 458, 1093, 1093, 461, 25, 463, 1098, 1080,
2756 21, 25, 1178, 302, 11, 24, 472, 1088, 22, 475,
2757 1093, 24, 1093, 188, 189, 190, 482, 1098, 193, 194,
2758 1120, 1121, 1122, 1123, 24, 1125, 1126, 25, 27, 23,
2759 20, 497, 19, 19, 1134, 20, 1136, 21, 27, 1139,
2760 1121, 1122, 1218, 1143, 23, 1145, 1146, 24, 1148, 21,
2761 5, 1154, 25, 19, 1154, 22, 25, 1233, 20, 415,
2762 24, 73, 20, 24, 1145, 1146, 184, 185, 1168, 25,
2763 188, 189, 25, 1154, 192, 951, 559, 27, 1254, 27,
2764 436, 437, 18, 188, 189, 190, 21, 1168, 193, 194,
2765 21, 1191, 1192, 1193, 1194, 188, 189, 190, 25, 1199,
2766 193, 194, 195, 979, 22, 29, 39, 56, 40, 21,
2767 25, 1192, 1193, 25, 415, 581, 23, 21, 584, 1219,
2768 1219, 25, 34, 35, 36, 25, 189, 25, 10, 18,
2769 34, 35, 36, 25, 600, 436, 437, 91, 1219, 91,
2770 91, 607, 608, 609, 91, 1245, 91, 22, 91, 615,
2771 24, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2772 67, 10, 11, 12, 20, 25, 25, 25, 18, 635,
2773 25, 10, 11, 12, 22, 21, 144, 18, 40, 21,
2774 646, 647, 192, 27, 20, 18, 23, 22, 18, 157,
2775 158, 159, 160, 161, 162, 661, 164, 165, 24, 194,
2776 91, 22, 1078, 559, 22, 21, 21, 20, 22, 20,
2777 91, 677, 40, 25, 196, 25, 18, 18, 27, 685,
2778 27, 687, 25, 24, 20, 691, 20, 27, 29, 30,
2779 31, 32, 33, 34, 700, 701, 25, 89, 318, 705,
2780 943, 1245, 1212, 709, 710, 1139, 47, 48, 49, 1037,
2781 132, 697, 211, 1111, 1046, 1075, 722, 1191, 559, 893,
2782 726, 348, 728, 185, 841, 832, 807, 1219, 584, 735,
2783 71, 688, 154, 686, 156, 864, 130, 303, 12, 709,
2784 511, 244, 1158, 355, 415, 1174, 713, 374, 870, 722,
2785 1034, 869, 379, 380, 381, 382, 383, 384, 385, 386,
2786 387, 388, 389, -1, -1, -1, -1, 156, -1, -1,
2787 -1, 10, 11, 12, -1, 116, -1, 156, -1, 201,
2788 -1, -1, -1, 622, -1, 412, -1, 209, -1, -1,
2789 -1, 213, -1, -1, 216, -1, 123, 124, 125, 126,
2790 -1, 128, 224, -1, -1, -1, 133, 134, -1, 815,
2791 137, 138, 201, 140, 141, 142, 143, -1, -1, -1,
2792 209, -1, 201, 245, 213, -1, -1, 216, 155, 156,
2793 209, -1, -1, -1, 213, 224, 1252, 216, -1, -1,
2794 229, -1, 231, -1, -1, 224, -1, 188, 189, 190,
2795 229, 192, 231, -1, 181, 244, 245, 863, 864, -1,
2796 866, 360, -1, -1, 191, 244, 245, -1, -1, 368,
2797 -1, 370, 23, -1, -1, -1, 298, -1, -1, -1,
2798 -1, -1, -1, -1, 392, 393, 394, 395, 396, 397,
2799 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
2800 -1, -1, -1, 325, 326, 327, 328, 58, 59, 60,
2801 61, 62, 63, 64, 65, 66, 67, 156, -1, -1,
2802 -1, -1, -1, 345, -1, -1, -1, 349, -1, 73,
2803 74, 75, 76, 441, -1, 357, 80, 81, 82, 83,
2804 84, 85, 86, -1, 443, 951, -1, -1, -1, -1,
2805 -1, 459, 958, 375, -1, -1, -1, -1, 10, 11,
2806 12, -1, 201, -1, -1, -1, -1, -1, -1, -1,
2807 209, -1, -1, -1, 213, -1, -1, 216, 817, -1,
2808 -1, 820, -1, -1, -1, 224, -1, 495, -1, -1,
2809 229, -1, 231, 415, -1, -1, -1, -1, -1, 507,
2810 -1, 423, -1, -1, 631, 244, 245, -1, -1, -1,
2811 -1, -1, 511, -1, -1, -1, 643, -1, -1, -1,
2812 -1, -1, -1, -1, -1, -1, 415, -1, 1034, -1,
2813 -1, -1, -1, -1, -1, -1, 415, -1, -1, -1,
2814 -1, -1, -1, 551, -1, -1, 554, 436, 437, -1,
2815 -1, -1, -1, -1, -1, -1, -1, 436, 437, -1,
2816 -1, 560, -1, -1, -1, -1, -1, -1, -1, -1,
2817 -1, 1077, 699, -1, -1, -1, -1, -1, -1, 578,
2818 579, -1, -1, -1, -1, -1, 713, 1093, -1, -1,
2819 1096, -1, -1, 601, -1, -1, 1102, -1, -1, 1105,
2820 1106, -1, -1, -1, 156, 613, -1, -1, -1, -1,
2821 -1, -1, -1, 952, -1, 954, 955, 956, -1, -1,
909cf5eb 2822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2823 -1, 553, -1, -1, -1, -1, -1, 559, -1, -1,
2824 648, 649, -1, 1149, -1, -1, -1, -1, -1, 201,
2825 1156, 1157, -1, 661, -1, -1, -1, 209, 657, 658,
2826 -1, 213, 1168, -1, 216, -1, -1, -1, -1, -1,
2827 559, 670, 224, -1, -1, -1, 415, 229, -1, 231,
2828 559, -1, -1, -1, -1, -1, -1, -1, -1, 1195,
2829 -1, -1, 244, 245, -1, -1, -1, 436, 437, -1,
2830 -1, -1, -1, -1, -1, -1, -1, 629, 835, 1215,
2831 1216, -1, 711, 840, 722, -1, 1222, 844, -1, -1,
2832 -1, -1, 730, -1, -1, -1, -1, -1, 736, 737,
2833 738, 739, 740, 741, 742, 743, -1, 659, -1, -1,
2834 -1, 663, -1, 870, 1083, -1, 1085, -1, -1, -1,
2835 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2836 -1, -1, -1, -1, -1, 892, 893, -1, -1, -1,
2837 -1, 898, 899, 900, 901, 902, 903, 904, 905, 906,
2838 907, 908, -1, -1, 24, -1, -1, -1, -1, 29,
2839 30, 31, 32, 33, 34, -1, -1, -1, -1, 721,
2840 -1, -1, 42, 43, 726, -1, 728, 47, 48, 49,
2841 -1, -1, -1, 735, -1, -1, -1, 825, -1, -1,
2842 559, 948, -1, -1, -1, -1, -1, 1, 836, -1,
2843 -1, 71, 6, 7, 8, -1, 10, 11, 12, 13,
2844 14, 15, 16, 17, 18, 19, -1, -1, -1, -1,
2845 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
2846 34, -1, -1, 415, -1, -1, -1, -1, 42, 43,
2847 -1, -1, 880, 47, 48, 49, 116, -1, -1, -1,
2848 -1, -1, -1, -1, 436, 437, -1, -1, -1, -1,
2849 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2850 -1, 909, 910, 911, 912, 913, 914, 915, 916, 917,
2851 918, 919, 920, 921, 922, 923, 924, 925, -1, 927,
2852 -1, 95, 96, 97, 98, 99, 100, 101, 102, -1,
2853 -1, -1, -1, -1, -1, -1, -1, 111, -1, -1,
2854 -1, -1, 116, -1, -1, -1, -1, -1, 188, 189,
2855 190, -1, 192, -1, -1, -1, -1, -1, -1, -1,
2856 -1, 1088, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, 894, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, -1, -1, -1, -1, -1, 996, -1,
2859 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2860 -1, -1, -1, -1, -1, -1, -1, 559, -1, -1,
2861 -1, -1, -1, -1, 188, 189, 190, -1, 192, 193,
2862 194, -1, -1, -1, -1, -1, 1034, -1, -1, -1,
2863 -1, -1, -1, -1, -1, 1, -1, -1, -1, -1,
2864 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2865 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
2866 26, 983, 28, 29, 30, 31, 32, 33, 34, 35,
2867 36, 37, 38, 39, 40, 41, 42, 43, -1, 45,
2868 -1, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2869 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2870 66, 67, -1, -1, -1, 71, -1, -1, -1, -1,
2871 1032, -1, -1, -1, -1, -1, -1, -1, -1, 0,
368f75ae 2872 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2873 96, 97, 98, 99, 100, 101, 102, 18, -1, -1,
2874 -1, -1, -1, 24, -1, 111, -1, -1, -1, -1,
2875 116, -1, -1, 34, -1, -1, -1, -1, -1, -1,
8f58355a 2876 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
08cf8642 2877 1178, -1, -1, -1, -1, 1097, -1, -1, -1, -1,
8f58355a 2878 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2879 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
3dabb077 2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2881 1218, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2882 -1, -1, 188, 189, 190, 1233, 192, 193, 194, -1,
8f58355a 2883 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
08cf8642 2884 121, 122, 123, 124, 125, 126, 1254, 128, 129, 130,
8f58355a 2885 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
2886 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
2887 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
2888 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
2889 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
08cf8642 2890 181, 0, 1, -1, -1, -1, -1, 188, 189, 190,
2891 191, -1, 193, 194, 195, -1, -1, -1, -1, 18,
2892 -1, -1, -1, -1, -1, 24, -1, -1, -1, -1,
2893 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
2894 -1, -1, -1, -1, -1, 44, -1, 46, -1, -1,
e5081f8c 2895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2896 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
2897 69, 70, -1, 72, -1, -1, -1, -1, 77, 78,
2898 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899 -1, -1, -1, 92, 93, 94, -1, -1, -1, -1,
e5081f8c 2900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2901 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
2902 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
2903 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
2904 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
2905 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
2906 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
2907 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
2908 179, 180, 181, -1, -1, -1, -1, -1, -1, 188,
2909 189, 190, 191, 1, 193, 194, 195, -1, 6, 7,
2910 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
2911 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2912 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2913 -1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
8f58355a 2914 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
e5081f8c 2915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2916 68, 69, 70, 71, 72, -1, -1, -1, -1, -1,
2917 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2918 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
368f75ae 2919 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
08cf8642 2920 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2921 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2922 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2923 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2924 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2925 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2926 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2927 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2928 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2929 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2930 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2931 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2932 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2933 43, 44, -1, -1, 47, 48, 49, -1, -1, -1,
e5081f8c 2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2935 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
e5081f8c 2936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2938 -1, -1, -1, 96, 97, 98, 99, 100, 101, 102,
2939 -1, -1, -1, -1, -1, -1, -1, -1, 111, 112,
2940 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
2941 123, 124, 125, 126, -1, 128, 129, 130, 131, 132,
2942 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
2943 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
2944 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
2945 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
2946 173, 174, 175, 176, 177, 178, 179, 180, 181, -1,
2947 -1, -1, -1, -1, -1, 188, 189, 190, 191, 192,
2948 193, 194, 195, 1, -1, -1, -1, -1, 6, 7,
2949 8, -1, -1, 11, 12, 13, 14, 15, 16, 17,
368f75ae 2950 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
8f58355a 2951 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
08cf8642 2952 -1, -1, -1, -1, 42, 43, 44, -1, -1, 47,
8f58355a 2953 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2955 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
2956 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2957 -1, -1, -1, -1, -1, -1, -1, -1, -1, 97,
368f75ae 2958 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
08cf8642 2959 -1, -1, -1, 111, 112, 113, 114, 115, 116, 117,
2960 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
2961 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2962 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2963 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2964 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2965 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2966 178, 179, 180, 181, -1, -1, -1, -1, -1, -1,
2967 188, 189, 190, 191, 192, 193, 194, 195, 1, -1,
2968 -1, -1, -1, 6, 7, 8, -1, 10, 11, 12,
2969 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
2970 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
2971 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
2972 43, -1, 1, -1, 47, 48, 49, 6, 7, 8,
2973 -1, -1, 11, 12, 13, 14, 15, 16, 17, 18,
2974 19, 20, -1, -1, -1, 24, 25, -1, 71, -1,
2975 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
2976 -1, -1, -1, 42, 43, -1, -1, -1, 47, 48,
2977 49, -1, 95, 96, 97, 98, 99, 100, 101, 102,
2978 -1, -1, -1, -1, -1, -1, -1, -1, 111, -1,
2979 -1, -1, 71, 116, -1, -1, -1, -1, -1, -1,
909cf5eb 2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2981 -1, -1, -1, -1, -1, -1, 95, -1, 97, 98,
2982 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
2983 -1, -1, 111, -1, -1, -1, -1, 116, -1, -1,
909cf5eb 2984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 2985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 2986 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
2987 193, 194, -1, -1, -1, 1, -1, -1, -1, -1,
2988 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
2989 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
2990 -1, -1, -1, 29, 30, 31, 32, 33, 34, 188,
2991 189, 190, -1, 192, 193, 194, 42, 43, -1, 1,
2992 -1, 47, 48, 49, 6, 7, 8, -1, 10, 11,
2993 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
2994 -1, -1, 24, -1, -1, 71, -1, 29, 30, 31,
2995 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2996 42, 43, -1, -1, -1, 47, 48, 49, -1, -1,
2997 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
2998 -1, -1, -1, -1, -1, 111, -1, -1, -1, 71,
2999 116, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 3000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3001 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3002 102, -1, -1, -1, -1, -1, -1, -1, 19, 111,
3003 -1, -1, -1, 24, 116, 26, -1, 28, 29, 30,
3004 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
3005 -1, -1, -1, -1, -1, -1, 47, 48, 49, -1,
3006 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
3007 -1, -1, 1, -1, -1, -1, -1, 6, 7, 8,
3008 71, -1, 11, 12, 13, 14, 15, 16, 17, 18,
3009 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3010 29, 30, 31, 32, 33, 34, 188, 189, 190, -1,
3011 192, 193, 194, 42, 43, -1, 1, -1, 47, 48,
3012 49, 6, 7, 8, -1, 116, 11, 12, 13, 14,
3013 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
3014 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
3015 -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
3016 -1, -1, 47, 48, 49, -1, 95, -1, 97, 98,
8f58355a 3017 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
08cf8642 3018 19, 20, 111, -1, -1, 24, 71, 116, -1, -1,
3019 29, 30, 31, 32, 33, 34, -1, 188, 189, 190,
3020 -1, 192, 193, 194, -1, -1, -1, -1, 47, 48,
3021 49, -1, 97, 98, 99, 100, 101, 102, -1, -1,
3022 -1, -1, -1, -1, -1, -1, 111, -1, -1, -1,
3023 -1, 116, 71, -1, -1, -1, -1, -1, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3026 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3027 -1, -1, -1, -1, 6, 7, 8, 116, 10, 11,
368f75ae 3028 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3029 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
08cf8642 3030 32, 33, 34, 188, 189, 190, -1, 192, 193, 194,
368f75ae 3031 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3034 72, -1, -1, -1, -1, -1, -1, -1, -1, 188,
08cf8642 3035 189, 190, -1, 192, -1, -1, -1, -1, -1, -1,
368f75ae 3036 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3037 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3038 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3039 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3040 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3041 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3042 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3043 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3044 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3045 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3046 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3047 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3048 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3049 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3050 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3053 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 3054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3055 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3056 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3057 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3058 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3059 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3060 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3061 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3062 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3063 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3064 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3065 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3066 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3067 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3068 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3069 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
8f58355a 3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3072 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8f58355a 3073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3074 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
3075 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3076 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
3077 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3078 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3079 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3080 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3081 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3082 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3083 -1, -1, -1, -1, -1, -1, 188, 189, 190, 191,
3084 192, 193, 194, 195, 6, 7, 8, -1, 10, 11,
3085 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3086 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3087 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
3088 -1, -1, -1, -1, -1, 47, 48, 49, 6, 7,
3089 8, -1, 10, 11, 12, 13, 14, 15, 16, 17,
3090 18, 19, 20, -1, -1, -1, 24, -1, -1, 71,
3091 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
3092 -1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
3093 48, 49, -1, -1, 96, 97, 98, 99, 100, 101,
3094 102, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3095 -1, -1, -1, 71, 116, -1, -1, -1, -1, -1,
8f58355a 3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3097 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
909cf5eb 3098 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
368f75ae 3099 -1, -1, -1, 111, -1, 6, 7, 8, 116, 10,
3100 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
3101 -1, -1, -1, 24, -1, -1, -1, -1, 29, 30,
3102 31, 32, 33, 34, -1, -1, 188, 189, 190, -1,
3103 192, 193, 194, -1, -1, -1, 47, 48, 49, 6,
3104 7, 8, -1, 10, 11, 12, 13, 14, 15, 16,
8f58355a 3105 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
368f75ae 3106 71, -1, 29, 30, 31, 32, 33, 34, -1, -1,
8f58355a 3107 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
368f75ae 3108 47, 48, 49, -1, -1, 96, 97, 98, 99, 100,
3109 101, 102, -1, -1, -1, -1, -1, -1, -1, -1,
3110 111, -1, -1, -1, 71, 116, -1, -1, -1, -1,
2f2892c2 3111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3112 -1, -1, -1, -1, -1, -1, -1, -1, -1, 96,
3113 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
3114 -1, -1, -1, -1, 111, -1, 6, 7, 8, 116,
3115 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
3116 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
3117 30, 31, 32, 33, 34, -1, -1, 188, 189, 190,
3118 -1, 192, 193, 194, -1, -1, -1, 47, 48, 49,
3119 6, 7, 8, -1, 10, 11, 12, 13, 14, 15,
8f58355a 3120 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
368f75ae 3121 -1, 71, -1, 29, 30, 31, 32, 33, 34, -1,
8f58355a 3122 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
368f75ae 3123 -1, 47, 48, 49, -1, -1, 96, 97, 98, 99,
3124 100, 101, 102, -1, -1, -1, -1, -1, -1, -1,
3125 -1, 111, -1, -1, -1, 71, 116, -1, -1, -1,
edad9a7f 3126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3128 96, 97, 98, 99, 100, 101, 102, -1, -1, -1,
3129 -1, -1, -1, -1, -1, 111, -1, 6, 7, 8,
3130 116, 10, 11, 12, 13, 14, 15, 16, 17, 18,
3131 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
3132 29, 30, 31, 32, 33, 34, -1, -1, 188, 189,
3133 190, -1, 192, 193, 194, -1, -1, -1, 47, 48,
3134 49, 6, 7, 8, -1, 10, 11, 12, 13, 14,
3135 15, 16, 17, 18, 19, -1, -1, -1, -1, 24,
3136 -1, -1, 71, -1, 29, 30, 31, 32, 33, 34,
8f58355a 3137 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
368f75ae 3138 -1, -1, 47, 48, 49, -1, -1, 96, 97, 98,
3139 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
3140 -1, -1, 111, -1, -1, -1, 71, 116, -1, -1,
d0b80d80 3141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3143 -1, 96, 97, 98, 99, 100, 101, 102, 19, -1,
3144 -1, -1, -1, 24, -1, -1, 111, -1, -1, -1,
3145 -1, 116, -1, -1, -1, -1, -1, -1, -1, -1,
3146 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
3147 -1, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3148 189, 190, -1, 192, 193, 194, -1, -1, -1, -1,
3149 -1, 72, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2f2892c2 3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3152 -1, -1, -1, 188, 189, 190, -1, 192, 193, 194,
3153 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3154 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3155 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3156 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3157 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3158 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3159 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3160 181, 20, -1, -1, -1, -1, -1, -1, -1, 190,
3161 191, -1, -1, -1, 195, -1, -1, -1, -1, -1,
3162 -1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
2f2892c2 3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2f2892c2 3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
e5081f8c 3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3169 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
8f58355a 3170 119, 120, 121, 122, 123, 124, 125, 126, -1, 128,
3171 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
3172 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
3173 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
3174 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
3175 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
08cf8642 3176 179, 180, 181, -1, -1, -1, -1, -1, 19, 20,
3177 -1, 190, 191, 24, -1, 26, 195, 28, 29, 30,
368f75ae 3178 31, 32, 33, 34, -1, -1, -1, -1, -1, 19,
08cf8642 3179 -1, -1, -1, -1, 24, -1, 47, 48, 49, 29,
368f75ae 3180 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
08cf8642 3181 -1, -1, 42, 43, -1, -1, 19, 47, 48, 49,
368f75ae 3182 71, 24, -1, -1, -1, -1, 29, 30, 31, 32,
08cf8642 3183 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
3184 43, 71, -1, 19, 47, 48, 49, -1, 24, -1,
368f75ae 3185 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
08cf8642 3186 -1, -1, -1, -1, 19, 116, -1, -1, 71, 24,
3187 -1, 47, 48, 49, 29, 30, 31, 32, 33, 34,
368f75ae 3188 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
08cf8642 3189 -1, -1, 47, 48, 49, 71, -1, -1, -1, -1,
3dabb077 3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3191 -1, -1, -1, 116, -1, -1, 71, -1, -1, -1,
edad9a7f 3192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3193 -1, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3194 116, 192, 193, 194, -1, -1, -1, -1, -1, -1,
3195 -1, -1, -1, 24, -1, -1, -1, -1, 188, 189,
3196 190, 116, 192, 34, -1, -1, -1, -1, -1, -1,
3197 -1, -1, -1, 44, -1, -1, -1, -1, -1, -1,
368f75ae 3198 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
edad9a7f 3199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3201 -1, -1, 188, 189, 190, -1, 192, -1, -1, -1,
08cf8642 3202 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3203 -1, -1, -1, 188, 189, 190, -1, 192, -1, -1,
3204 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
3205 121, 122, 123, 124, 125, 126, -1, 128, 129, 130,
3206 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3207 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3208 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3209 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3210 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
3211 181, -1, -1, -1, -1, -1, -1, 188, 189, 190,
3212 191, -1, 193, 194, 195, 24, 25, -1, -1, -1,
3213 29, 30, 31, 32, 33, 34, 24, -1, -1, 27,
3214 -1, 29, 30, 31, 32, 33, 34, -1, 47, 48,
3215 49, -1, -1, -1, -1, -1, -1, 24, 25, 47,
3216 48, 49, 29, 30, 31, 32, 33, 34, 24, -1,
3217 -1, 27, 71, 29, 30, 31, 32, 33, 34, -1,
3218 47, 48, 49, 71, -1, -1, -1, -1, -1, 24,
3219 25, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3220 24, -1, -1, -1, 71, 29, 30, 31, 32, 33,
3221 34, -1, 47, 48, 49, 71, -1, 116, -1, -1,
3222 -1, -1, -1, 47, 48, 49, -1, -1, 116, -1,
3223 -1, -1, 24, -1, -1, -1, 71, 29, 30, 31,
3224 32, 33, 34, -1, -1, -1, -1, 71, -1, 116,
3225 -1, -1, -1, -1, -1, 47, 48, 49, -1, 24,
3226 116, -1, -1, -1, 29, 30, 31, 32, 33, 34,
3227 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3228 -1, 116, 47, 48, 49, -1, -1, -1, -1, 188,
3229 189, 190, 116, 192, -1, -1, -1, -1, -1, -1,
3230 188, 189, 190, 24, 192, -1, 71, -1, 29, 30,
368f75ae 3231 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
08cf8642 3232 -1, 188, 189, 190, 116, 192, 47, 48, 49, -1,
3233 -1, -1, 188, 189, 190, -1, 192, 24, -1, -1,
3234 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3235 71, 116, -1, 188, 189, 190, -1, 192, -1, -1,
3236 47, 48, 49, -1, 188, 189, 190, -1, 192, -1,
d0b80d80 3237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3238 -1, -1, -1, -1, 71, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, 116, 188, 189, 190, -1,
3240 192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3242 -1, -1, -1, 188, 189, 190, -1, 192, -1, 116,
3243 -1, -1, -1, -1, -1, -1, -1, -1, 44, -1,
3244 46, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3246 -1, -1, 68, 69, 70, -1, 72, 188, 189, 190,
3247 -1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
edad9a7f 3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3250 -1, 188, 189, 190, -1, 192, 112, 113, 114, 115,
3251 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3252 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3253 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3254 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3255 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3256 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3257 176, 177, 178, 179, 180, 181, 44, -1, 46, -1,
3258 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195,
909cf5eb 3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3260 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
909cf5eb 3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
d0b80d80 3263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3264 -1, -1, -1, -1, 112, 113, 114, 115, -1, 117,
3265 118, 119, 120, 121, 122, 123, 124, 125, 126, -1,
3266 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
3267 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
3268 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
3269 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
3270 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
3271 178, 179, 180, 181, 44, -1, -1, -1, -1, -1,
3272 188, 189, 190, 191, -1, -1, -1, 195, -1, -1,
3273 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
3274 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
909cf5eb 3275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3278 -1, -1, 112, 113, 114, 115, -1, 117, 118, 119,
3279 120, 121, 122, 123, 124, 125, 126, -1, 128, 129,
3280 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
3281 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
3282 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
3283 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
3284 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
3285 180, 181, 44, -1, -1, -1, -1, -1, -1, -1,
3286 190, 191, -1, -1, -1, 195, -1, -1, -1, -1,
909cf5eb 3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
8f58355a 3288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3290 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3292 112, 113, 114, 115, -1, 117, 118, 119, 120, 121,
3293 122, 123, 124, 125, 126, -1, 128, 129, 130, 131,
3294 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
3295 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
3296 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
3297 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
3298 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
3299 44, -1, 46, -1, -1, -1, -1, -1, 190, 191,
3300 -1, -1, -1, 195, -1, -1, -1, -1, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, -1, 72, -1,
368f75ae 3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3305 -1, -1, -1, -1, -1, -1, -1, -1, 112, 113,
3306 114, 115, -1, 117, 118, 119, 120, 121, 122, 123,
3307 124, 125, 126, -1, 128, 129, 130, 131, 132, 133,
3308 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
3309 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
3310 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
3311 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
3312 174, 175, 176, 177, 178, 179, 180, 181, 44, -1,
3313 -1, -1, -1, -1, -1, -1, 190, 191, -1, -1,
3314 -1, 195, -1, -1, -1, -1, -1, -1, -1, -1,
368f75ae 3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
08cf8642 3317 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3319 -1, -1, -1, -1, -1, -1, 112, 113, 114, 115,
3320 -1, 117, 118, 119, 120, 121, 122, 123, 124, 125,
3321 126, -1, 128, 129, 130, 131, 132, 133, 134, 135,
3322 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
3323 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
3324 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
3325 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
3326 176, 177, 178, 179, 180, 181, -1, -1, -1, -1,
3327 -1, -1, -1, -1, 190, 191, -1, -1, -1, 195
3328};
3329
3330/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
3331 symbol of state STATE-NUM. */
3332static const yytype_uint16 yystos[] =
3333{
3334 0, 1, 18, 34, 44, 46, 72, 77, 78, 79,
3335 92, 93, 94, 112, 113, 114, 115, 117, 118, 119,
3336 120, 121, 122, 123, 124, 125, 126, 128, 129, 130,
8f58355a 3337 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
3338 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
3339 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
3340 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
3341 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
08cf8642 3342 181, 188, 189, 190, 191, 193, 194, 195, 198, 199,
3343 200, 201, 202, 206, 212, 215, 216, 256, 261, 303,
3344 304, 310, 312, 324, 334, 335, 336, 337, 338, 339,
3345 340, 341, 342, 343, 344, 345, 347, 349, 352, 361,
3346 366, 371, 375, 470, 471, 472, 112, 113, 114, 373,
3347 374, 375, 24, 308, 314, 315, 347, 371, 190, 347,
3348 203, 190, 471, 1, 6, 7, 8, 10, 11, 12,
3349 13, 14, 15, 16, 17, 18, 24, 29, 30, 31,
3350 32, 33, 34, 47, 48, 49, 71, 95, 96, 97,
3351 98, 99, 100, 101, 102, 111, 116, 189, 190, 192,
3352 193, 269, 271, 273, 275, 278, 281, 282, 283, 284,
3353 285, 286, 287, 288, 289, 290, 292, 294, 299, 300,
3354 388, 393, 403, 404, 405, 407, 410, 414, 415, 423,
3355 429, 430, 431, 434, 436, 442, 464, 466, 467, 470,
3356 471, 1, 11, 18, 24, 193, 194, 300, 389, 391,
3357 392, 393, 396, 398, 399, 401, 402, 405, 407, 410,
3358 415, 419, 428, 430, 435, 464, 467, 389, 390, 312,
3359 312, 312, 361, 361, 361, 361, 361, 361, 361, 361,
3360 361, 361, 0, 200, 26, 313, 19, 257, 259, 18,
3361 468, 24, 347, 350, 312, 312, 312, 312, 312, 312,
3362 312, 312, 361, 312, 350, 350, 312, 361, 88, 361,
3363 68, 69, 70, 361, 206, 361, 373, 375, 24, 189,
3364 190, 300, 312, 346, 383, 470, 21, 312, 312, 311,
3365 312, 361, 361, 204, 205, 209, 312, 347, 375, 471,
3366 24, 273, 294, 302, 411, 24, 24, 24, 24, 471,
3367 18, 18, 18, 300, 270, 300, 383, 404, 281, 281,
3368 281, 281, 281, 281, 312, 24, 273, 273, 24, 24,
3369 16, 16, 16, 16, 15, 102, 406, 24, 387, 388,
3370 393, 405, 407, 410, 413, 415, 428, 431, 434, 436,
3371 464, 465, 467, 437, 24, 26, 48, 49, 361, 23,
3372 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
3373 276, 312, 34, 35, 36, 32, 33, 50, 51, 37,
3374 38, 52, 53, 54, 55, 29, 39, 40, 56, 41,
3375 57, 18, 21, 404, 95, 19, 422, 404, 387, 404,
3376 192, 404, 22, 24, 300, 398, 415, 18, 95, 398,
3377 398, 303, 347, 424, 19, 20, 400, 391, 404, 95,
3378 27, 312, 24, 258, 424, 361, 18, 371, 348, 383,
3379 312, 471, 312, 471, 19, 471, 300, 25, 347, 26,
3380 312, 375, 384, 386, 25, 361, 18, 361, 18, 23,
3381 371, 468, 26, 313, 24, 361, 209, 5, 361, 372,
3382 378, 379, 380, 408, 22, 300, 300, 300, 300, 301,
3383 18, 18, 24, 413, 25, 25, 25, 24, 383, 299,
3384 300, 18, 18, 18, 18, 18, 406, 6, 7, 413,
3385 387, 19, 421, 387, 387, 415, 25, 272, 299, 300,
3386 28, 45, 299, 299, 299, 299, 299, 299, 299, 299,
3387 299, 299, 299, 279, 277, 281, 281, 281, 282, 282,
3388 283, 283, 284, 284, 284, 284, 285, 285, 286, 287,
3389 288, 291, 295, 297, 293, 299, 20, 190, 404, 423,
3390 424, 416, 9, 11, 300, 25, 24, 361, 303, 398,
3391 11, 302, 25, 372, 20, 111, 387, 420, 424, 427,
3392 260, 371, 361, 91, 21, 19, 312, 361, 19, 312,
3393 361, 368, 369, 471, 19, 312, 312, 27, 302, 24,
3394 386, 26, 312, 308, 195, 307, 308, 316, 317, 309,
3395 361, 91, 27, 312, 24, 361, 205, 376, 377, 471,
3396 25, 21, 312, 382, 471, 22, 25, 433, 25, 18,
3397 25, 19, 281, 383, 25, 21, 25, 302, 412, 25,
3398 420, 11, 24, 21, 25, 27, 471, 471, 42, 43,
3399 280, 289, 22, 300, 290, 20, 20, 427, 432, 24,
3400 25, 397, 371, 24, 27, 207, 25, 20, 20, 111,
3401 427, 20, 111, 387, 413, 312, 23, 305, 348, 20,
3402 357, 19, 20, 359, 19, 20, 21, 23, 367, 27,
3403 25, 361, 378, 27, 302, 24, 21, 312, 312, 312,
3404 23, 468, 302, 25, 372, 205, 21, 213, 5, 381,
3405 347, 25, 301, 19, 299, 425, 426, 361, 383, 409,
3406 22, 24, 438, 299, 312, 312, 24, 273, 24, 273,
3407 296, 22, 20, 387, 300, 24, 29, 30, 31, 32,
3408 33, 34, 48, 49, 71, 189, 190, 271, 273, 276,
3409 282, 283, 284, 285, 286, 287, 288, 289, 290, 292,
3410 439, 441, 442, 443, 444, 445, 446, 447, 448, 449,
3411 450, 451, 452, 453, 454, 455, 456, 457, 462, 470,
3412 300, 361, 73, 74, 75, 76, 80, 81, 82, 83,
3413 84, 85, 86, 233, 235, 237, 238, 240, 241, 242,
3414 247, 248, 254, 255, 325, 326, 328, 329, 330, 208,
3415 20, 20, 111, 20, 25, 306, 312, 417, 20, 353,
3416 417, 20, 355, 312, 369, 312, 368, 384, 25, 27,
3417 25, 378, 361, 246, 247, 19, 26, 28, 299, 319,
3418 320, 321, 322, 471, 312, 312, 27, 210, 25, 312,
3419 5, 471, 234, 236, 238, 240, 242, 248, 326, 330,
3420 382, 206, 312, 370, 375, 385, 386, 387, 18, 425,
3421 21, 469, 21, 25, 22, 300, 439, 383, 383, 294,
3422 298, 25, 300, 383, 281, 281, 281, 281, 281, 281,
3423 273, 273, 24, 24, 26, 48, 49, 361, 23, 58,
3424 59, 60, 61, 62, 63, 64, 65, 66, 67, 34,
3425 35, 36, 32, 33, 50, 51, 37, 38, 52, 53,
3426 54, 55, 29, 39, 40, 56, 41, 57, 25, 440,
3427 25, 189, 244, 245, 239, 243, 233, 91, 91, 91,
3428 361, 361, 91, 332, 336, 91, 233, 20, 312, 318,
3429 215, 347, 362, 363, 417, 362, 417, 302, 20, 25,
3430 25, 307, 18, 319, 323, 302, 471, 319, 23, 322,
3431 22, 319, 91, 361, 234, 211, 25, 214, 234, 24,
3432 312, 195, 370, 394, 469, 426, 20, 274, 471, 25,
3433 25, 25, 25, 294, 18, 25, 25, 299, 25, 272,
3434 300, 28, 45, 299, 299, 299, 299, 299, 299, 299,
3435 299, 299, 299, 299, 281, 281, 281, 282, 282, 283,
3436 283, 284, 284, 284, 284, 285, 285, 286, 287, 288,
3437 289, 458, 460, 290, 21, 18, 442, 40, 89, 90,
3438 121, 122, 135, 249, 250, 251, 253, 24, 34, 189,
3439 190, 262, 263, 265, 468, 470, 327, 5, 24, 34,
3440 184, 185, 189, 192, 217, 218, 224, 225, 226, 228,
3441 229, 230, 231, 333, 470, 331, 319, 18, 21, 312,
3442 361, 363, 418, 362, 418, 362, 312, 20, 21, 27,
3443 318, 234, 468, 361, 301, 20, 25, 26, 28, 18,
3444 413, 281, 21, 25, 27, 471, 471, 22, 300, 441,
3445 244, 21, 468, 189, 252, 303, 470, 251, 263, 263,
3446 26, 28, 45, 21, 468, 24, 34, 189, 266, 268,
3447 470, 220, 228, 230, 24, 230, 23, 56, 187, 223,
3448 52, 53, 54, 227, 26, 28, 45, 219, 24, 468,
3449 267, 268, 318, 312, 361, 18, 22, 364, 365, 371,
3450 358, 418, 360, 418, 20, 319, 468, 91, 375, 395,
3451 312, 300, 471, 194, 463, 383, 312, 312, 459, 22,
3452 250, 25, 27, 263, 264, 442, 471, 471, 263, 266,
3453 266, 26, 28, 45, 21, 468, 22, 32, 33, 232,
3454 25, 230, 218, 221, 230, 224, 230, 228, 27, 192,
3455 471, 471, 22, 228, 312, 468, 18, 308, 312, 21,
3456 312, 361, 22, 20, 354, 20, 356, 91, 25, 27,
3457 416, 25, 294, 461, 27, 25, 27, 264, 471, 471,
3458 266, 312, 196, 222, 228, 40, 27, 222, 25, 312,
3459 312, 302, 365, 18, 312, 20, 20, 294, 27, 25,
3460 221, 361, 302, 351
368f75ae 3461};
368f75ae 3462
08cf8642 3463#define yyerrok (yyerrstatus = 0)
3464#define yyclearin (yychar = YYEMPTY)
3465#define YYEMPTY (-2)
3466#define YYEOF 0
368f75ae 3467
08cf8642 3468#define YYACCEPT goto yyacceptlab
3469#define YYABORT goto yyabortlab
3470#define YYERROR goto yyerrorlab
368f75ae 3471
368f75ae 3472
08cf8642 3473/* Like YYERROR except do call yyerror. This remains here temporarily
3474 to ease the transition to the new meaning of YYERROR, for GCC.
3475 Once GCC version 2 has supplanted version 1, this can go. */
368f75ae 3476
08cf8642 3477#define YYFAIL goto yyerrlab
368f75ae 3478
08cf8642 3479#define YYRECOVERING() (!!yyerrstatus)
368f75ae 3480
08cf8642 3481#define YYBACKUP(Token, Value) \
3482do \
3483 if (yychar == YYEMPTY && yylen == 1) \
3484 { \
3485 yychar = (Token); \
3486 yylval = (Value); \
3487 yytoken = YYTRANSLATE (yychar); \
3488 YYPOPSTACK (1); \
3489 goto yybackup; \
3490 } \
3491 else \
3492 { \
3493 yyerror (YY_("syntax error: cannot back up")); \
3494 YYERROR; \
3495 } \
3496while (YYID (0))
368f75ae 3497
368f75ae 3498
08cf8642 3499#define YYTERROR 1
3500#define YYERRCODE 256
368f75ae 3501
368f75ae 3502
08cf8642 3503/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3504 If N is 0, then set CURRENT to the empty location which ends
3505 the previous symbol: RHS[0] (always defined). */
368f75ae 3506
08cf8642 3507#define YYRHSLOC(Rhs, K) ((Rhs)[K])
3508#ifndef YYLLOC_DEFAULT
3509# define YYLLOC_DEFAULT(Current, Rhs, N) \
3510 do \
3511 if (YYID (N)) \
3512 { \
3513 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3514 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3515 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3516 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3517 } \
3518 else \
3519 { \
3520 (Current).first_line = (Current).last_line = \
3521 YYRHSLOC (Rhs, 0).last_line; \
3522 (Current).first_column = (Current).last_column = \
3523 YYRHSLOC (Rhs, 0).last_column; \
3524 } \
3525 while (YYID (0))
3526#endif
368f75ae 3527
d0b80d80 3528
08cf8642 3529/* YY_LOCATION_PRINT -- Print the location on the stream.
3530 This macro was not mandated originally: define only if we know
3531 we won't break user code: when these are the locations we know. */
368f75ae 3532
08cf8642 3533#ifndef YY_LOCATION_PRINT
3534# if YYLTYPE_IS_TRIVIAL
3535# define YY_LOCATION_PRINT(File, Loc) \
3536 fprintf (File, "%d.%d-%d.%d", \
3537 (Loc).first_line, (Loc).first_column, \
3538 (Loc).last_line, (Loc).last_column)
368f75ae 3539# else
08cf8642 3540# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
368f75ae 3541# endif
08cf8642 3542#endif
368f75ae 3543
368f75ae 3544
08cf8642 3545/* YYLEX -- calling `yylex' with the right arguments. */
368f75ae 3546
08cf8642 3547#ifdef YYLEX_PARAM
3548# define YYLEX yylex (YYLEX_PARAM)
3549#else
3550# define YYLEX yylex ()
368f75ae 3551#endif
3552
08cf8642 3553/* Enable debugging if requested. */
3554#if YYDEBUG
368f75ae 3555
08cf8642 3556# ifndef YYFPRINTF
3557# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3558# define YYFPRINTF fprintf
d0b80d80 3559# endif
08cf8642 3560
3561# define YYDPRINTF(Args) \
3562do { \
3563 if (yydebug) \
3564 YYFPRINTF Args; \
3565} while (YYID (0))
3566
3567# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3568do { \
3569 if (yydebug) \
3570 { \
3571 YYFPRINTF (stderr, "%s ", Title); \
3572 yy_symbol_print (stderr, \
3573 Type, Value); \
3574 YYFPRINTF (stderr, "\n"); \
3575 } \
3576} while (YYID (0))
3577
3578
3579/*--------------------------------.
3580| Print this symbol on YYOUTPUT. |
3581`--------------------------------*/
3582
3583/*ARGSUSED*/
3584#if (defined __STDC__ || defined __C99__FUNC__ \
3585 || defined __cplusplus || defined _MSC_VER)
3586static void
3587yy_symbol_value_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3588#else
3589static void
3590yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3591 FILE *yyoutput;
3592 int yytype;
3593 cgrammar_YYSTYPE const * const yyvaluep;
d0b80d80 3594#endif
08cf8642 3595{
3596 if (!yyvaluep)
3597 return;
3598# ifdef YYPRINT
3599 if (yytype < YYNTOKENS)
3600 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3601# else
3602 YYUSE (yyoutput);
3603# endif
3604 switch (yytype)
3605 {
3606 default:
3607 break;
3608 }
3609}
d0b80d80 3610
d0b80d80 3611
08cf8642 3612/*--------------------------------.
3613| Print this symbol on YYOUTPUT. |
3614`--------------------------------*/
d0b80d80 3615
08cf8642 3616#if (defined __STDC__ || defined __C99__FUNC__ \
3617 || defined __cplusplus || defined _MSC_VER)
3618static void
3619yy_symbol_print (FILE *yyoutput, int yytype, cgrammar_YYSTYPE const * const yyvaluep)
3620#else
3621static void
3622yy_symbol_print (yyoutput, yytype, yyvaluep)
3623 FILE *yyoutput;
3624 int yytype;
3625 cgrammar_YYSTYPE const * const yyvaluep;
3626#endif
3627{
3628 if (yytype < YYNTOKENS)
3629 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3630 else
3631 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
368f75ae 3632
08cf8642 3633 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3634 YYFPRINTF (yyoutput, ")");
3635}
368f75ae 3636
08cf8642 3637/*------------------------------------------------------------------.
3638| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3639| TOP (included). |
3640`------------------------------------------------------------------*/
d0b80d80 3641
08cf8642 3642#if (defined __STDC__ || defined __C99__FUNC__ \
3643 || defined __cplusplus || defined _MSC_VER)
3644static void
3645yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3646#else
3647static void
3648yy_stack_print (bottom, top)
3649 yytype_int16 *bottom;
3650 yytype_int16 *top;
d0b80d80 3651#endif
08cf8642 3652{
3653 YYFPRINTF (stderr, "Stack now");
3654 for (; bottom <= top; ++bottom)
3655 YYFPRINTF (stderr, " %d", *bottom);
3656 YYFPRINTF (stderr, "\n");
3657}
d0b80d80 3658
08cf8642 3659# define YY_STACK_PRINT(Bottom, Top) \
3660do { \
3661 if (yydebug) \
3662 yy_stack_print ((Bottom), (Top)); \
3663} while (YYID (0))
368f75ae 3664
368f75ae 3665
08cf8642 3666/*------------------------------------------------.
3667| Report that the YYRULE is going to be reduced. |
3668`------------------------------------------------*/
d0b80d80 3669
08cf8642 3670#if (defined __STDC__ || defined __C99__FUNC__ \
3671 || defined __cplusplus || defined _MSC_VER)
3672static void
3673yy_reduce_print (cgrammar_YYSTYPE *yyvsp, int yyrule)
3674#else
3675static void
3676yy_reduce_print (yyvsp, yyrule)
3677 cgrammar_YYSTYPE *yyvsp;
3678 int yyrule;
3679#endif
3680{
3681 int yynrhs = yyr2[yyrule];
3682 int yyi;
3683 unsigned long int yylno = yyrline[yyrule];
3684 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3685 yyrule - 1, yylno);
3686 /* The symbols being reduced. */
3687 for (yyi = 0; yyi < yynrhs; yyi++)
3688 {
3689 fprintf (stderr, " $%d = ", yyi + 1);
3690 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3691 &(yyvsp[(yyi + 1) - (yynrhs)])
3692 );
3693 fprintf (stderr, "\n");
3694 }
3695}
d0b80d80 3696
08cf8642 3697# define YY_REDUCE_PRINT(Rule) \
3698do { \
3699 if (yydebug) \
3700 yy_reduce_print (yyvsp, Rule); \
3701} while (YYID (0))
d0b80d80 3702
d0b80d80 3703/* Nonzero means print parse trace. It is left uninitialized so that
3704 multiple parsers can coexist. */
3705int yydebug;
3706#else /* !YYDEBUG */
3707# define YYDPRINTF(Args)
08cf8642 3708# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3709# define YY_STACK_PRINT(Bottom, Top)
3710# define YY_REDUCE_PRINT(Rule)
d0b80d80 3711#endif /* !YYDEBUG */
3712
08cf8642 3713
d0b80d80 3714/* YYINITDEPTH -- initial size of the parser's stacks. */
3715#ifndef YYINITDEPTH
3716# define YYINITDEPTH 200
3717#endif
3718
3719/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3720 if the built-in stack extension method is used).
3721
3722 Do not make this value too large; the results are undefined if
08cf8642 3723 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
d0b80d80 3724 evaluated with infinite-precision integer arithmetic. */
3725
d0b80d80 3726#ifndef YYMAXDEPTH
3727# define YYMAXDEPTH 10000
3728#endif
08cf8642 3729
d0b80d80 3730\f
08cf8642 3731
3732#if YYERROR_VERBOSE
d0b80d80 3733
3734# ifndef yystrlen
08cf8642 3735# if defined __GLIBC__ && defined _STRING_H
d0b80d80 3736# define yystrlen strlen
3737# else
3738/* Return the length of YYSTR. */
08cf8642 3739#if (defined __STDC__ || defined __C99__FUNC__ \
3740 || defined __cplusplus || defined _MSC_VER)
d0b80d80 3741static YYSIZE_T
d0b80d80 3742yystrlen (const char *yystr)
08cf8642 3743#else
3744static YYSIZE_T
d0b80d80 3745yystrlen (yystr)
08cf8642 3746 const char *yystr;
3747#endif
d0b80d80 3748{
08cf8642 3749 YYSIZE_T yylen;
3750 for (yylen = 0; yystr[yylen]; yylen++)
d0b80d80 3751 continue;
08cf8642 3752 return yylen;
d0b80d80 3753}
3754# endif
3755# endif
3756
3757# ifndef yystpcpy
08cf8642 3758# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
d0b80d80 3759# define yystpcpy stpcpy
3760# else
3761/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3762 YYDEST. */
08cf8642 3763#if (defined __STDC__ || defined __C99__FUNC__ \
3764 || defined __cplusplus || defined _MSC_VER)
d0b80d80 3765static char *
d0b80d80 3766yystpcpy (char *yydest, const char *yysrc)
08cf8642 3767#else
3768static char *
d0b80d80 3769yystpcpy (yydest, yysrc)
08cf8642 3770 char *yydest;
3771 const char *yysrc;
3772#endif
d0b80d80 3773{
08cf8642 3774 char *yyd = yydest;
3775 const char *yys = yysrc;
d0b80d80 3776
3777 while ((*yyd++ = *yys++) != '\0')
3778 continue;
3779
3780 return yyd - 1;
3781}
3782# endif
3783# endif
8f58355a 3784
08cf8642 3785# ifndef yytnamerr
3786/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3787 quotes and backslashes, so that it's suitable for yyerror. The
3788 heuristic is that double-quoting is unnecessary unless the string
3789 contains an apostrophe, a comma, or backslash (other than
3790 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3791 null, do not copy; instead, return the length of what the result
3792 would have been. */
3793static YYSIZE_T
3794yytnamerr (char *yyres, const char *yystr)
3795{
3796 if (*yystr == '"')
3797 {
3798 YYSIZE_T yyn = 0;
3799 char const *yyp = yystr;
3800
3801 for (;;)
3802 switch (*++yyp)
3803 {
3804 case '\'':
3805 case ',':
3806 goto do_not_strip_quotes;
3807
3808 case '\\':
3809 if (*++yyp != '\\')
3810 goto do_not_strip_quotes;
3811 /* Fall through. */
3812 default:
3813 if (yyres)
3814 yyres[yyn] = *yyp;
3815 yyn++;
3816 break;
3817
3818 case '"':
3819 if (yyres)
3820 yyres[yyn] = '\0';
3821 return yyn;
3822 }
3823 do_not_strip_quotes: ;
3824 }
368f75ae 3825
08cf8642 3826 if (! yyres)
3827 return yystrlen (yystr);
8f58355a 3828
08cf8642 3829 return yystpcpy (yyres, yystr) - yyres;
3830}
8f58355a 3831# endif
08cf8642 3832
3833/* Copy into YYRESULT an error message about the unexpected token
3834 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3835 including the terminating null byte. If YYRESULT is null, do not
3836 copy anything; just return the number of bytes that would be
3837 copied. As a special case, return 0 if an ordinary "syntax error"
3838 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3839 size calculation. */
3840static YYSIZE_T
3841yysyntax_error (char *yyresult, int yystate, int yychar)
3842{
3843 int yyn = yypact[yystate];
3844
3845 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3846 return 0;
3847 else
3848 {
3849 int yytype = YYTRANSLATE (yychar);
3850 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3851 YYSIZE_T yysize = yysize0;
3852 YYSIZE_T yysize1;
3853 int yysize_overflow = 0;
3854 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3855 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3856 int yyx;
3857
3858# if 0
3859 /* This is so xgettext sees the translatable formats that are
3860 constructed on the fly. */
3861 YY_("syntax error, unexpected %s");
3862 YY_("syntax error, unexpected %s, expecting %s");
3863 YY_("syntax error, unexpected %s, expecting %s or %s");
3864 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3865 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
368f75ae 3866# endif
08cf8642 3867 char *yyfmt;
3868 char const *yyf;
3869 static char const yyunexpected[] = "syntax error, unexpected %s";
3870 static char const yyexpecting[] = ", expecting %s";
3871 static char const yyor[] = " or %s";
3872 char yyformat[sizeof yyunexpected
3873 + sizeof yyexpecting - 1
3874 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3875 * (sizeof yyor - 1))];
3876 char const *yyprefix = yyexpecting;
3877
3878 /* Start YYX at -YYN if negative to avoid negative indexes in
3879 YYCHECK. */
3880 int yyxbegin = yyn < 0 ? -yyn : 0;
3881
3882 /* Stay within bounds of both yycheck and yytname. */
3883 int yychecklim = YYLAST - yyn + 1;
3884 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3885 int yycount = 1;
3886
3887 yyarg[0] = yytname[yytype];
3888 yyfmt = yystpcpy (yyformat, yyunexpected);
3889
3890 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3891 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3892 {
3893 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3894 {
3895 yycount = 1;
3896 yysize = yysize0;
3897 yyformat[sizeof yyunexpected - 1] = '\0';
3898 break;
3899 }
3900 yyarg[yycount++] = yytname[yyx];
3901 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3902 yysize_overflow |= (yysize1 < yysize);
3903 yysize = yysize1;
3904 yyfmt = yystpcpy (yyfmt, yyprefix);
3905 yyprefix = yyor;
3906 }
3907
3908 yyf = YY_(yyformat);
3909 yysize1 = yysize + yystrlen (yyf);
3910 yysize_overflow |= (yysize1 < yysize);
3911 yysize = yysize1;
3912
3913 if (yysize_overflow)
3914 return YYSIZE_MAXIMUM;
3915
3916 if (yyresult)
3917 {
3918 /* Avoid sprintf, as that infringes on the user's name space.
3919 Don't have undefined behavior even if the translation
3920 produced a string with the wrong number of "%s"s. */
3921 char *yyp = yyresult;
3922 int yyi = 0;
3923 while ((*yyp = *yyf) != '\0')
3924 {
3925 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3926 {
3927 yyp += yytnamerr (yyp, yyarg[yyi++]);
3928 yyf += 2;
3929 }
3930 else
3931 {
3932 yyp++;
3933 yyf++;
3934 }
3935 }
3936 }
3937 return yysize;
3938 }
3939}
3940#endif /* YYERROR_VERBOSE */
3941\f
3942
3943/*-----------------------------------------------.
3944| Release the memory associated to this symbol. |
3945`-----------------------------------------------*/
3946
3947/*ARGSUSED*/
3948#if (defined __STDC__ || defined __C99__FUNC__ \
3949 || defined __cplusplus || defined _MSC_VER)
3950static void
3951yydestruct (const char *yymsg, int yytype, cgrammar_YYSTYPE *yyvaluep)
3952#else
3953static void
3954yydestruct (yymsg, yytype, yyvaluep)
3955 const char *yymsg;
3956 int yytype;
3957 cgrammar_YYSTYPE *yyvaluep;
8f58355a 3958#endif
08cf8642 3959{
3960 YYUSE (yyvaluep);
8f58355a 3961
08cf8642 3962 if (!yymsg)
3963 yymsg = "Deleting";
3964 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3965
3966 switch (yytype)
3967 {
8f58355a 3968
08cf8642 3969 default:
3970 break;
3971 }
3972}
3973\f
3974
3975/* Prevent warnings from -Wmissing-prototypes. */
3976
3977#ifdef YYPARSE_PARAM
3978#if defined __STDC__ || defined __cplusplus
3979int yyparse (void *YYPARSE_PARAM);
3980#else
3981int yyparse ();
3982#endif
3983#else /* ! YYPARSE_PARAM */
3984#if defined __STDC__ || defined __cplusplus
3985int yyparse (void);
368f75ae 3986#else
08cf8642 3987int yyparse ();
368f75ae 3988#endif
08cf8642 3989#endif /* ! YYPARSE_PARAM */
3990
3991
3992
3993/* The look-ahead symbol. */
3994int yychar;
8f58355a 3995
08cf8642 3996/* The semantic value of the look-ahead symbol. */
3997cgrammar_YYSTYPE yylval;
3998
3999/* Number of syntax errors so far. */
4000int yynerrs;
8f58355a 4001
8f58355a 4002
8f58355a 4003
08cf8642 4004/*----------.
4005| yyparse. |
4006`----------*/
4007
4008#ifdef YYPARSE_PARAM
4009#if (defined __STDC__ || defined __C99__FUNC__ \
4010 || defined __cplusplus || defined _MSC_VER)
368f75ae 4011int
08cf8642 4012yyparse (void *YYPARSE_PARAM)
4013#else
4014int
4015yyparse (YYPARSE_PARAM)
4016 void *YYPARSE_PARAM;
4017#endif
4018#else /* ! YYPARSE_PARAM */
4019#if (defined __STDC__ || defined __C99__FUNC__ \
4020 || defined __cplusplus || defined _MSC_VER)
4021int
4022yyparse (void)
4023#else
4024int
4025yyparse ()
8f58355a 4026
08cf8642 4027#endif
4028#endif
4029{
4030
4031 int yystate;
4032 int yyn;
d0b80d80 4033 int yyresult;
4034 /* Number of tokens to shift before error messages enabled. */
4035 int yyerrstatus;
08cf8642 4036 /* Look-ahead token as an internal (translated) token number. */
4037 int yytoken = 0;
4038#if YYERROR_VERBOSE
4039 /* Buffer for error messages, and its allocated size. */
4040 char yymsgbuf[128];
4041 char *yymsg = yymsgbuf;
4042 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
4043#endif
d0b80d80 4044
4045 /* Three stacks and their tools:
4046 `yyss': related to states,
4047 `yyvs': related to semantic values,
4048 `yyls': related to locations.
4049
4050 Refer to the stacks thru separate pointers, to allow yyoverflow
4051 to reallocate them elsewhere. */
4052
08cf8642 4053 /* The state stack. */
4054 yytype_int16 yyssa[YYINITDEPTH];
4055 yytype_int16 *yyss = yyssa;
4056 yytype_int16 *yyssp;
d0b80d80 4057
4058 /* The semantic value stack. */
4059 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
4060 cgrammar_YYSTYPE *yyvs = yyvsa;
08cf8642 4061 cgrammar_YYSTYPE *yyvsp;
d0b80d80 4062
d0b80d80 4063
d0b80d80 4064
08cf8642 4065#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
d0b80d80 4066
08cf8642 4067 YYSIZE_T yystacksize = YYINITDEPTH;
368f75ae 4068
d0b80d80 4069 /* The variables used to return semantic value and location from the
4070 action routines. */
4071 cgrammar_YYSTYPE yyval;
d0b80d80 4072
08cf8642 4073
4074 /* The number of symbols on the RHS of the reduced rule.
4075 Keep to zero when no symbol should be popped. */
4076 int yylen = 0;
d0b80d80 4077
4078 YYDPRINTF ((stderr, "Starting parse\n"));
4079
4080 yystate = 0;
4081 yyerrstatus = 0;
4082 yynerrs = 0;
4083 yychar = YYEMPTY; /* Cause a token to be read. */
4084
4085 /* Initialize stack pointers.
4086 Waste one element of value and location stack
4087 so that they stay on the same level as the state stack.
4088 The wasted elements are never initialized. */
4089
4090 yyssp = yyss;
4091 yyvsp = yyvs;
08cf8642 4092
d0b80d80 4093 goto yysetstate;
4094
4095/*------------------------------------------------------------.
4096| yynewstate -- Push a new state, which is found in yystate. |
4097`------------------------------------------------------------*/
4098 yynewstate:
4099 /* In all cases, when you get here, the value and location stacks
08cf8642 4100 have just been pushed. So pushing a state here evens the stacks. */
d0b80d80 4101 yyssp++;
4102
4103 yysetstate:
4104 *yyssp = yystate;
4105
08cf8642 4106 if (yyss + yystacksize - 1 <= yyssp)
d0b80d80 4107 {
4108 /* Get the current used size of the three stacks, in elements. */
4109 YYSIZE_T yysize = yyssp - yyss + 1;
4110
4111#ifdef yyoverflow
4112 {
08cf8642 4113 /* Give user a chance to reallocate the stack. Use copies of
d0b80d80 4114 these so that the &'s don't force the real ones into
4115 memory. */
4116 cgrammar_YYSTYPE *yyvs1 = yyvs;
08cf8642 4117 yytype_int16 *yyss1 = yyss;
4118
d0b80d80 4119
4120 /* Each stack pointer address is followed by the size of the
08cf8642 4121 data in use in that stack, in bytes. This used to be a
4122 conditional around just the two extra args, but that might
4123 be undefined if yyoverflow is a macro. */
4124 yyoverflow (YY_("memory exhausted"),
368f75ae 4125 &yyss1, yysize * sizeof (*yyssp),
4126 &yyvs1, yysize * sizeof (*yyvsp),
08cf8642 4127
368f75ae 4128 &yystacksize);
08cf8642 4129
d0b80d80 4130 yyss = yyss1;
4131 yyvs = yyvs1;
4132 }
4133#else /* no yyoverflow */
4134# ifndef YYSTACK_RELOCATE
08cf8642 4135 goto yyexhaustedlab;
d0b80d80 4136# else
4137 /* Extend the stack our own way. */
08cf8642 4138 if (YYMAXDEPTH <= yystacksize)
4139 goto yyexhaustedlab;
d0b80d80 4140 yystacksize *= 2;
08cf8642 4141 if (YYMAXDEPTH < yystacksize)
d0b80d80 4142 yystacksize = YYMAXDEPTH;
4143
4144 {
08cf8642 4145 yytype_int16 *yyss1 = yyss;
d0b80d80 4146 union yyalloc *yyptr =
4147 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4148 if (! yyptr)
08cf8642 4149 goto yyexhaustedlab;
d0b80d80 4150 YYSTACK_RELOCATE (yyss);
4151 YYSTACK_RELOCATE (yyvs);
08cf8642 4152
4153# undef YYSTACK_RELOCATE
d0b80d80 4154 if (yyss1 != yyssa)
4155 YYSTACK_FREE (yyss1);
4156 }
4157# endif
4158#endif /* no yyoverflow */
4159
4160 yyssp = yyss + yysize - 1;
4161 yyvsp = yyvs + yysize - 1;
08cf8642 4162
d0b80d80 4163
4164 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4165 (unsigned long int) yystacksize));
4166
08cf8642 4167 if (yyss + yystacksize - 1 <= yyssp)
d0b80d80 4168 YYABORT;
4169 }
4170
4171 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4172
4173 goto yybackup;
4174
d0b80d80 4175/*-----------.
4176| yybackup. |
4177`-----------*/
4178yybackup:
4179
08cf8642 4180 /* Do appropriate processing given the current state. Read a
4181 look-ahead token if we need one and don't already have one. */
d0b80d80 4182
08cf8642 4183 /* First try to decide what to do without reference to look-ahead token. */
d0b80d80 4184 yyn = yypact[yystate];
08cf8642 4185 if (yyn == YYPACT_NINF)
d0b80d80 4186 goto yydefault;
4187
08cf8642 4188 /* Not known => get a look-ahead token if don't already have one. */
368f75ae 4189
08cf8642 4190 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
d0b80d80 4191 if (yychar == YYEMPTY)
4192 {
4193 YYDPRINTF ((stderr, "Reading a token: "));
4194 yychar = YYLEX;
4195 }
4196
08cf8642 4197 if (yychar <= YYEOF)
d0b80d80 4198 {
08cf8642 4199 yychar = yytoken = YYEOF;
d0b80d80 4200 YYDPRINTF ((stderr, "Now at end of input.\n"));
4201 }
4202 else
4203 {
08cf8642 4204 yytoken = YYTRANSLATE (yychar);
4205 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
d0b80d80 4206 }
4207
08cf8642 4208 /* If the proper action on seeing token YYTOKEN is to reduce or to
4209 detect an error, take that action. */
4210 yyn += yytoken;
4211 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
d0b80d80 4212 goto yydefault;
d0b80d80 4213 yyn = yytable[yyn];
08cf8642 4214 if (yyn <= 0)
d0b80d80 4215 {
08cf8642 4216 if (yyn == 0 || yyn == YYTABLE_NINF)
d0b80d80 4217 goto yyerrlab;
4218 yyn = -yyn;
4219 goto yyreduce;
4220 }
d0b80d80 4221
4222 if (yyn == YYFINAL)
4223 YYACCEPT;
4224
d0b80d80 4225 /* Count tokens shifted since error; after three, turn off error
4226 status. */
4227 if (yyerrstatus)
4228 yyerrstatus--;
4229
08cf8642 4230 /* Shift the look-ahead token. */
4231 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
4232
4233 /* Discard the shifted token unless it is eof. */
4234 if (yychar != YYEOF)
4235 yychar = YYEMPTY;
4236
d0b80d80 4237 yystate = yyn;
08cf8642 4238 *++yyvsp = yylval;
4239
d0b80d80 4240 goto yynewstate;
4241
4242
4243/*-----------------------------------------------------------.
4244| yydefault -- do the default action for the current state. |
4245`-----------------------------------------------------------*/
4246yydefault:
4247 yyn = yydefact[yystate];
4248 if (yyn == 0)
4249 goto yyerrlab;
4250 goto yyreduce;
4251
4252
4253/*-----------------------------.
4254| yyreduce -- Do a reduction. |
4255`-----------------------------*/
4256yyreduce:
4257 /* yyn is the number of a rule to reduce with. */
4258 yylen = yyr2[yyn];
4259
4260 /* If YYLEN is nonzero, implement the default value of the action:
4261 `$$ = $1'.
4262
08cf8642 4263 Otherwise, the following line sets YYVAL to garbage.
4264 This behavior is undocumented and Bison
d0b80d80 4265 users should not rely upon it. Assigning to YYVAL
4266 unconditionally makes the parser a bit smaller, and it avoids a
4267 GCC warning that YYVAL may be used uninitialized. */
4268 yyval = yyvsp[1-yylen];
4269
d0b80d80 4270
08cf8642 4271 YY_REDUCE_PRINT (yyn);
4272 switch (yyn)
d0b80d80 4273 {
08cf8642 4274 case 4:
69db2541 4275#line 333 "cgrammar.y"
08cf8642 4276 { context_checkGlobalScope (); ;}
4277 break;
8f58355a 4278
08cf8642 4279 case 5:
69db2541 4280#line 334 "cgrammar.y"
08cf8642 4281 { context_checkGlobalScope (); ;}
4282 break;
4283
4284 case 6:
69db2541 4285#line 338 "cgrammar.y"
08cf8642 4286 { uentry_clearDecl (); ;}
4287 break;
4288
4289 case 7:
69db2541 4290#line 339 "cgrammar.y"
08cf8642 4291 { uentry_clearDecl (); ;}
4292 break;
4293
4294 case 8:
69db2541 4295#line 340 "cgrammar.y"
08cf8642 4296 { uentry_clearDecl (); ;}
4297 break;
4298
4299 case 9:
69db2541 4300#line 341 "cgrammar.y"
08cf8642 4301 { uentry_clearDecl (); ;}
4302 break;
4303
4304 case 10:
69db2541 4305#line 342 "cgrammar.y"
08cf8642 4306 { uentry_clearDecl (); ;}
4307 break;
4308
4309 case 11:
69db2541 4310#line 343 "cgrammar.y"
08cf8642 4311 { uentry_checkDecl (); exprNode_free ((yyvsp[(1) - (1)].expr)); ;}
4312 break;
4313
4314 case 12:
69db2541 4315#line 344 "cgrammar.y"
08cf8642 4316 { uentry_clearDecl (); lltok_free ((yyvsp[(1) - (1)].tok)); /* evans 2002-02-08: okay to have a null statement */ ;}
4317 break;
4318
4319 case 13:
69db2541 4320#line 345 "cgrammar.y"
08cf8642 4321 { uentry_clearDecl (); ;}
4322 break;
4323
4324 case 14:
69db2541 4325#line 350 "cgrammar.y"
08cf8642 4326 { checkConstant ((yyvsp[(2) - (8)].qtyp), (yyvsp[(4) - (8)].ntyp)); lltok_free2 ((yyvsp[(1) - (8)].tok), (yyvsp[(8) - (8)].tok)); ;}
4327 break;
4328
4329 case 15:
69db2541 4330#line 352 "cgrammar.y"
08cf8642 4331 { 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)); ;}
4332 break;
4333
4334 case 16:
69db2541 4335#line 356 "cgrammar.y"
08cf8642 4336 { context_enterFunctionHeader (); ;}
4337 break;
4338
4339 case 17:
69db2541 4340#line 357 "cgrammar.y"
08cf8642 4341 {
4342 declareStaticFunction ((yyvsp[(3) - (5)].ntyp)); context_quietExitFunction ();
4343 context_exitFunctionHeader ();
4344 lltok_free2 ((yyvsp[(1) - (5)].tok), (yyvsp[(5) - (5)].tok)); /*!*/
4345 ;}
4346 break;
4347
4348 case 18:
69db2541 4349#line 366 "cgrammar.y"
08cf8642 4350 {
4351 qtype qint = qtype_create (ctype_int);
4352 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4353 qtype_free (qint);
4354 ;}
4355 break;
4356
4357 case 19:
69db2541 4358#line 372 "cgrammar.y"
08cf8642 4359 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4360 break;
4361
4362 case 21:
69db2541 4363#line 378 "cgrammar.y"
08cf8642 4364 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
4365 break;
4366
4367 case 22:
69db2541 4368#line 382 "cgrammar.y"
08cf8642 4369 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4370 break;
4371
4372 case 23:
69db2541 4373#line 384 "cgrammar.y"
08cf8642 4374 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4375 break;
4376
4377 case 24:
69db2541 4378#line 386 "cgrammar.y"
08cf8642 4379 { (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)); ;}
4380 break;
4381
4382 case 25:
69db2541 4383#line 388 "cgrammar.y"
08cf8642 4384 {
4385 exprNode_findValue ((yyvsp[(4) - (6)].expr));
4386 idDecl_notExpectingFunction ((yyvsp[(1) - (6)].ntyp));
4387
4388 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr)))
4389 {
4390 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4391 exprNode_getLongValue ((yyvsp[(4) - (6)].expr))));
4392 }
4393 else
4394 {
4395 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp))));
4396 }
4397
4398 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4399 ;}
4400 break;
4401
4402 case 26:
69db2541 4403#line 405 "cgrammar.y"
08cf8642 4404 { setCurrentParams (uentryList_missingParams); ;}
4405 break;
4406
4407 case 27:
69db2541 4408#line 407 "cgrammar.y"
08cf8642 4409 { /* need to support globals and modifies here! */
4410 functionClauseList fcl;
4411 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4412 uentryList_makeMissingParams ());
4413
4414 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4415
4416 /*drl 7/25/01 added*/
4417 setImplicitfcnConstraints();
4418
4419 DPRINTF((message("namedDeclBase PushType TLPAREN TRPAREN...:\n adding implict constraints to functionClause List: %s",
4420 functionClauseList_unparse((yyvsp[(6) - (6)].funcclauselist))
4421 )
4422 ));
4423
4424 fcl = functionClauseList_setImplicitConstraints((yyvsp[(6) - (6)].funcclauselist));
4425
4426 idDecl_addClauses ((yyval.ntyp), fcl);
4427
4428 DPRINTF((message("1 added fuctionClause List: %s to the Id",
4429 functionClauseList_unparse(fcl)
4430 )
4431 ));
4432
4433
4434 context_popLoc ();
4435 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4436 ;}
4437 break;
4438
4439 case 28:
69db2541 4440#line 436 "cgrammar.y"
08cf8642 4441 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4442 break;
4443
4444 case 29:
69db2541 4445#line 438 "cgrammar.y"
08cf8642 4446 {
4447 functionClauseList fcl;
4448 setImplicitfcnConstraints ();
4449 clearCurrentParams ();
4450 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4451
4452 DPRINTF((message("namedDeclBase PushType TLPAREN genericParamList TRPAREN...:\n adding implict constraints to functionClause List: %s",
4453 functionClauseList_unparse((yyvsp[(7) - (7)].funcclauselist))
4454 )
4455 )) ;
4456
4457 fcl = functionClauseList_setImplicitConstraints((yyvsp[(7) - (7)].funcclauselist));
4458
4459 idDecl_addClauses ((yyval.ntyp), fcl);
4460
4461 DPRINTF((message("added fuctionClause List: %s to the Id",
4462 functionClauseList_unparse(fcl)
4463 )
4464 ));
4465
4466
4467 context_popLoc ();
4468 lltok_free2 ((yyvsp[(3) - (7)].tok), (yyvsp[(5) - (7)].tok));
4469 ;}
4470 break;
4471
4472 case 30:
69db2541 4473#line 465 "cgrammar.y"
08cf8642 4474 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4475 break;
4476
4477 case 31:
69db2541 4478#line 467 "cgrammar.y"
08cf8642 4479 { (yyval.ntyp) = idDecl_expectFunction ((yyvsp[(4) - (6)].ntyp)); lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(6) - (6)].tok)); ;}
4480 break;
4481
4482 case 32:
69db2541 4483#line 469 "cgrammar.y"
08cf8642 4484 { (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (3)].ntyp), ctype_makeInnerArray (idDecl_getCtype ((yyvsp[(1) - (3)].ntyp))));
4485 lltok_free2 ((yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].tok));
4486 ;}
4487 break;
4488
4489 case 33:
69db2541 4490#line 473 "cgrammar.y"
08cf8642 4491 {
4492 int value;
4493
4494 if (exprNode_hasValue ((yyvsp[(4) - (6)].expr))
4495 && multiVal_isInt (exprNode_getValue ((yyvsp[(4) - (6)].expr))))
4496 {
4497 value = (int) multiVal_forceInt (exprNode_getValue ((yyvsp[(4) - (6)].expr)));
4498 }
4499 else
4500 {
4501 value = 0;
4502 }
4503
4504 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ctype_makeInnerFixedArray (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)), value));
4505 lltok_free2 ((yyvsp[(2) - (6)].tok), (yyvsp[(5) - (6)].tok));
4506 ;}
4507 break;
4508
4509 case 34:
69db2541 4510#line 490 "cgrammar.y"
08cf8642 4511 { setCurrentParams (uentryList_missingParams); ;}
4512 break;
4513
4514 case 35:
69db2541 4515#line 492 "cgrammar.y"
08cf8642 4516 {
4517 ctype ct = ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (6)].ntyp)),
4518 uentryList_makeMissingParams ());
4519
4520 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (6)].ntyp), ct);
4521 idDecl_addClauses ((yyval.ntyp), (yyvsp[(6) - (6)].funcclauselist));
4522 context_popLoc ();
4523 lltok_free2 ((yyvsp[(3) - (6)].tok), (yyvsp[(4) - (6)].tok));
4524 ;}
4525 break;
4526
4527 case 36:
69db2541 4528#line 502 "cgrammar.y"
08cf8642 4529 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4530 break;
4531
4532 case 37:
69db2541 4533#line 504 "cgrammar.y"
08cf8642 4534 {
4535 clearCurrentParams ();
4536 (yyval.ntyp) = idDecl_replaceCtype ((yyvsp[(1) - (7)].ntyp), ctype_makeFunction (idDecl_getCtype ((yyvsp[(1) - (7)].ntyp)), (yyvsp[(4) - (7)].entrylist)));
4537 idDecl_addClauses ((yyval.ntyp), (yyvsp[(7) - (7)].funcclauselist));
4538 context_popLoc ();
4539 lltok_free ((yyvsp[(3) - (7)].tok));
4540 /*!! lltok_free2 ($3, $5); */
4541 ;}
4542 break;
4543
4544 case 38:
69db2541 4545#line 516 "cgrammar.y"
08cf8642 4546 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4547 break;
4548
4549 case 39:
69db2541 4550#line 517 "cgrammar.y"
08cf8642 4551 { clearCurrentParams (); ;}
4552 break;
4553
4554 case 40:
69db2541 4555#line 518 "cgrammar.y"
08cf8642 4556 { declareCIter ((yyvsp[(2) - (10)].cname), (yyvsp[(4) - (10)].entrylist));
4557 lltok_free3 ((yyvsp[(1) - (10)].tok), (yyvsp[(3) - (10)].tok), (yyvsp[(5) - (10)].tok));
4558 ;}
4559 break;
4560
4561 case 41:
69db2541 4562#line 524 "cgrammar.y"
08cf8642 4563 { exprNode_checkMacroBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4564 break;
4565
4566 case 42:
69db2541 4567#line 525 "cgrammar.y"
08cf8642 4568 { exprNode_checkIterBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4569 break;
4570
4571 case 43:
69db2541 4572#line 526 "cgrammar.y"
08cf8642 4573 { exprNode_checkIterEnd ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok));;}
4574 break;
4575
4576 case 44:
69db2541 4577#line 527 "cgrammar.y"
08cf8642 4578 { exprChecks_checkEmptyMacroBody (); lltok_free2 ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tok)); ;}
4579 break;
4580
4581 case 45:
69db2541 4582#line 531 "cgrammar.y"
08cf8642 4583 { clabstract_declareFunction ((yyvsp[(1) - (1)].ntyp)); ;}
4584 break;
4585
4586 case 46:
69db2541 4587#line 536 "cgrammar.y"
08cf8642 4588 { (yyval.msconstraint) = metaStateConstraint_create ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4589 break;
4590
4591 case 47:
69db2541 4592#line 540 "cgrammar.y"
08cf8642 4593 { cscannerHelp_expectingMetaStateName (); ;}
4594 break;
4595
4596 case 48:
69db2541 4597#line 541 "cgrammar.y"
08cf8642 4598 { cscannerHelp_clearExpectingMetaStateName ();
4599 (yyval.msspec) = metaStateSpecifier_create ((yyvsp[(1) - (4)].sr), (yyvsp[(4) - (4)].msinfo));
4600 lltok_free ((yyvsp[(3) - (4)].tok));
4601 ;}
4602 break;
4603
4604 case 49:
69db2541 4605#line 545 "cgrammar.y"
08cf8642 4606 { cscannerHelp_expectingMetaStateName (); ;}
4607 break;
4608
4609 case 50:
69db2541 4610#line 546 "cgrammar.y"
08cf8642 4611 { cscannerHelp_clearExpectingMetaStateName ();
4612 (yyval.msspec) = metaStateSpecifier_createElipsis ((yyvsp[(4) - (4)].msinfo));
4613 lltok_free2 ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].tok));
4614 ;}
4615 break;
4616
4617 case 51:
69db2541 4618#line 553 "cgrammar.y"
08cf8642 4619 { (yyval.msexpr) = metaStateExpression_create ((yyvsp[(1) - (1)].msspec)); ;}
4620 break;
4621
4622 case 52:
69db2541 4623#line 554 "cgrammar.y"
08cf8642 4624 { (yyval.msexpr) = metaStateExpression_createMerge ((yyvsp[(1) - (3)].msspec), (yyvsp[(3) - (3)].msexpr)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
4625 break;
4626
4627 case 56:
69db2541 4628#line 569 "cgrammar.y"
08cf8642 4629 { (yyval.conL) = constraintList_add ((yyvsp[(3) - (3)].conL), (yyvsp[(1) - (3)].con)); ;}
4630 break;
4631
4632 case 57:
69db2541 4633#line 570 "cgrammar.y"
08cf8642 4634 { (yyval.conL) = constraintList_single ((yyvsp[(1) - (1)].con)); ;}
4635 break;
4636
4637 case 58:
69db2541 4638#line 574 "cgrammar.y"
08cf8642 4639 {
4640 (yyval.con) = makeConstraintParse3 ((yyvsp[(1) - (3)].conE), (yyvsp[(2) - (3)].tok), (yyvsp[(3) - (3)].conE));
4641 DPRINTF(("Done BufConstraint1\n")); ;}
4642 break;
4643
4644 case 65:
69db2541 4645#line 592 "cgrammar.y"
08cf8642 4646 {(yyval.conE) = constraintExpr_parseMakeUnaryOp ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].conE)); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4647 break;
4648
4649 case 66:
69db2541 4650#line 593 "cgrammar.y"
08cf8642 4651 {
4652 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
4653 (yyval.conE) = constraintExpr_parseMakeBinaryOp ((yyvsp[(2) - (5)].conE), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].conE)); ;}
4654 break;
4655
4656 case 67:
69db2541 4657#line 599 "cgrammar.y"
08cf8642 4658 { (yyval.conE) = constraintExpr_makeTermsRef ((yyvsp[(1) - (1)].sr));;}
4659 break;
4660
4661 case 68:
69db2541 4662#line 600 "cgrammar.y"
08cf8642 4663 { (yyval.conE) = constraintExpr_makeIntLiteral (exprNode_getLongValue ((yyvsp[(1) - (1)].expr))); ;}
4664 break;
4665
4666 case 69:
69db2541 4667#line 605 "cgrammar.y"
08cf8642 4668 { /*@-onlytrans@*/ (yyval.sr) = checkbufferConstraintClausesId ((yyvsp[(1) - (1)].entry)); /*@=onlytrans@*/ /*@i523@*/ ;}
4669 break;
4670
4671 case 70:
69db2541 4672#line 607 "cgrammar.y"
08cf8642 4673 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
4674 break;
4675
4676 case 71:
69db2541 4677#line 609 "cgrammar.y"
08cf8642 4678 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
4679 break;
4680
4681 case 72:
69db2541 4682#line 611 "cgrammar.y"
08cf8642 4683 {
4684 /*
4685 char *t; int c;
4686 t = cstring_toCharsSafe (exprNode_unparse($3));
4687 c = atoi( t );
4688 */
4689 (yyval.sr) = sRef_makeArrayFetchKnown ((yyvsp[(1) - (4)].sr), exprNode_getLongValue ((yyvsp[(3) - (4)].expr)));
4690 ;}
4691 break;
4692
4693 case 73:
69db2541 4694#line 620 "cgrammar.y"
08cf8642 4695 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
4696 break;
4697
4698 case 74:
69db2541 4699#line 622 "cgrammar.y"
08cf8642 4700 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
4701 break;
4702
4703 case 75:
69db2541 4704#line 624 "cgrammar.y"
08cf8642 4705 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4706 break;
4707
4708 case 76:
69db2541 4709#line 626 "cgrammar.y"
08cf8642 4710 { cstring_markOwned ((yyvsp[(3) - (3)].cname)); (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
4711 break;
4712
4713 case 80:
69db2541 4714#line 654 "cgrammar.y"
08cf8642 4715 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4716 break;
4717
4718 case 81:
69db2541 4719#line 656 "cgrammar.y"
08cf8642 4720 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4721 break;
4722
4723 case 82:
69db2541 4724#line 665 "cgrammar.y"
08cf8642 4725 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4726 break;
4727
4728 case 83:
69db2541 4729#line 667 "cgrammar.y"
08cf8642 4730 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4731 break;
4732
4733 case 84:
69db2541 4734#line 671 "cgrammar.y"
08cf8642 4735 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4736 break;
4737
4738 case 85:
69db2541 4739#line 672 "cgrammar.y"
08cf8642 4740 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4741 break;
4742
4743 case 86:
69db2541 4744#line 673 "cgrammar.y"
08cf8642 4745 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4746 break;
4747
4748 case 87:
69db2541 4749#line 674 "cgrammar.y"
08cf8642 4750 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4751 break;
4752
4753 case 88:
69db2541 4754#line 675 "cgrammar.y"
08cf8642 4755 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4756 break;
4757
4758 case 89:
69db2541 4759#line 676 "cgrammar.y"
08cf8642 4760 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4761 break;
4762
4763 case 90:
69db2541 4764#line 680 "cgrammar.y"
08cf8642 4765 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4766 break;
4767
4768 case 91:
69db2541 4769#line 681 "cgrammar.y"
08cf8642 4770 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4771 break;
4772
4773 case 92:
69db2541 4774#line 682 "cgrammar.y"
08cf8642 4775 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4776 break;
4777
4778 case 93:
69db2541 4779#line 683 "cgrammar.y"
08cf8642 4780 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4781 break;
4782
4783 case 94:
69db2541 4784#line 684 "cgrammar.y"
08cf8642 4785 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4786 break;
4787
4788 case 95:
69db2541 4789#line 685 "cgrammar.y"
08cf8642 4790 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4791 break;
4792
4793 case 96:
69db2541 4794#line 689 "cgrammar.y"
08cf8642 4795 { (yyval.globsclause) = (yyvsp[(1) - (2)].globsclause); ;}
4796 break;
4797
4798 case 97:
69db2541 4799#line 693 "cgrammar.y"
08cf8642 4800 { setProcessingGlobalsList (); ;}
4801 break;
4802
4803 case 98:
69db2541 4804#line 695 "cgrammar.y"
08cf8642 4805 {
4806 unsetProcessingGlobals ();
4807 (yyval.globsclause) = globalsClause_create ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].globset));
4808 ;}
4809 break;
4810
4811 case 99:
69db2541 4812#line 702 "cgrammar.y"
08cf8642 4813 { (yyval.modsclause) = modifiesClause_createNoMods ((yyvsp[(1) - (1)].tok)); ;}
4814 break;
4815
4816 case 100:
69db2541 4817#line 706 "cgrammar.y"
08cf8642 4818 { (yyval.modsclause) = (yyvsp[(1) - (2)].modsclause); ;}
4819 break;
4820
4821 case 101:
69db2541 4822#line 711 "cgrammar.y"
08cf8642 4823 {
4824 context_setProtectVars (); enterParamsTemp ();
4825 sRef_setGlobalScopeSafe ();
4826 ;}
4827 break;
4828
4829 case 102:
69db2541 4830#line 716 "cgrammar.y"
08cf8642 4831 {
4832 exitParamsTemp ();
4833 sRef_clearGlobalScopeSafe ();
4834 context_releaseVars ();
4835 (yyval.modsclause) = modifiesClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].srset));
4836 ;}
4837 break;
4838
4839 case 103:
69db2541 4840#line 726 "cgrammar.y"
08cf8642 4841 { (yyval.flagspec) = flagSpec_createPlain ((yyvsp[(1) - (1)].cname)); ;}
4842 break;
4843
4844 case 104:
69db2541 4845#line 728 "cgrammar.y"
08cf8642 4846 { (yyval.flagspec) = flagSpec_createOr ((yyvsp[(1) - (3)].cname), (yyvsp[(3) - (3)].flagspec)); ;}
4847 break;
4848
4849 case 107:
69db2541 4850#line 737 "cgrammar.y"
08cf8642 4851 { (yyval.warnclause) = warnClause_undefined; ;}
4852 break;
4853
4854 case 108:
69db2541 4855#line 741 "cgrammar.y"
08cf8642 4856 { (yyval.warnclause) = (yyvsp[(1) - (2)].warnclause); ;}
4857 break;
4858
4859 case 109:
69db2541 4860#line 746 "cgrammar.y"
08cf8642 4861 {
4862 llassert (exprNode_knownStringValue ((yyvsp[(3) - (3)].expr)));
4863 (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].flagspec), cstring_copy (multiVal_forceString (exprNode_getValue ((yyvsp[(3) - (3)].expr)))));
4864 exprNode_free ((yyvsp[(3) - (3)].expr));
4865 ;}
4866 break;
4867
4868 case 110:
69db2541 4869#line 752 "cgrammar.y"
08cf8642 4870 { (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].flagspec), cstring_undefined); ;}
4871 break;
4872
4873 case 111:
69db2541 4874#line 756 "cgrammar.y"
08cf8642 4875 { (yyval.globset) = globSet_single ((yyvsp[(1) - (1)].sr)); ;}
4876 break;
4877
4878 case 112:
69db2541 4879#line 757 "cgrammar.y"
08cf8642 4880 { (yyval.globset) = globSet_insert ((yyvsp[(1) - (3)].globset), (yyvsp[(3) - (3)].sr)); ;}
4881 break;
4882
4883 case 113:
69db2541 4884#line 761 "cgrammar.y"
08cf8642 4885 { (yyval.sr) = clabstract_createGlobal ((yyvsp[(2) - (2)].sr), (yyvsp[(1) - (2)].tquallist)); ;}
4886 break;
4887
4888 case 114:
69db2541 4889#line 765 "cgrammar.y"
08cf8642 4890 { (yyval.tquallist) = qualList_undefined; ;}
4891 break;
4892
4893 case 115:
69db2541 4894#line 766 "cgrammar.y"
08cf8642 4895 { (yyval.tquallist) = qualList_add ((yyvsp[(2) - (2)].tquallist), (yyvsp[(1) - (2)].typequal)); ;}
4896 break;
4897
4898 case 116:
69db2541 4899#line 770 "cgrammar.y"
08cf8642 4900 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); ;}
4901 break;
4902
4903 case 117:
69db2541 4904#line 771 "cgrammar.y"
08cf8642 4905 { (yyval.sr) = clabstract_unrecognizedGlobal ((yyvsp[(1) - (1)].cname)); ;}
4906 break;
4907
4908 case 118:
69db2541 4909#line 772 "cgrammar.y"
08cf8642 4910 { (yyval.sr) = clabstract_checkGlobal ((yyvsp[(1) - (1)].expr)); ;}
4911 break;
4912
4913 case 119:
69db2541 4914#line 776 "cgrammar.y"
08cf8642 4915 { (yyval.typequal) = qual_createUndef (); ;}
4916 break;
4917
4918 case 120:
69db2541 4919#line 777 "cgrammar.y"
08cf8642 4920 { (yyval.typequal) = qual_createKilled (); ;}
4921 break;
4922
4923 case 121:
69db2541 4924#line 778 "cgrammar.y"
08cf8642 4925 { (yyval.typequal) = qual_createOut (); ;}
4926 break;
4927
4928 case 122:
69db2541 4929#line 779 "cgrammar.y"
08cf8642 4930 { (yyval.typequal) = qual_createIn (); ;}
4931 break;
4932
4933 case 123:
69db2541 4934#line 780 "cgrammar.y"
08cf8642 4935 { (yyval.typequal) = qual_createPartial (); ;}
4936 break;
4937
4938 case 131:
69db2541 4939#line 798 "cgrammar.y"
08cf8642 4940 {
4941 /**!!! deal with fred; fred (int); declarations! **/
4942 qtype qint = qtype_create (ctype_int);
4943 (yyval.ntyp) = idDecl_fixBase ((yyvsp[(1) - (1)].ntyp), qint);
4944 qtype_free (qint);
4945 ;}
4946 break;
4947
4948 case 132:
69db2541 4949#line 805 "cgrammar.y"
08cf8642 4950 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4951 break;
4952
4953 case 133:
69db2541 4954#line 809 "cgrammar.y"
08cf8642 4955 { checkDoneParams (); context_enterInnerContext (); ;}
4956 break;
4957
4958 case 134:
69db2541 4959#line 811 "cgrammar.y"
08cf8642 4960 {
4961 exprNode_checkFunctionBody ((yyvsp[(3) - (3)].expr)); (yyval.expr) = (yyvsp[(3) - (3)].expr);
4962 context_exitInner ((yyvsp[(3) - (3)].expr));
4963 ;}
4964 break;
4965
4966 case 135:
69db2541 4967#line 815 "cgrammar.y"
08cf8642 4968 { context_enterOldStyleScope (); ;}
4969 break;
4970
4971 case 136:
69db2541 4972#line 816 "cgrammar.y"
08cf8642 4973 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4974 break;
4975
4976 case 137:
69db2541 4977#line 818 "cgrammar.y"
08cf8642 4978 {
4979 exprNode_checkFunctionBody ((yyvsp[(4) - (4)].expr));
4980 (yyval.expr) = (yyvsp[(4) - (4)].expr); /* oldstyle */
4981 context_exitInner ((yyvsp[(4) - (4)].expr));
4982 ;}
4983 break;
4984
4985 case 138:
69db2541 4986#line 827 "cgrammar.y"
08cf8642 4987 {
4988 context_setFunctionDefined (exprNode_loc ((yyvsp[(2) - (2)].expr)));
4989 exprNode_checkFunction (context_getHeader (), (yyvsp[(2) - (2)].expr));
4990 /* DRL 8 8 2000 */
4991
4992 context_exitFunction ();
4993 ;}
4994 break;
4995
4996 case 139:
69db2541 4997#line 837 "cgrammar.y"
08cf8642 4998 { (yyval.srset) = (yyvsp[(1) - (2)].srset); ;}
4999 break;
5000
5001 case 140:
69db2541 5002#line 838 "cgrammar.y"
08cf8642 5003 { (yyval.srset) = sRefSet_new (); ;}
5004 break;
5005
5006 case 141:
69db2541 5007#line 842 "cgrammar.y"
08cf8642 5008 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); checkModifiesId ((yyvsp[(1) - (1)].entry)); ;}
5009 break;
5010
5011 case 142:
69db2541 5012#line 843 "cgrammar.y"
08cf8642 5013 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5014 break;
5015
5016 case 143:
69db2541 5017#line 844 "cgrammar.y"
08cf8642 5018 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5019 break;
5020
5021 case 144:
69db2541 5022#line 845 "cgrammar.y"
08cf8642 5023 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (3)].sr), sRef_undefined); ;}
5024 break;
5025
5026 case 145:
69db2541 5027#line 846 "cgrammar.y"
08cf8642 5028 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].sr)); ;}
5029 break;
5030
5031 case 146:
69db2541 5032#line 847 "cgrammar.y"
08cf8642 5033 { (yyval.sr) = modListPointer ((yyvsp[(2) - (2)].sr)); ;}
5034 break;
5035
5036 case 147:
69db2541 5037#line 848 "cgrammar.y"
08cf8642 5038 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5039 break;
5040
5041 case 148:
69db2541 5042#line 849 "cgrammar.y"
08cf8642 5043 { (yyval.sr) = modListFieldAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5044 break;
5045
5046 case 149:
69db2541 5047#line 850 "cgrammar.y"
08cf8642 5048 { (yyval.sr) = modListArrowAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5049 break;
5050
5051 case 150:
69db2541 5052#line 854 "cgrammar.y"
08cf8642 5053 { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
5054 break;
5055
5056 case 151:
69db2541 5057#line 855 "cgrammar.y"
08cf8642 5058 { (yyval.sr) = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
5059 break;
5060
5061 case 152:
69db2541 5062#line 860 "cgrammar.y"
08cf8642 5063 { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); ;}
5064 break;
5065
5066 case 153:
69db2541 5067#line 861 "cgrammar.y"
08cf8642 5068 { (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr)); ;}
5069 break;
5070
5071 case 154:
69db2541 5072#line 866 "cgrammar.y"
08cf8642 5073 { (yyval.sr) = checkStateClausesId ((yyvsp[(1) - (1)].entry)); ;}
5074 break;
5075
5076 case 155:
69db2541 5077#line 868 "cgrammar.y"
08cf8642 5078 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
5079 break;
5080
5081 case 156:
69db2541 5082#line 869 "cgrammar.y"
08cf8642 5083 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
5084 break;
5085
5086 case 157:
69db2541 5087#line 870 "cgrammar.y"
08cf8642 5088 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (4)].sr)); ;}
5089 break;
5090
5091 case 158:
69db2541 5092#line 871 "cgrammar.y"
08cf8642 5093 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
5094 break;
5095
5096 case 159:
69db2541 5097#line 872 "cgrammar.y"
08cf8642 5098 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5099 break;
5100
5101 case 160:
69db2541 5102#line 873 "cgrammar.y"
08cf8642 5103 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5104 (yyval.sr) = sRef_buildField ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5105 break;
5106
5107 case 161:
69db2541 5108#line 875 "cgrammar.y"
08cf8642 5109 { cstring_markOwned ((yyvsp[(3) - (3)].cname));
5110 (yyval.sr) = sRef_makeArrow ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5111 break;
5112
5113 case 162:
69db2541 5114#line 880 "cgrammar.y"
08cf8642 5115 { DPRINTF ((message("Empty optSpecClauseList") )); (yyval.srset) = sRefSet_undefined ;}
5116 break;
5117
5118 case 164:
69db2541 5119#line 886 "cgrammar.y"
08cf8642 5120 { if (sRef_isValid ((yyvsp[(1) - (1)].sr))) { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); }
5121 else {
5122 DPRINTF((message("returning sRefSEt_undefined ") ));
5123 (yyval.srset) = sRefSet_undefined; }
5124 ;}
5125 break;
5126
5127 case 165:
69db2541 5128#line 892 "cgrammar.y"
08cf8642 5129 { if (sRef_isValid ((yyvsp[(3) - (3)].sr)))
5130 {
5131 (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr));
5132 }
5133 else
5134 {
5135 (yyval.srset) = (yyvsp[(1) - (3)].srset);
5136 }
5137 ;}
5138 break;
5139
5140 case 166:
69db2541 5141#line 904 "cgrammar.y"
08cf8642 5142 { (yyval.expr) = exprNode_fromIdentifier ((yyvsp[(1) - (1)].entry)); ;}
5143 break;
5144
5145 case 167:
69db2541 5146#line 905 "cgrammar.y"
08cf8642 5147 { (yyval.expr) = exprNode_fromUIO ((yyvsp[(1) - (1)].cname)); ;}
5148 break;
5149
5150 case 169:
69db2541 5151#line 907 "cgrammar.y"
08cf8642 5152 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
5153 break;
5154
5155 case 170:
69db2541 5156#line 908 "cgrammar.y"
08cf8642 5157 { (yyval.expr) = exprNode_fromIdentifier (cscannerHelp_coerceId ((yyvsp[(1) - (1)].cname))); ;}
5158 break;
5159
5160 case 171:
69db2541 5161#line 909 "cgrammar.y"
08cf8642 5162 { (yyval.expr) = exprNode_makeError (); ;}
5163 break;
5164
5165 case 172:
69db2541 5166#line 910 "cgrammar.y"
08cf8642 5167 { exprChecks_inCompoundStatementExpression (); ;}
5168 break;
5169
5170 case 173:
69db2541 5171#line 912 "cgrammar.y"
08cf8642 5172 { exprChecks_leaveCompoundStatementExpression (); (yyval.expr) = exprNode_compoundStatementExpression ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].expr)); ;}
5173 break;
5174
5175 case 175:
69db2541 5176#line 917 "cgrammar.y"
08cf8642 5177 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
5178 break;
5179
5180 case 176:
69db2541 5181#line 918 "cgrammar.y"
08cf8642 5182 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
5183 break;
5184
5185 case 177:
69db2541 5186#line 919 "cgrammar.y"
08cf8642 5187 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
5188 break;
5189
5190 case 178:
69db2541 5191#line 920 "cgrammar.y"
08cf8642 5192 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
5193 break;
5194
5195 case 179:
69db2541 5196#line 921 "cgrammar.y"
08cf8642 5197 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5198 break;
5199
5200 case 180:
69db2541 5201#line 922 "cgrammar.y"
08cf8642 5202 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5203 break;
5204
5205 case 181:
69db2541 5206#line 923 "cgrammar.y"
08cf8642 5207 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5208 break;
5209
5210 case 182:
69db2541 5211#line 924 "cgrammar.y"
08cf8642 5212 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5213 break;
5214
5215 case 183:
69db2541 5216#line 926 "cgrammar.y"
08cf8642 5217 { /* added for C99 */ (yyval.expr) = exprNode_undefined; /*@i87 no checking */ ;}
5218 break;
5219
5220 case 184:
69db2541 5221#line 930 "cgrammar.y"
08cf8642 5222 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5223 break;
5224
5225 case 185:
69db2541 5226#line 931 "cgrammar.y"
08cf8642 5227 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5228 break;
5229
5230 case 187:
69db2541 5231#line 936 "cgrammar.y"
08cf8642 5232 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5233 break;
5234
5235 case 188:
69db2541 5236#line 937 "cgrammar.y"
08cf8642 5237 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5238 break;
5239
5240 case 189:
69db2541 5241#line 938 "cgrammar.y"
08cf8642 5242 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5243 break;
5244
5245 case 190:
69db2541 5246#line 939 "cgrammar.y"
08cf8642 5247 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5248 break;
5249
5250 case 191:
69db2541 5251#line 940 "cgrammar.y"
08cf8642 5252 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5253 break;
5254
5255 case 192:
69db2541 5256#line 941 "cgrammar.y"
08cf8642 5257 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5258 break;
5259
5260 case 193:
69db2541 5261#line 942 "cgrammar.y"
08cf8642 5262 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5263 break;
5264
5265 case 194:
69db2541 5266#line 943 "cgrammar.y"
08cf8642 5267 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5268 break;
5269
5270 case 195:
69db2541 5271#line 944 "cgrammar.y"
08cf8642 5272 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
5273 break;
5274
5275 case 196:
69db2541 5276#line 945 "cgrammar.y"
08cf8642 5277 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5278 break;
5279
5280 case 197:
69db2541 5281#line 949 "cgrammar.y"
08cf8642 5282 { (yyval.cstringlist) = cstringList_add ((yyvsp[(1) - (3)].cstringlist), (yyvsp[(3) - (3)].cname)); lltok_free ((yyvsp[(2) - (3)].tok)); ;}
5283 break;
5284
5285 case 198:
69db2541 5286#line 950 "cgrammar.y"
08cf8642 5287 { (yyval.cstringlist) = (yyvsp[(1) - (4)].cstringlist); lltok_free2 ((yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5288 break;
5289
5290 case 199:
69db2541 5291#line 952 "cgrammar.y"
08cf8642 5292 { (yyval.cstringlist) = cstringList_single ((yyvsp[(1) - (1)].cname)); ;}
5293 break;
5294
5295 case 200:
69db2541 5296#line 957 "cgrammar.y"
08cf8642 5297 { (yyval.expr) = exprNode_offsetof ((yyvsp[(4) - (9)].qtyp), (yyvsp[(7) - (9)].cstringlist));
5298 lltok_free3 ((yyvsp[(1) - (9)].tok), (yyvsp[(3) - (9)].tok), (yyvsp[(6) - (9)].tok)); lltok_free ((yyvsp[(8) - (9)].tok)); ;}
5299 break;
5300
5301 case 201:
69db2541 5302#line 962 "cgrammar.y"
08cf8642 5303 { context_setProtectVars (); ;}
5304 break;
5305
5306 case 202:
69db2541 5307#line 963 "cgrammar.y"
08cf8642 5308 { context_sizeofReleaseVars (); (yyval.expr) = (yyvsp[(3) - (3)].expr); ;}
5309 break;
5310
5311 case 203:
69db2541 5312#line 966 "cgrammar.y"
08cf8642 5313 {context_enterSizeof();}
5314 break;
5315
5316 case 204:
69db2541 5317#line 969 "cgrammar.y"
08cf8642 5318 {context_leaveSizeof();}
5319 break;
5320
5321 case 205:
69db2541 5322#line 973 "cgrammar.y"
08cf8642 5323 { (yyval.expr) = exprNode_sizeofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5324 break;
5325
5326 case 206:
69db2541 5327#line 974 "cgrammar.y"
08cf8642 5328 { (yyval.expr) = exprNode_sizeofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5329 break;
5330
5331 case 207:
69db2541 5332#line 975 "cgrammar.y"
08cf8642 5333 { (yyval.expr) = exprNode_alignofType ((yyvsp[(3) - (4)].qtyp)); lltok_free3 ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5334 break;
5335
5336 case 208:
69db2541 5337#line 976 "cgrammar.y"
08cf8642 5338 { (yyval.expr) = exprNode_alignofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5339 break;
5340
5341 case 210:
69db2541 5342#line 984 "cgrammar.y"
08cf8642 5343 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); lltok_free ((yyvsp[(3) - (4)].tok)); ;}
5344 break;
5345
5346 case 212:
69db2541 5347#line 989 "cgrammar.y"
08cf8642 5348 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5349 break;
5350
5351 case 213:
69db2541 5352#line 990 "cgrammar.y"
08cf8642 5353 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5354 break;
5355
5356 case 214:
69db2541 5357#line 991 "cgrammar.y"
08cf8642 5358 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5359 break;
5360
5361 case 216:
69db2541 5362#line 996 "cgrammar.y"
08cf8642 5363 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5364 break;
5365
5366 case 217:
69db2541 5367#line 997 "cgrammar.y"
08cf8642 5368 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5369 break;
5370
5371 case 219:
69db2541 5372#line 1002 "cgrammar.y"
08cf8642 5373 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5374 break;
5375
5376 case 220:
69db2541 5377#line 1003 "cgrammar.y"
08cf8642 5378 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5379 break;
5380
5381 case 222:
69db2541 5382#line 1008 "cgrammar.y"
08cf8642 5383 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5384 break;
5385
5386 case 223:
69db2541 5387#line 1009 "cgrammar.y"
08cf8642 5388 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5389 break;
5390
5391 case 224:
69db2541 5392#line 1010 "cgrammar.y"
08cf8642 5393 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5394 break;
5395
5396 case 225:
69db2541 5397#line 1011 "cgrammar.y"
08cf8642 5398 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5399 break;
5400
5401 case 227:
69db2541 5402#line 1016 "cgrammar.y"
08cf8642 5403 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5404 break;
5405
5406 case 228:
69db2541 5407#line 1017 "cgrammar.y"
08cf8642 5408 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5409 break;
5410
5411 case 230:
69db2541 5412#line 1022 "cgrammar.y"
08cf8642 5413 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5414 break;
5415
5416 case 232:
69db2541 5417#line 1027 "cgrammar.y"
08cf8642 5418 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5419 break;
5420
5421 case 234:
69db2541 5422#line 1032 "cgrammar.y"
08cf8642 5423 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5424 break;
5425
5426 case 236:
69db2541 5427#line 1038 "cgrammar.y"
08cf8642 5428 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5429 context_enterAndClause ((yyvsp[(1) - (2)].expr));
5430 ;}
5431 break;
5432
5433 case 237:
69db2541 5434#line 1042 "cgrammar.y"
08cf8642 5435 {
5436 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5437 context_exitAndClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5438 ;}
5439 break;
5440
5441 case 239:
69db2541 5442#line 1051 "cgrammar.y"
08cf8642 5443 {
5444 exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5445 context_enterOrClause ((yyvsp[(1) - (2)].expr));
5446 ;}
5447 break;
5448
5449 case 240:
69db2541 5450#line 1056 "cgrammar.y"
08cf8642 5451 {
5452 (yyval.expr) = exprNode_op ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].tok));
5453 context_exitOrClause ((yyval.expr), (yyvsp[(4) - (4)].expr));
5454 ;}
5455 break;
5456
5457 case 242:
69db2541 5458#line 1065 "cgrammar.y"
08cf8642 5459 { /* GCC extension: conditional with empty if */
5460 exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5461 break;
5462
5463 case 243:
69db2541 5464#line 1067 "cgrammar.y"
08cf8642 5465 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
5466 break;
5467
5468 case 244:
69db2541 5469#line 1068 "cgrammar.y"
08cf8642 5470 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); context_exitClause ((yyvsp[(1) - (6)].expr), exprNode_undefined, (yyvsp[(6) - (6)].expr)); ;}
5471 break;
5472
5473 case 245:
69db2541 5474#line 1069 "cgrammar.y"
08cf8642 5475 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5476 break;
5477
5478 case 246:
69db2541 5479#line 1070 "cgrammar.y"
08cf8642 5480 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
5481 break;
5482
5483 case 247:
69db2541 5484#line 1071 "cgrammar.y"
08cf8642 5485 { (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)); ;}
5486 break;
5487
5488 case 249:
69db2541 5489#line 1076 "cgrammar.y"
08cf8642 5490 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5491 break;
5492
5493 case 250:
69db2541 5494#line 1077 "cgrammar.y"
08cf8642 5495 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5496 break;
5497
5498 case 251:
69db2541 5499#line 1078 "cgrammar.y"
08cf8642 5500 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5501 break;
5502
5503 case 252:
69db2541 5504#line 1079 "cgrammar.y"
08cf8642 5505 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5506 break;
5507
5508 case 253:
69db2541 5509#line 1080 "cgrammar.y"
08cf8642 5510 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5511 break;
5512
5513 case 254:
69db2541 5514#line 1081 "cgrammar.y"
08cf8642 5515 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5516 break;
5517
5518 case 255:
69db2541 5519#line 1082 "cgrammar.y"
08cf8642 5520 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5521 break;
5522
5523 case 256:
69db2541 5524#line 1083 "cgrammar.y"
08cf8642 5525 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5526 break;
5527
5528 case 257:
69db2541 5529#line 1084 "cgrammar.y"
08cf8642 5530 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5531 break;
5532
5533 case 258:
69db2541 5534#line 1085 "cgrammar.y"
08cf8642 5535 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5536 break;
5537
5538 case 259:
69db2541 5539#line 1086 "cgrammar.y"
08cf8642 5540 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5541 break;
5542
5543 case 261:
69db2541 5544#line 1091 "cgrammar.y"
08cf8642 5545 { (yyval.expr) = exprNode_comma ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
5546 break;
5547
5548 case 262:
69db2541 5549#line 1095 "cgrammar.y"
08cf8642 5550 { (yyval.expr) = exprNode_undefined; ;}
5551 break;
5552
5553 case 265:
69db2541 5554#line 1106 "cgrammar.y"
08cf8642 5555 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5556 break;
5557
5558 case 266:
69db2541 5559#line 1107 "cgrammar.y"
08cf8642 5560 { doVaDcl (); (yyval.expr) = exprNode_makeError (); ;}
5561 break;
5562
5563 case 267:
69db2541 5564#line 1108 "cgrammar.y"
08cf8642 5565 { (yyval.expr) = exprNode_makeError (); ;}
5566 break;
5567
5568 case 268:
69db2541 5569#line 1113 "cgrammar.y"
08cf8642 5570 { (yyval.expr) = exprNode_makeError (); ;}
5571 break;
5572
5573 case 269:
69db2541 5574#line 1127 "cgrammar.y"
08cf8642 5575 {
5576 setProcessingVars ((yyvsp[(1) - (4)].qtyp));
5577 processNamedDecl ((yyvsp[(3) - (4)].ntyp));
5578 ;}
5579 break;
5580
5581 case 270:
69db2541 5582#line 1132 "cgrammar.y"
08cf8642 5583 {
5584 unsetProcessingVars ();
5585 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(3) - (9)].ntyp));
5586 DPRINTF (("Empty initialization: %s", exprNode_unparse ((yyval.expr))));
5587 ;}
5588 break;
5589
5590 case 271:
69db2541 5591#line 1138 "cgrammar.y"
08cf8642 5592 { setProcessingVars ((yyvsp[(1) - (5)].qtyp)); processNamedDecl ((yyvsp[(3) - (5)].ntyp)); ;}
5593 break;
5594
5595 case 272:
69db2541 5596#line 1140 "cgrammar.y"
08cf8642 5597 { (yyval.expr) = exprNode_concat ((yyvsp[(9) - (11)].expr), exprNode_makeInitialization ((yyvsp[(3) - (11)].ntyp), (yyvsp[(8) - (11)].expr)));
5598 unsetProcessingVars ();
5599 ;}
5600 break;
5601
5602 case 273:
69db2541 5603#line 1146 "cgrammar.y"
08cf8642 5604 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5605 break;
5606
5607 case 274:
69db2541 5608#line 1147 "cgrammar.y"
08cf8642 5609 { (yyval.expr) = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId ((yyvsp[(1) - (1)].ctyp)))); ;}
5610 break;
5611
5612 case 275:
69db2541 5613#line 1152 "cgrammar.y"
08cf8642 5614 {
5615 processNamedDecl ((yyvsp[(1) - (2)].ntyp));
5616 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(1) - (2)].ntyp));
5617 ;}
5618 break;
5619
5620 case 276:
69db2541 5621#line 1156 "cgrammar.y"
08cf8642 5622 { processNamedDecl ((yyvsp[(1) - (3)].ntyp)); ;}
5623 break;
5624
5625 case 277:
69db2541 5626#line 1157 "cgrammar.y"
08cf8642 5627 { (yyval.expr) = exprNode_makeInitialization ((yyvsp[(1) - (6)].ntyp), (yyvsp[(6) - (6)].expr)); ;}
5628 break;
5629
5630 case 278:
69db2541 5631#line 1161 "cgrammar.y"
08cf8642 5632 { setProcessingTypedef ((yyvsp[(2) - (2)].qtyp)); ;}
5633 break;
5634
5635 case 279:
69db2541 5636#line 1163 "cgrammar.y"
08cf8642 5637 { clabstract_declareType ((yyvsp[(5) - (8)].exprlist), (yyvsp[(7) - (8)].warnclause)); ;}
5638 break;
5639
5640 case 280:
69db2541 5641#line 1164 "cgrammar.y"
08cf8642 5642 { /* in the ANSI grammar, semantics unclear */ ;}
5643 break;
5644
5645 case 281:
69db2541 5646#line 1165 "cgrammar.y"
08cf8642 5647 { /* in the ANSI grammar, semantics unclear */ ;}
5648 break;
5649
5650 case 282:
69db2541 5651#line 1169 "cgrammar.y"
08cf8642 5652 { cscannerHelp_setExpectingTypeName (); ;}
5653 break;
5654
5655 case 283:
69db2541 5656#line 1173 "cgrammar.y"
08cf8642 5657 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5658 break;
5659
5660 case 284:
69db2541 5661#line 1177 "cgrammar.y"
08cf8642 5662 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5663 break;
5664
5665 case 285:
69db2541 5666#line 1181 "cgrammar.y"
08cf8642 5667 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5668 break;
5669
5670 case 286:
69db2541 5671#line 1182 "cgrammar.y"
08cf8642 5672 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5673 break;
5674
5675 case 287:
69db2541 5676#line 1186 "cgrammar.y"
08cf8642 5677 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5678 break;
5679
5680 case 288:
69db2541 5681#line 1190 "cgrammar.y"
08cf8642 5682 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5683 break;
5684
5685 case 289:
69db2541 5686#line 1191 "cgrammar.y"
08cf8642 5687 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5688 break;
5689
5690 case 290:
69db2541 5691#line 1195 "cgrammar.y"
08cf8642 5692 { (yyval.expr) = exprNode_makeError (); ;}
5693 break;
5694
5695 case 291:
69db2541 5696#line 1196 "cgrammar.y"
08cf8642 5697 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr)); ;}
5698 break;
5699
5700 case 293:
69db2541 5701#line 1201 "cgrammar.y"
08cf8642 5702 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].exprlist)); lltok_free ((yyvsp[(3) - (3)].tok)); ;}
5703 break;
5704
5705 case 294:
69db2541 5706#line 1202 "cgrammar.y"
08cf8642 5707 { (yyval.expr) = exprNode_makeInitBlock ((yyvsp[(1) - (4)].tok), (yyvsp[(2) - (4)].exprlist)); lltok_free2 ((yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5708 break;
5709
5710 case 295:
69db2541 5711#line 1203 "cgrammar.y"
08cf8642 5712 { (yyval.expr) = exprNode_undefined; ;}
5713 break;
5714
5715 case 296:
69db2541 5716#line 1211 "cgrammar.y"
08cf8642 5717 { (yyval.expr) = (yyvsp[(1) - (2)].expr); ;}
5718 break;
5719
5720 case 297:
69db2541 5721#line 1212 "cgrammar.y"
08cf8642 5722 { (yyval.expr) = exprNode_undefined;
5723 /* gcc extension, obsolete since 2.5 */ ;}
5724 break;
5725
5726 case 298:
69db2541 5727#line 1217 "cgrammar.y"
08cf8642 5728 { (yyval.expr) = exprNode_undefined; ;}
5729 break;
5730
5731 case 299:
69db2541 5732#line 1218 "cgrammar.y"
08cf8642 5733 { (yyval.expr) = exprNode_undefined; ;}
5734 break;
5735
5736 case 300:
69db2541 5737#line 1222 "cgrammar.y"
08cf8642 5738 { (yyval.expr) = exprNode_undefined; ;}
5739 break;
5740
5741 case 301:
69db2541 5742#line 1223 "cgrammar.y"
08cf8642 5743 { (yyval.expr) = exprNode_undefined; ;}
5744 break;
5745
5746 case 302:
69db2541 5747#line 1228 "cgrammar.y"
08cf8642 5748 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5749 break;
5750
5751 case 303:
69db2541 5752#line 1230 "cgrammar.y"
08cf8642 5753 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5754 break;
5755
5756 case 304:
69db2541 5757#line 1239 "cgrammar.y"
08cf8642 5758 { setStorageClass (SCEXTERN); (yyval.typequal) = qual_createExtern (); ;}
5759 break;
5760
5761 case 305:
69db2541 5762#line 1240 "cgrammar.y"
08cf8642 5763 { (yyval.typequal) = qual_createInline (); ;}
5764 break;
5765
5766 case 306:
69db2541 5767#line 1241 "cgrammar.y"
08cf8642 5768 { setStorageClass (SCSTATIC); (yyval.typequal) = qual_createStatic (); ;}
5769 break;
5770
5771 case 307:
69db2541 5772#line 1242 "cgrammar.y"
08cf8642 5773 { (yyval.typequal) = qual_createAuto (); ;}
5774 break;
5775
5776 case 308:
69db2541 5777#line 1243 "cgrammar.y"
08cf8642 5778 { (yyval.typequal) = qual_createRegister (); ;}
5779 break;
5780
5781 case 309:
69db2541 5782#line 1247 "cgrammar.y"
08cf8642 5783 { (yyval.stateclause) = (yyvsp[(1) - (2)].stateclause); ;}
5784 break;
5785
5786 case 310:
69db2541 5787#line 1252 "cgrammar.y"
08cf8642 5788 {
5789 context_setProtectVars ();
5790 enterParamsTemp ();
5791 sRef_setGlobalScopeSafe ();
5792 ;}
5793 break;
5794
5795 case 311:
69db2541 5796#line 1258 "cgrammar.y"
08cf8642 5797 {
5798 exitParamsTemp ();
5799 sRef_clearGlobalScopeSafe ();
5800 context_releaseVars ();
5801 (yyval.stateclause) = stateClause_createPlain ((yyvsp[(1) - (6)].tok), (yyvsp[(4) - (6)].srset));
5802 ;}
5803 break;
5804
5805 case 312:
69db2541 5806#line 1267 "cgrammar.y"
08cf8642 5807 { (yyval.funcclause) = (yyvsp[(1) - (2)].funcclause); ;}
5808 break;
5809
5810 case 313:
69db2541 5811#line 1271 "cgrammar.y"
08cf8642 5812 { (yyval.tok) = (yyvsp[(1) - (2)].tok); context_enterFunctionHeader (); ;}
5813 break;
5814
5815 case 314:
69db2541 5816#line 1276 "cgrammar.y"
08cf8642 5817 {
5818 context_exitFunctionHeader ();
5819 context_setProtectVars ();
5820 enterParamsTemp ();
5821 sRef_setGlobalScopeSafe ();
5822 ;}
5823 break;
5824
5825 case 315:
69db2541 5826#line 1283 "cgrammar.y"
08cf8642 5827 {
5828 exitParamsTemp ();
5829 sRef_clearGlobalScopeSafe ();
5830 context_releaseVars ();
5831 (yyval.funcclause) = functionClause_createState (stateClause_create ((yyvsp[(1) - (6)].tok), (yyvsp[(2) - (6)].typequal), (yyvsp[(4) - (6)].srset)));
5832 ;}
5833 break;
5834
5835 case 316:
69db2541 5836#line 1290 "cgrammar.y"
08cf8642 5837 {
5838 context_setProtectVars ();
5839 enterParamsTemp ();
5840 sRef_setGlobalScopeSafe ();
5841 ;}
5842 break;
5843
5844 case 317:
69db2541 5845#line 1296 "cgrammar.y"
08cf8642 5846 {
5847 context_exitFunctionHeader ();
5848 exitParamsTemp ();
5849 sRef_clearGlobalScopeSafe ();
5850 context_releaseVars ();
5851 DPRINTF (("done optGlobBufConstraintsAux\n"));
5852
5853 if (lltok_isEnsures ((yyvsp[(1) - (5)].tok)))
5854 {
5855 (yyval.funcclause) = functionClause_createEnsures ((yyvsp[(3) - (5)].fcnconstraint));
5856 }
5857 else if (lltok_isRequires ((yyvsp[(1) - (5)].tok)))
5858 {
5859 (yyval.funcclause) = functionClause_createRequires ((yyvsp[(3) - (5)].fcnconstraint));
5860 }
5861 else
5862 {
5863 BADBRANCH;
5864 }
5865
5866 DPRINTF (("FunctionclauseS: %s", functionClause_unparse ((yyval.funcclause))));
5867 ;}
5868 break;
5869
5870 case 318:
69db2541 5871#line 1321 "cgrammar.y"
08cf8642 5872 { (yyval.fcnconstraint) = functionConstraint_createBufferConstraint ((yyvsp[(1) - (1)].conL)); ;}
5873 break;
5874
5875 case 319:
69db2541 5876#line 1322 "cgrammar.y"
08cf8642 5877 { (yyval.fcnconstraint) = functionConstraint_createMetaStateConstraint ((yyvsp[(1) - (1)].msconstraint)); DPRINTF (("Made constraint: %s", functionConstraint_unparse ((yyval.fcnconstraint)))); ;}
5878 break;
5879
5880 case 320:
69db2541 5881#line 1326 "cgrammar.y"
08cf8642 5882 { (yyval.typequal) = qual_createExits (); ;}
5883 break;
5884
5885 case 321:
69db2541 5886#line 1327 "cgrammar.y"
08cf8642 5887 { (yyval.typequal) = qual_createMayExit (); ;}
5888 break;
5889
5890 case 322:
69db2541 5891#line 1328 "cgrammar.y"
08cf8642 5892 { (yyval.typequal) = qual_createTrueExit (); ;}
5893 break;
5894
5895 case 323:
69db2541 5896#line 1329 "cgrammar.y"
08cf8642 5897 { (yyval.typequal) = qual_createFalseExit (); ;}
5898 break;
5899
5900 case 324:
69db2541 5901#line 1330 "cgrammar.y"
08cf8642 5902 { (yyval.typequal) = qual_createNeverExit (); ;}
5903 break;
5904
5905 case 325:
69db2541 5906#line 1334 "cgrammar.y"
08cf8642 5907 { (yyval.typequal) = qual_createChecked (); ;}
5908 break;
5909
5910 case 326:
69db2541 5911#line 1335 "cgrammar.y"
08cf8642 5912 { (yyval.typequal) = qual_createCheckMod (); ;}
5913 break;
5914
5915 case 327:
69db2541 5916#line 1336 "cgrammar.y"
08cf8642 5917 { (yyval.typequal) = qual_createUnchecked (); ;}
5918 break;
5919
5920 case 328:
69db2541 5921#line 1337 "cgrammar.y"
08cf8642 5922 { (yyval.typequal) = qual_createCheckedStrict (); ;}
5923 break;
5924
5925 case 329:
69db2541 5926#line 1341 "cgrammar.y"
08cf8642 5927 { (yyval.typequal) = qual_createOwned (); ;}
5928 break;
5929
5930 case 330:
69db2541 5931#line 1342 "cgrammar.y"
08cf8642 5932 { (yyval.typequal) = qual_createDependent (); ;}
5933 break;
5934
5935 case 331:
69db2541 5936#line 1343 "cgrammar.y"
08cf8642 5937 { (yyval.typequal) = qual_createYield (); ;}
5938 break;
5939
5940 case 332:
69db2541 5941#line 1344 "cgrammar.y"
08cf8642 5942 { (yyval.typequal) = qual_createTemp (); ;}
5943 break;
5944
5945 case 333:
69db2541 5946#line 1345 "cgrammar.y"
08cf8642 5947 { (yyval.typequal) = qual_createOnly (); ;}
5948 break;
5949
5950 case 334:
69db2541 5951#line 1346 "cgrammar.y"
08cf8642 5952 { (yyval.typequal) = qual_createKeep (); ;}
5953 break;
5954
5955 case 335:
69db2541 5956#line 1347 "cgrammar.y"
08cf8642 5957 { (yyval.typequal) = qual_createKept (); ;}
5958 break;
5959
5960 case 336:
69db2541 5961#line 1348 "cgrammar.y"
08cf8642 5962 { (yyval.typequal) = qual_createShared (); ;}
5963 break;
5964
5965 case 337:
69db2541 5966#line 1349 "cgrammar.y"
08cf8642 5967 { (yyval.typequal) = qual_createUnique (); ;}
5968 break;
5969
5970 case 338:
69db2541 5971#line 1350 "cgrammar.y"
08cf8642 5972 { (yyval.typequal) = qual_createNull (); ;}
5973 break;
5974
5975 case 339:
69db2541 5976#line 1351 "cgrammar.y"
08cf8642 5977 { (yyval.typequal) = qual_createIsNull (); ;}
5978 break;
5979
5980 case 340:
69db2541 5981#line 1352 "cgrammar.y"
08cf8642 5982 { (yyval.typequal) = qual_createRelNull (); ;}
5983 break;
5984
5985 case 341:
69db2541 5986#line 1353 "cgrammar.y"
08cf8642 5987 { (yyval.typequal) = qual_createNotNull (); ;}
5988 break;
5989
5990 case 342:
69db2541 5991#line 1354 "cgrammar.y"
08cf8642 5992 { (yyval.typequal) = qual_createExposed (); ;}
5993 break;
5994
5995 case 343:
69db2541 5996#line 1355 "cgrammar.y"
08cf8642 5997 { (yyval.typequal) = qual_createObserver (); ;}
5998 break;
5999
6000 case 344:
69db2541 6001#line 1356 "cgrammar.y"
08cf8642 6002 { (yyval.typequal) = qual_createNullTerminated (); ;}
6003 break;
6004
6005 case 345:
69db2541 6006#line 1357 "cgrammar.y"
08cf8642 6007 { (yyval.typequal) = qual_createMetaState ((yyvsp[(1) - (1)].annotation)); ;}
6008 break;
6009
6010 case 346:
69db2541 6011#line 1361 "cgrammar.y"
08cf8642 6012 { (yyval.typequal) = qual_createReturned (); ;}
6013 break;
6014
6015 case 347:
69db2541 6016#line 1362 "cgrammar.y"
08cf8642 6017 { (yyval.typequal) = qual_createSef (); ;}
6018 break;
6019
6020 case 348:
69db2541 6021#line 1366 "cgrammar.y"
08cf8642 6022 { (yyval.typequal) = qual_createUnused (); ;}
6023 break;
6024
6025 case 349:
69db2541 6026#line 1367 "cgrammar.y"
08cf8642 6027 { (yyval.typequal) = qual_createExternal (); ;}
6028 break;
6029
6030 case 350:
69db2541 6031#line 1371 "cgrammar.y"
08cf8642 6032 { (yyval.typequal) = qual_createTrueNull (); ;}
6033 break;
6034
6035 case 351:
69db2541 6036#line 1372 "cgrammar.y"
08cf8642 6037 { (yyval.typequal) = qual_createFalseNull (); ;}
6038 break;
6039
6040 case 352:
69db2541 6041#line 1376 "cgrammar.y"
08cf8642 6042 { (yyval.typequal) = qual_createAbstract (); ;}
6043 break;
6044
6045 case 353:
69db2541 6046#line 1377 "cgrammar.y"
08cf8642 6047 { (yyval.typequal) = qual_createNumAbstract (); ;}
6048 break;
6049
6050 case 354:
69db2541 6051#line 1378 "cgrammar.y"
08cf8642 6052 { (yyval.typequal) = qual_createConcrete (); ;}
6053 break;
6054
6055 case 355:
69db2541 6056#line 1379 "cgrammar.y"
08cf8642 6057 { (yyval.typequal) = qual_createMutable (); ;}
6058 break;
6059
6060 case 356:
69db2541 6061#line 1380 "cgrammar.y"
08cf8642 6062 { (yyval.typequal) = qual_createImmutable (); ;}
6063 break;
6064
6065 case 357:
69db2541 6066#line 1384 "cgrammar.y"
08cf8642 6067 { (yyval.typequal) = qual_createRefCounted (); ;}
6068 break;
6069
6070 case 358:
69db2541 6071#line 1385 "cgrammar.y"
08cf8642 6072 { (yyval.typequal) = qual_createRefs (); ;}
6073 break;
6074
6075 case 359:
69db2541 6076#line 1386 "cgrammar.y"
08cf8642 6077 { (yyval.typequal) = qual_createKillRef (); ;}
6078 break;
6079
6080 case 360:
69db2541 6081#line 1387 "cgrammar.y"
08cf8642 6082 { (yyval.typequal) = qual_createRelDef (); ;}
6083 break;
6084
6085 case 361:
69db2541 6086#line 1388 "cgrammar.y"
08cf8642 6087 { (yyval.typequal) = qual_createNewRef (); ;}
6088 break;
6089
6090 case 362:
69db2541 6091#line 1389 "cgrammar.y"
08cf8642 6092 { (yyval.typequal) = qual_createTempRef (); ;}
6093 break;
6094
6095 case 363:
69db2541 6096#line 1393 "cgrammar.y"
08cf8642 6097 { (yyval.typequal) = qual_createShort (); ;}
6098 break;
6099
6100 case 364:
69db2541 6101#line 1394 "cgrammar.y"
08cf8642 6102 { (yyval.typequal) = qual_createLong (); ;}
6103 break;
6104
6105 case 365:
69db2541 6106#line 1395 "cgrammar.y"
08cf8642 6107 { (yyval.typequal) = qual_createSigned (); ;}
6108 break;
6109
6110 case 366:
69db2541 6111#line 1396 "cgrammar.y"
08cf8642 6112 { (yyval.typequal) = qual_createUnsigned (); ;}
6113 break;
6114
6115 case 367:
69db2541 6116#line 1400 "cgrammar.y"
08cf8642 6117 { (yyval.typequal) = qual_createOut (); ;}
6118 break;
6119
6120 case 368:
69db2541 6121#line 1401 "cgrammar.y"
08cf8642 6122 { (yyval.typequal) = qual_createIn (); ;}
6123 break;
6124
6125 case 369:
69db2541 6126#line 1402 "cgrammar.y"
08cf8642 6127 { (yyval.typequal) = qual_createPartial (); ;}
6128 break;
6129
6130 case 370:
69db2541 6131#line 1403 "cgrammar.y"
08cf8642 6132 { (yyval.typequal) = qual_createSpecial (); ;}
6133 break;
6134
6135 case 371:
69db2541 6136#line 1407 "cgrammar.y"
08cf8642 6137 { (yyval.typequal) = qual_createConst (); ;}
6138 break;
6139
6140 case 372:
69db2541 6141#line 1408 "cgrammar.y"
08cf8642 6142 { (yyval.typequal) = qual_createVolatile (); ;}
6143 break;
6144
6145 case 373:
69db2541 6146#line 1409 "cgrammar.y"
08cf8642 6147 { (yyval.typequal) = qual_createRestrict (); ;}
6148 break;
6149
6150 case 374:
69db2541 6151#line 1410 "cgrammar.y"
08cf8642 6152 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6153 break;
6154
6155 case 375:
69db2541 6156#line 1411 "cgrammar.y"
08cf8642 6157 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6158 break;
6159
6160 case 376:
69db2541 6161#line 1412 "cgrammar.y"
08cf8642 6162 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6163 break;
6164
6165 case 377:
69db2541 6166#line 1413 "cgrammar.y"
08cf8642 6167 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6168 break;
6169
6170 case 378:
69db2541 6171#line 1414 "cgrammar.y"
08cf8642 6172 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6173 break;
6174
6175 case 379:
69db2541 6176#line 1415 "cgrammar.y"
08cf8642 6177 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6178 break;
6179
6180 case 380:
69db2541 6181#line 1416 "cgrammar.y"
08cf8642 6182 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6183 break;
6184
6185 case 381:
69db2541 6186#line 1417 "cgrammar.y"
08cf8642 6187 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6188 break;
6189
6190 case 382:
69db2541 6191#line 1418 "cgrammar.y"
08cf8642 6192 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6193 break;
6194
6195 case 389:
69db2541 6196#line 1432 "cgrammar.y"
08cf8642 6197 { (yyval.ctyp) = ctype_makeAnytype (); ;}
6198 break;
6199
6200 case 390:
69db2541 6201#line 1433 "cgrammar.y"
08cf8642 6202 { (yyval.ctyp) = ctype_anyintegral; ;}
6203 break;
6204
6205 case 391:
69db2541 6206#line 1434 "cgrammar.y"
08cf8642 6207 { (yyval.ctyp) = ctype_unsignedintegral; ;}
6208 break;
6209
6210 case 392:
69db2541 6211#line 1435 "cgrammar.y"
08cf8642 6212 { (yyval.ctyp) = ctype_signedintegral; ;}
6213 break;
6214
6215 case 396:
69db2541 6216#line 1439 "cgrammar.y"
08cf8642 6217 { (yyval.ctyp) = ctype_fromQual ((yyvsp[(1) - (2)].typequal)); ;}
6218 break;
6219
6220 case 397:
69db2541 6221#line 1444 "cgrammar.y"
08cf8642 6222 { (yyval.qtyp) = qtype_resolve ((yyvsp[(2) - (3)].qtyp)); ;}
6223 break;
6224
6225 case 398:
69db2541 6226#line 1448 "cgrammar.y"
08cf8642 6227 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6228 break;
6229
6230 case 399:
69db2541 6231#line 1450 "cgrammar.y"
08cf8642 6232 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (4)].qtyp), (yyvsp[(3) - (4)].qtyp)); ;}
6233 break;
6234
6235 case 401:
69db2541 6236#line 1456 "cgrammar.y"
08cf8642 6237 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (3)].qtyp), (yyvsp[(3) - (3)].qtyp)); ;}
6238 break;
6239
6240 case 402:
69db2541 6241#line 1460 "cgrammar.y"
08cf8642 6242 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6243 break;
6244
6245 case 403:
69db2541 6246#line 1461 "cgrammar.y"
08cf8642 6247 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6248 break;
6249
6250 case 404:
69db2541 6251#line 1462 "cgrammar.y"
08cf8642 6252 { (yyval.qtyp) = qtype_combine ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].ctyp)); ;}
6253 break;
6254
6255 case 405:
69db2541 6256#line 1466 "cgrammar.y"
08cf8642 6257 { (yyval.qtyp) = qtype_unknown (); ;}
6258 break;
6259
6260 case 406:
69db2541 6261#line 1467 "cgrammar.y"
08cf8642 6262 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6263 break;
6264
6265 case 407:
69db2541 6266#line 1471 "cgrammar.y"
08cf8642 6267 { (yyval.conL) = constraintList_undefined; ;}
6268 break;
6269
6270 case 408:
69db2541 6271#line 1478 "cgrammar.y"
08cf8642 6272 { sRef_setGlobalScopeSafe (); ;}
6273 break;
6274
6275 case 409:
69db2541 6276#line 1480 "cgrammar.y"
08cf8642 6277 { sRef_clearGlobalScopeSafe (); ;}
6278 break;
6279
6280 case 410:
69db2541 6281#line 1483 "cgrammar.y"
08cf8642 6282 { ctype ct; ct = declareStruct ((yyvsp[(3) - (12)].cname), (yyvsp[(8) - (12)].flist)); /* context_setGlobalStructInfo(ct, $12); */ (yyval.ctyp) = ct; ;}
6283 break;
6284
6285 case 411:
69db2541 6286#line 1484 "cgrammar.y"
08cf8642 6287 { sRef_setGlobalScopeSafe (); ;}
6288 break;
6289
6290 case 412:
69db2541 6291#line 1486 "cgrammar.y"
08cf8642 6292 { sRef_clearGlobalScopeSafe (); ;}
6293 break;
6294
6295 case 413:
69db2541 6296#line 1488 "cgrammar.y"
08cf8642 6297 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (11)].cname), (yyvsp[(8) - (11)].flist)); ;}
6298 break;
6299
6300 case 414:
69db2541 6301#line 1490 "cgrammar.y"
08cf8642 6302 { (yyval.ctyp) = declareStruct ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6303 break;
6304
6305 case 415:
69db2541 6306#line 1492 "cgrammar.y"
08cf8642 6307 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6308 break;
6309
6310 case 416:
69db2541 6311#line 1493 "cgrammar.y"
08cf8642 6312 { sRef_setGlobalScopeSafe (); ;}
6313 break;
6314
6315 case 417:
69db2541 6316#line 1495 "cgrammar.y"
08cf8642 6317 { sRef_clearGlobalScopeSafe (); ;}
6318 break;
6319
6320 case 418:
69db2541 6321#line 1497 "cgrammar.y"
08cf8642 6322 { (yyval.ctyp) = declareUnnamedStruct ((yyvsp[(7) - (10)].flist)); ;}
6323 break;
6324
6325 case 419:
69db2541 6326#line 1498 "cgrammar.y"
08cf8642 6327 { sRef_setGlobalScopeSafe (); ;}
6328 break;
6329
6330 case 420:
69db2541 6331#line 1500 "cgrammar.y"
08cf8642 6332 { sRef_clearGlobalScopeSafe (); ;}
6333 break;
6334
6335 case 421:
69db2541 6336#line 1502 "cgrammar.y"
08cf8642 6337 { (yyval.ctyp) = declareUnnamedUnion ((yyvsp[(7) - (10)].flist)); ;}
6338 break;
6339
6340 case 422:
69db2541 6341#line 1504 "cgrammar.y"
08cf8642 6342 { (yyval.ctyp) = ctype_createUnnamedStruct (uentryList_new ()); ;}
6343 break;
6344
6345 case 423:
69db2541 6346#line 1506 "cgrammar.y"
08cf8642 6347 { (yyval.ctyp) = ctype_createUnnamedUnion (uentryList_new ()); ;}
6348 break;
6349
6350 case 424:
69db2541 6351#line 1507 "cgrammar.y"
08cf8642 6352 { (yyval.ctyp) = handleStruct ((yyvsp[(3) - (4)].cname)); ;}
6353 break;
6354
6355 case 425:
69db2541 6356#line 1508 "cgrammar.y"
08cf8642 6357 { (yyval.ctyp) = handleUnion ((yyvsp[(3) - (4)].cname)); ;}
6358 break;
6359
6360 case 426:
69db2541 6361#line 1512 "cgrammar.y"
08cf8642 6362 { cscannerHelp_clearExpectingTypeName (); ;}
6363 break;
6364
6365 case 428:
69db2541 6366#line 1517 "cgrammar.y"
08cf8642 6367 { (yyval.flist) = uentryList_undefined; /* bogus! */ ;}
6368 break;
6369
6370 case 429:
69db2541 6371#line 1518 "cgrammar.y"
08cf8642 6372 { (yyval.flist) = uentryList_mergeFields ((yyvsp[(1) - (2)].flist), (yyvsp[(2) - (2)].flist)); ;}
6373 break;
6374
6375 case 430:
69db2541 6376#line 1523 "cgrammar.y"
08cf8642 6377 { (yyval.flist) = fixUentryList ((yyvsp[(3) - (5)].ntyplist), (yyvsp[(1) - (5)].qtyp)); ;}
6378 break;
6379
6380 case 431:
69db2541 6381#line 1525 "cgrammar.y"
08cf8642 6382 { (yyval.flist) = fixUnnamedDecl ((yyvsp[(1) - (3)].qtyp)); ;}
6383 break;
6384
6385 case 432:
69db2541 6386#line 1530 "cgrammar.y"
08cf8642 6387 { (yyval.ntyplist) = idDeclList_singleton ((yyvsp[(1) - (2)].ntyp)); ;}
6388 break;
6389
6390 case 433:
69db2541 6391#line 1532 "cgrammar.y"
08cf8642 6392 { (yyval.ntyplist) = idDeclList_add ((yyvsp[(1) - (4)].ntyplist), (yyvsp[(3) - (4)].ntyp)); ;}
6393 break;
6394
6395 case 434:
69db2541 6396#line 1536 "cgrammar.y"
08cf8642 6397 { (yyval.ntyp) = (yyvsp[(1) - (1)].ntyp); ;}
6398 break;
6399
6400 case 435:
69db2541 6401#line 1537 "cgrammar.y"
08cf8642 6402 { (yyval.ntyp) = idDecl_undefined; ;}
6403 break;
6404
6405 case 436:
69db2541 6406#line 1538 "cgrammar.y"
08cf8642 6407 { (yyval.ntyp) = (yyvsp[(1) - (4)].ntyp); ;}
6408 break;
6409
6410 case 437:
69db2541 6411#line 1544 "cgrammar.y"
08cf8642 6412 { (yyval.ctyp) = declareUnnamedEnum ((yyvsp[(4) - (6)].enumnamelist)); ;}
6413 break;
6414
6415 case 438:
69db2541 6416#line 1545 "cgrammar.y"
08cf8642 6417 { context_pushLoc (); ;}
6418 break;
6419
6420 case 439:
69db2541 6421#line 1546 "cgrammar.y"
08cf8642 6422 { context_popLoc (); (yyval.ctyp) = declareEnum ((yyvsp[(3) - (8)].cname), (yyvsp[(6) - (8)].enumnamelist)); ;}
6423 break;
6424
6425 case 440:
69db2541 6426#line 1547 "cgrammar.y"
08cf8642 6427 { (yyval.ctyp) = handleEnum ((yyvsp[(3) - (4)].cname)); ;}
6428 break;
6429
6430 case 441:
69db2541 6431#line 1552 "cgrammar.y"
08cf8642 6432 { (yyval.enumnamelist) = enumNameList_single ((yyvsp[(1) - (1)].cname)); ;}
6433 break;
6434
6435 case 442:
69db2541 6436#line 1554 "cgrammar.y"
08cf8642 6437 { (yyval.enumnamelist) = enumNameList_push ((yyvsp[(1) - (3)].enumnamelist), (yyvsp[(3) - (3)].cname)); ;}
6438 break;
6439
6440 case 444:
69db2541 6441#line 1560 "cgrammar.y"
08cf8642 6442 { uentry ue = uentry_makeEnumConstant ((yyvsp[(1) - (1)].cname), ctype_unknown);
6443 usymtab_supGlobalEntry (ue);
6444 (yyval.cname) = (yyvsp[(1) - (1)].cname);
6445 ;}
6446 break;
6447
6448 case 445:
69db2541 6449#line 1565 "cgrammar.y"
08cf8642 6450 { uentry ue = uentry_makeEnumInitializedConstant ((yyvsp[(1) - (4)].cname), ctype_unknown, (yyvsp[(4) - (4)].expr));
6451 usymtab_supGlobalEntry (ue);
6452 (yyval.cname) = (yyvsp[(1) - (4)].cname);
6453 ;}
6454 break;
6455
6456 case 447:
69db2541 6457#line 1573 "cgrammar.y"
08cf8642 6458 { (yyval.ntyp) = idDecl_create (cstring_undefined, qtype_create ((yyvsp[(1) - (1)].ctyp))); ;}
6459 break;
6460
6461 case 448:
69db2541 6462#line 1575 "cgrammar.y"
08cf8642 6463 {
6464 qtype qt = qtype_unknown ();
6465 qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), qt);
6466 (yyval.ntyp) = idDecl_create (cstring_copy (cscannerHelp_observeLastIdentifier ()), qt);
6467 ;}
6468 break;
6469
6470 case 449:
69db2541 6471#line 1581 "cgrammar.y"
08cf8642 6472 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6473 break;
6474
6475 case 451:
69db2541 6476#line 1587 "cgrammar.y"
08cf8642 6477 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6478 break;
6479
6480 case 452:
69db2541 6481#line 1591 "cgrammar.y"
08cf8642 6482 { (yyval.entrylist) = handleParamTypeList ((yyvsp[(1) - (1)].entrylist)); ;}
6483 break;
6484
6485 case 453:
69db2541 6486#line 1592 "cgrammar.y"
08cf8642 6487 { (yyval.entrylist) = handleParamIdList ((yyvsp[(2) - (2)].entrylist)); ;}
6488 break;
6489
6490 case 454:
69db2541 6491#line 1596 "cgrammar.y"
08cf8642 6492 { (yyval.typequal) = qual_createConst (); ;}
6493 break;
6494
6495 case 455:
69db2541 6496#line 1597 "cgrammar.y"
08cf8642 6497 { (yyval.typequal) = qual_createRestrict (); ;}
6498 break;
6499
6500 case 456:
69db2541 6501#line 1598 "cgrammar.y"
08cf8642 6502 { (yyval.typequal) = qual_createVolatile (); ;}
6503 break;
6504
6505 case 457:
69db2541 6506#line 1602 "cgrammar.y"
08cf8642 6507 { (yyval.tquallist) = qualList_single ((yyvsp[(1) - (1)].typequal)); ;}
6508 break;
6509
6510 case 458:
69db2541 6511#line 1603 "cgrammar.y"
08cf8642 6512 { (yyval.tquallist) = qualList_add ((yyvsp[(1) - (2)].tquallist), (yyvsp[(2) - (2)].typequal)); ;}
6513 break;
6514
6515 case 459:
69db2541 6516#line 1607 "cgrammar.y"
08cf8642 6517 { (yyval.pointers) = pointers_create ((yyvsp[(1) - (1)].tok)); ;}
6518 break;
6519
6520 case 460:
69db2541 6521#line 1608 "cgrammar.y"
08cf8642 6522 { (yyval.pointers) = pointers_createMods ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tquallist)); ;}
6523 break;
6524
6525 case 461:
69db2541 6526#line 1609 "cgrammar.y"
08cf8642 6527 { (yyval.pointers) = pointers_extend (pointers_create ((yyvsp[(1) - (2)].tok)), (yyvsp[(2) - (2)].pointers)); ;}
6528 break;
6529
6530 case 462:
69db2541 6531#line 1610 "cgrammar.y"
08cf8642 6532 { (yyval.pointers) = pointers_extend (pointers_createMods ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].tquallist)), (yyvsp[(3) - (3)].pointers)); ;}
6533 break;
6534
6535 case 464:
69db2541 6536#line 1615 "cgrammar.y"
08cf8642 6537 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6538 break;
6539
6540 case 465:
69db2541 6541#line 1619 "cgrammar.y"
08cf8642 6542 { (yyval.entrylist) = uentryList_single (uentry_makeVariableLoc ((yyvsp[(1) - (1)].cname), ctype_int)); ;}
6543 break;
6544
6545 case 466:
69db2541 6546#line 1620 "cgrammar.y"
08cf8642 6547 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeVariableLoc ((yyvsp[(3) - (3)].cname), ctype_int)); ;}
6548 break;
6549
6550 case 467:
69db2541 6551#line 1624 "cgrammar.y"
08cf8642 6552 { (yyval.entrylist) = uentryList_single (uentry_makeElipsisMarker ()); ;}
6553 break;
6554
6555 case 469:
69db2541 6556#line 1626 "cgrammar.y"
08cf8642 6557 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6558 break;
6559
6560 case 470:
69db2541 6561#line 1630 "cgrammar.y"
08cf8642 6562 { storeLoc (); ;}
6563 break;
6564
6565 case 471:
69db2541 6566#line 1630 "cgrammar.y"
08cf8642 6567 { (yyval.entrylist) = uentryList_single ((yyvsp[(2) - (2)].oentry)); ;}
6568 break;
6569
6570 case 472:
69db2541 6571#line 1631 "cgrammar.y"
08cf8642 6572 { storeLoc (); ;}
6573 break;
6574
6575 case 473:
69db2541 6576#line 1632 "cgrammar.y"
08cf8642 6577 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (4)].entrylist), (yyvsp[(4) - (4)].oentry)); ;}
6578 break;
6579
6580 case 474:
69db2541 6581#line 1637 "cgrammar.y"
08cf8642 6582 {
6583 if (isFlipOldStyle ())
6584 {
6585 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
6586 }
6587 else
6588 {
6589 setNewStyle ();
6590 }
6591 (yyval.oentry) = makeCurrentParam (idDecl_fixParamBase ((yyvsp[(3) - (4)].ntyp), (yyvsp[(2) - (4)].qtyp)));
6592 ;}
6593 break;
6594
6595 case 475:
69db2541 6596#line 1649 "cgrammar.y"
08cf8642 6597 {
6598 idDecl tparam = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ());
6599
6600 if (isNewStyle ())
6601 {
6602 llparseerror (message ("Inconsistent function parameter syntax: %q",
6603 idDecl_unparse (tparam)));
6604 }
6605
6606 setFlipOldStyle ();
6607 (yyval.oentry) = makeCurrentParam (tparam);
6608 idDecl_free (tparam);
6609 ;}
6610 break;
6611
6612 case 477:
69db2541 6613#line 1666 "cgrammar.y"
08cf8642 6614 { (yyval.qtyp) = qtype_newBase ((yyvsp[(1) - (2)].qtyp), (yyvsp[(2) - (2)].ctyp)); ;}
6615 break;
6616
6617 case 478:
69db2541 6618#line 1670 "cgrammar.y"
08cf8642 6619 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (1)].pointers), ctype_unknown); ;}
6620 break;
6621
6622 case 480:
69db2541 6623#line 1672 "cgrammar.y"
08cf8642 6624 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (2)].pointers), (yyvsp[(2) - (2)].ctyp)); ;}
6625 break;
6626
6627 case 481:
69db2541 6628#line 1676 "cgrammar.y"
08cf8642 6629 { (yyval.ctyp) = ctype_unknown; ;}
6630 break;
6631
6632 case 483:
69db2541 6633#line 1682 "cgrammar.y"
08cf8642 6634 { (yyval.ctyp) = ctype_expectFunction ((yyvsp[(4) - (5)].ctyp)); ;}
6635 break;
6636
6637 case 484:
69db2541 6638#line 1683 "cgrammar.y"
08cf8642 6639 { (yyval.ctyp) = ctype_makeArray (ctype_unknown); ;}
6640 break;
6641
6642 case 485:
69db2541 6643#line 1685 "cgrammar.y"
08cf8642 6644 { (yyval.ctyp) = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ((yyvsp[(2) - (3)].expr))); ;}
6645 break;
6646
6647 case 486:
69db2541 6648#line 1686 "cgrammar.y"
08cf8642 6649 { (yyval.ctyp) = ctype_makeInnerArray ((yyvsp[(1) - (3)].ctyp)); ;}
6650 break;
6651
6652 case 487:
69db2541 6653#line 1688 "cgrammar.y"
08cf8642 6654 { (yyval.ctyp) = ctype_makeInnerFixedArray ((yyvsp[(1) - (4)].ctyp), exprNode_getLongValue ((yyvsp[(3) - (4)].expr))); ;}
6655 break;
6656
6657 case 488:
69db2541 6658#line 1690 "cgrammar.y"
08cf8642 6659 { (yyval.ctyp) = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6660 break;
6661
6662 case 489:
69db2541 6663#line 1692 "cgrammar.y"
08cf8642 6664 { (yyval.ctyp) = ctype_makeParamsFunction (ctype_unknown, (yyvsp[(3) - (4)].entrylist)); ;}
6665 break;
6666
6667 case 490:
69db2541 6668#line 1694 "cgrammar.y"
08cf8642 6669 { (yyval.ctyp) = ctype_makeFunction ((yyvsp[(1) - (4)].ctyp), uentryList_makeMissingParams ()); ;}
6670 break;
6671
6672 case 491:
69db2541 6673#line 1696 "cgrammar.y"
08cf8642 6674 { (yyval.ctyp) = ctype_makeParamsFunction ((yyvsp[(1) - (5)].ctyp), (yyvsp[(4) - (5)].entrylist)); ;}
6675 break;
6676
6677 case 502:
69db2541 6678#line 1715 "cgrammar.y"
08cf8642 6679 { exprNode_revealState ((yyvsp[(3) - (4)].expr)); (yyval.expr) = exprNode_undefined; ;}
6680 break;
6681
6682 case 503:
69db2541 6683#line 1719 "cgrammar.y"
08cf8642 6684 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6685 break;
6686
6687 case 506:
69db2541 6688#line 1729 "cgrammar.y"
08cf8642 6689 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6690 break;
6691
6692 case 507:
69db2541 6693#line 1734 "cgrammar.y"
08cf8642 6694 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6695 break;
6696
6697 case 508:
69db2541 6698#line 1736 "cgrammar.y"
08cf8642 6699 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)); ;}
6700 break;
6701
6702 case 509:
69db2541 6703#line 1738 "cgrammar.y"
08cf8642 6704 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
6705 break;
6706
6707 case 510:
69db2541 6708#line 1740 "cgrammar.y"
08cf8642 6709 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6710 break;
6711
6712 case 511:
69db2541 6713#line 1745 "cgrammar.y"
08cf8642 6714 { context_setProtectVars (); ;}
6715 break;
6716
6717 case 512:
69db2541 6718#line 1745 "cgrammar.y"
08cf8642 6719 { context_sizeofReleaseVars (); ;}
6720 break;
6721
6722 case 513:
69db2541 6723#line 1747 "cgrammar.y"
08cf8642 6724 { (yyval.expr) = exprNode_forPred ((yyvsp[(3) - (10)].expr), (yyvsp[(5) - (10)].expr), (yyvsp[(8) - (10)].expr));
6725 context_enterForClause ((yyvsp[(5) - (10)].expr)); ;}
6726 break;
6727
6728 case 514:
69db2541 6729#line 1753 "cgrammar.y"
08cf8642 6730 { setProcessingIterVars ((yyvsp[(1) - (3)].entry)); ;}
6731 break;
6732
6733 case 515:
69db2541 6734#line 1755 "cgrammar.y"
08cf8642 6735 { (yyval.expr) = exprNode_iterStart ((yyvsp[(1) - (6)].entry), (yyvsp[(5) - (6)].exprlist)); ;}
6736 break;
6737
6738 case 516:
69db2541 6739#line 1756 "cgrammar.y"
08cf8642 6740 { (yyval.expr) = exprNode_createId ((yyvsp[(1) - (1)].entry)); ;}
6741 break;
6742
6743 case 520:
69db2541 6744#line 1763 "cgrammar.y"
08cf8642 6745 { (yyval.expr) = (yyvsp[(1) - (2)].expr); DPRINTF (("def stmt: %s", exprNode_unparse ((yyval.expr)))); ;}
6746 break;
6747
6748 case 528:
69db2541 6749#line 1771 "cgrammar.y"
08cf8642 6750 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6751 break;
6752
6753 case 529:
69db2541 6754#line 1772 "cgrammar.y"
08cf8642 6755 { (yyval.expr) = exprNode_makeError (); ;}
6756 break;
6757
6758 case 530:
69db2541 6759#line 1776 "cgrammar.y"
08cf8642 6760 { exprNode_checkIfPred ((yyvsp[(1) - (1)].expr)); ;}
6761 break;
6762
6763 case 531:
69db2541 6764#line 1777 "cgrammar.y"
08cf8642 6765 { /* don't: context_exitTrueClause ($1, $2); */
6766 (yyval.expr) = exprNode_if ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
6767 ;}
6768 break;
6769
6770 case 532:
69db2541 6771#line 1783 "cgrammar.y"
08cf8642 6772 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6773 break;
6774
6775 case 533:
69db2541 6776#line 1787 "cgrammar.y"
08cf8642 6777 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6778 break;
6779
6780 case 544:
69db2541 6781#line 1804 "cgrammar.y"
08cf8642 6782 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
6783 break;
6784
6785 case 547:
69db2541 6786#line 1807 "cgrammar.y"
08cf8642 6787 { (yyval.expr) = exprNode_makeError (); ;}
6788 break;
6789
6790 case 548:
69db2541 6791#line 1811 "cgrammar.y"
08cf8642 6792 { (yyval.expr) = exprNode_labelMarker ((yyvsp[(1) - (2)].cname)); ;}
6793 break;
6794
6795 case 549:
69db2541 6796#line 1812 "cgrammar.y"
08cf8642 6797 { (yyval.expr) = exprNode_notReached ((yyvsp[(2) - (2)].expr)); ;}
6798 break;
6799
6800 case 550:
69db2541 6801#line 1820 "cgrammar.y"
08cf8642 6802 { ; ;}
6803 break;
6804
6805 case 551:
69db2541 6806#line 1821 "cgrammar.y"
08cf8642 6807 { ; ;}
6808 break;
6809
6810 case 552:
69db2541 6811#line 1828 "cgrammar.y"
08cf8642 6812 { context_enterCaseClause ((yyvsp[(2) - (2)].expr)); ;}
6813 break;
6814
6815 case 553:
69db2541 6816#line 1829 "cgrammar.y"
08cf8642 6817 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(2) - (4)].expr), FALSE); ;}
6818 break;
6819
6820 case 554:
69db2541 6821#line 1830 "cgrammar.y"
08cf8642 6822 { context_enterCaseClause ((yyvsp[(4) - (4)].expr)); ;}
6823 break;
6824
6825 case 555:
69db2541 6826#line 1831 "cgrammar.y"
08cf8642 6827 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(4) - (6)].expr), TRUE); ;}
6828 break;
6829
6830 case 556:
69db2541 6831#line 1835 "cgrammar.y"
08cf8642 6832 { context_enterCaseClause (exprNode_undefined); ;}
6833 break;
6834
6835 case 557:
69db2541 6836#line 1836 "cgrammar.y"
08cf8642 6837 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(1) - (3)].tok), FALSE); ;}
6838 break;
6839
6840 case 558:
69db2541 6841#line 1837 "cgrammar.y"
08cf8642 6842 { context_enterCaseClause (exprNode_undefined); ;}
6843 break;
6844
6845 case 559:
69db2541 6846#line 1838 "cgrammar.y"
08cf8642 6847 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(3) - (5)].tok), TRUE); ;}
6848 break;
6849
6850 case 560:
69db2541 6851#line 1842 "cgrammar.y"
08cf8642 6852 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6853 break;
6854
6855 case 561:
69db2541 6856#line 1844 "cgrammar.y"
08cf8642 6857 { (yyval.expr) = (yyvsp[(2) - (2)].expr); context_exitInner ((yyvsp[(2) - (2)].expr)); ;}
6858 break;
6859
6860 case 562:
69db2541 6861#line 1848 "cgrammar.y"
08cf8642 6862 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6863 break;
6864
6865 case 563:
69db2541 6866#line 1852 "cgrammar.y"
08cf8642 6867 { context_enterInnerContext (); ;}
6868 break;
6869
6870 case 564:
69db2541 6871#line 1856 "cgrammar.y"
08cf8642 6872 { context_exitInnerPlain (); ;}
6873 break;
6874
6875 case 565:
69db2541 6876#line 1860 "cgrammar.y"
08cf8642 6877 { context_enterStructInnerContext (); ;}
6878 break;
6879
6880 case 566:
69db2541 6881#line 1864 "cgrammar.y"
08cf8642 6882 { context_exitStructInnerContext (); ;}
6883 break;
6884
6885 case 567:
69db2541 6886#line 1868 "cgrammar.y"
08cf8642 6887 { context_exitInnerSafe (); ;}
6888 break;
6889
6890 case 568:
69db2541 6891#line 1872 "cgrammar.y"
08cf8642 6892 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
6893 break;
6894
6895 case 569:
69db2541 6896#line 1873 "cgrammar.y"
08cf8642 6897 { (yyval.expr) = exprNode_notReached (exprNode_createTok ((yyvsp[(2) - (2)].tok))); ;}
6898 break;
6899
6900 case 570:
69db2541 6901#line 1874 "cgrammar.y"
08cf8642 6902 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6903 break;
6904
6905 case 571:
69db2541 6906#line 1876 "cgrammar.y"
08cf8642 6907 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6908 break;
6909
6910 case 572:
69db2541 6911#line 1877 "cgrammar.y"
08cf8642 6912 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6913 break;
6914
6915 case 573:
69db2541 6916#line 1879 "cgrammar.y"
08cf8642 6917 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6918 break;
6919
6920 case 574:
69db2541 6921#line 1881 "cgrammar.y"
08cf8642 6922 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].expr)), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6923 break;
6924
6925 case 575:
69db2541 6926#line 1883 "cgrammar.y"
08cf8642 6927 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation (exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(2) - (4)].expr)),
6928 lltok_getLoc ((yyvsp[(3) - (4)].tok))));
6929 ;}
6930 break;
6931
6932 case 576:
69db2541 6933#line 1890 "cgrammar.y"
08cf8642 6934 { (yyval.expr) = exprNode_makeBlock ((yyvsp[(2) - (2)].expr)); ;}
6935 break;
6936
6937 case 577:
69db2541 6938#line 1895 "cgrammar.y"
08cf8642 6939 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6940 break;
6941
6942 case 578:
69db2541 6943#line 1897 "cgrammar.y"
08cf8642 6944 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6945 break;
6946
6947 case 579:
69db2541 6948#line 1899 "cgrammar.y"
08cf8642 6949 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6950 break;
6951
6952 case 580:
69db2541 6953#line 1901 "cgrammar.y"
08cf8642 6954 { (yyval.expr) = exprNode_updateLocation (exprNode_concat ((yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr)), lltok_getLoc ((yyvsp[(4) - (4)].tok))); ;}
6955 break;
6956
6957 case 582:
69db2541 6958#line 1906 "cgrammar.y"
08cf8642 6959 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6960 break;
6961
6962 case 583:
69db2541 6963#line 1910 "cgrammar.y"
08cf8642 6964 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6965 break;
6966
6967 case 584:
69db2541 6968#line 1911 "cgrammar.y"
08cf8642 6969 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6970 break;
6971
6972 case 585:
69db2541 6973#line 1915 "cgrammar.y"
08cf8642 6974 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6975 break;
6976
6977 case 586:
69db2541 6978#line 1916 "cgrammar.y"
08cf8642 6979 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
6980 break;
6981
6982 case 587:
69db2541 6983#line 1920 "cgrammar.y"
08cf8642 6984 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6985 break;
6986
6987 case 588:
69db2541 6988#line 1921 "cgrammar.y"
08cf8642 6989 { (yyval.expr) = (yyvsp[(2) - (4)].expr); ;}
6990 break;
6991
6992 case 589:
69db2541 6993#line 1925 "cgrammar.y"
08cf8642 6994 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6995 break;
6996
6997 case 590:
69db2541 6998#line 1926 "cgrammar.y"
08cf8642 6999 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7000 break;
7001
7002 case 591:
69db2541 7003#line 1930 "cgrammar.y"
08cf8642 7004 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7005 break;
7006
7007 case 592:
69db2541 7008#line 1931 "cgrammar.y"
08cf8642 7009 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7010 break;
7011
7012 case 593:
69db2541 7013#line 1935 "cgrammar.y"
08cf8642 7014 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7015 break;
7016
7017 case 594:
69db2541 7018#line 1936 "cgrammar.y"
08cf8642 7019 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7020 break;
7021
7022 case 595:
69db2541 7023#line 1937 "cgrammar.y"
08cf8642 7024 { (yyval.expr) = exprNode_checkExpr ((yyvsp[(1) - (1)].expr)); ;}
7025 break;
7026
7027 case 596:
69db2541 7028#line 1942 "cgrammar.y"
08cf8642 7029 {
7030 exprNode_produceGuards ((yyvsp[(3) - (4)].expr)); context_enterTrueClause ((yyvsp[(3) - (4)].expr));
7031 exprNode_checkIfPred ((yyvsp[(3) - (4)].expr));
7032 (yyval.expr) = (yyvsp[(3) - (4)].expr);
7033 ;}
7034 break;
7035
7036 case 597:
69db2541 7037#line 1956 "cgrammar.y"
08cf8642 7038 {
7039 context_exitTrueClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7040 (yyval.expr) = exprNode_if ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr));
7041 ;}
7042 break;
7043
7044 case 598:
69db2541 7045#line 1960 "cgrammar.y"
08cf8642 7046 { context_enterFalseClause ((yyvsp[(1) - (3)].expr)); ;}
7047 break;
7048
7049 case 599:
69db2541 7050#line 1961 "cgrammar.y"
08cf8642 7051 {
7052 context_exitClause ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7053 (yyval.expr) = exprNode_ifelse ((yyvsp[(1) - (5)].expr), (yyvsp[(2) - (5)].expr), (yyvsp[(5) - (5)].expr));
7054 ;}
7055 break;
7056
7057 case 600:
69db2541 7058#line 1965 "cgrammar.y"
08cf8642 7059 { context_enterSwitch ((yyvsp[(3) - (3)].expr)); ;}
7060 break;
7061
7062 case 601:
69db2541 7063#line 1966 "cgrammar.y"
08cf8642 7064 { (yyval.expr) = exprNode_switch ((yyvsp[(3) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7065 break;
7066
7067 case 602:
69db2541 7068#line 1971 "cgrammar.y"
08cf8642 7069 { (yyval.expr) = exprNode_whilePred ((yyvsp[(3) - (4)].expr)); context_enterWhileClause ((yyvsp[(3) - (4)].expr)); ;}
7070 break;
7071
7072 case 603:
69db2541 7073#line 1976 "cgrammar.y"
08cf8642 7074 { (yyval.expr) = exprNode_whilePred((yyvsp[(3) - (4)].expr)); ;}
7075 break;
7076
7077 case 604:
69db2541 7078#line 1980 "cgrammar.y"
08cf8642 7079 { context_enterIterClause (); ;}
7080 break;
7081
7082 case 605:
69db2541 7083#line 1981 "cgrammar.y"
08cf8642 7084 { setProcessingIterVars ((yyvsp[(1) - (4)].entry)); ;}
7085 break;
7086
7087 case 606:
69db2541 7088#line 1984 "cgrammar.y"
08cf8642 7089 {
7090 (yyval.expr) = exprNode_iter ((yyvsp[(1) - (10)].entry), (yyvsp[(6) - (10)].exprlist), (yyvsp[(8) - (10)].expr), (yyvsp[(9) - (10)].entry));
7091
7092 ;}
7093 break;
7094
7095 case 607:
69db2541 7096#line 1991 "cgrammar.y"
08cf8642 7097 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
7098 break;
7099
7100 case 608:
69db2541 7101#line 1992 "cgrammar.y"
08cf8642 7102 { nextIterParam (); ;}
7103 break;
7104
7105 case 609:
69db2541 7106#line 1993 "cgrammar.y"
08cf8642 7107 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
7108 break;
7109
7110 case 610:
69db2541 7111#line 1997 "cgrammar.y"
08cf8642 7112 { (yyval.expr) = exprNode_iterExpr ((yyvsp[(1) - (1)].expr)); ;}
7113 break;
7114
7115 case 611:
69db2541 7116#line 1998 "cgrammar.y"
08cf8642 7117 { (yyval.expr) = exprNode_iterId ((yyvsp[(1) - (1)].entry)); ;}
7118 break;
7119
7120 case 612:
69db2541 7121#line 1999 "cgrammar.y"
08cf8642 7122 { uentry ue = cscannerHelp_coerceIterId ((yyvsp[(1) - (1)].cname));
7123
7124 if (uentry_isValid (ue))
7125 {
7126 (yyval.expr) = exprNode_iterId (ue);
7127 }
7128 else
7129 {
7130 (yyval.expr) = exprNode_iterNewId (cstring_copy (cscannerHelp_observeLastIdentifier ()));
7131 }
7132 ;}
7133 break;
7134
7135 case 613:
69db2541 7136#line 2010 "cgrammar.y"
08cf8642 7137 { (yyval.expr) = exprNode_iterNewId ((yyvsp[(1) - (1)].cname)); ;}
7138 break;
7139
7140 case 615:
69db2541 7141#line 2019 "cgrammar.y"
08cf8642 7142 { (yyval.expr) = exprNode_combineLiterals ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7143 break;
7144
7145 case 617:
69db2541 7146#line 2024 "cgrammar.y"
08cf8642 7147 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
7148 break;
7149
7150 case 619:
69db2541 7151#line 2029 "cgrammar.y"
08cf8642 7152 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
7153 break;
7154
7155 case 620:
69db2541 7156#line 2030 "cgrammar.y"
08cf8642 7157 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
7158 break;
7159
7160 case 621:
69db2541 7161#line 2031 "cgrammar.y"
08cf8642 7162 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
7163 break;
7164
7165 case 622:
69db2541 7166#line 2033 "cgrammar.y"
08cf8642 7167 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
7168 break;
7169
7170 case 623:
69db2541 7171#line 2034 "cgrammar.y"
08cf8642 7172 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7173 break;
7174
7175 case 624:
69db2541 7176#line 2035 "cgrammar.y"
08cf8642 7177 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7178 break;
7179
7180 case 625:
69db2541 7181#line 2036 "cgrammar.y"
08cf8642 7182 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7183 break;
7184
7185 case 626:
69db2541 7186#line 2037 "cgrammar.y"
08cf8642 7187 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7188 break;
7189
7190 case 628:
69db2541 7191#line 2042 "cgrammar.y"
08cf8642 7192 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7193 break;
7194
7195 case 629:
69db2541 7196#line 2043 "cgrammar.y"
08cf8642 7197 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7198 break;
7199
7200 case 630:
69db2541 7201#line 2044 "cgrammar.y"
08cf8642 7202 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7203 break;
7204
7205 case 631:
69db2541 7206#line 2045 "cgrammar.y"
08cf8642 7207 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7208 break;
7209
7210 case 632:
69db2541 7211#line 2046 "cgrammar.y"
08cf8642 7212 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7213 break;
7214
7215 case 633:
69db2541 7216#line 2047 "cgrammar.y"
08cf8642 7217 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7218 break;
7219
7220 case 634:
69db2541 7221#line 2048 "cgrammar.y"
08cf8642 7222 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7223 break;
7224
7225 case 635:
69db2541 7226#line 2049 "cgrammar.y"
08cf8642 7227 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7228 break;
7229
7230 case 636:
69db2541 7231#line 2050 "cgrammar.y"
08cf8642 7232 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
7233 break;
7234
7235 case 638:
69db2541 7236#line 2055 "cgrammar.y"
08cf8642 7237 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); ;}
7238 break;
7239
7240 case 640:
69db2541 7241#line 2060 "cgrammar.y"
08cf8642 7242 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7243 break;
7244
7245 case 641:
69db2541 7246#line 2061 "cgrammar.y"
08cf8642 7247 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7248 break;
7249
7250 case 642:
69db2541 7251#line 2062 "cgrammar.y"
08cf8642 7252 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7253 break;
7254
7255 case 644:
69db2541 7256#line 2067 "cgrammar.y"
08cf8642 7257 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7258 break;
7259
7260 case 645:
69db2541 7261#line 2068 "cgrammar.y"
08cf8642 7262 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7263 break;
7264
7265 case 647:
69db2541 7266#line 2073 "cgrammar.y"
08cf8642 7267 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7268 break;
7269
7270 case 648:
69db2541 7271#line 2074 "cgrammar.y"
08cf8642 7272 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7273 break;
7274
7275 case 650:
69db2541 7276#line 2079 "cgrammar.y"
08cf8642 7277 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7278 break;
7279
7280 case 651:
69db2541 7281#line 2080 "cgrammar.y"
08cf8642 7282 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7283 break;
7284
7285 case 652:
69db2541 7286#line 2081 "cgrammar.y"
08cf8642 7287 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7288 break;
7289
7290 case 653:
69db2541 7291#line 2082 "cgrammar.y"
08cf8642 7292 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7293 break;
7294
7295 case 655:
69db2541 7296#line 2087 "cgrammar.y"
08cf8642 7297 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7298 break;
7299
7300 case 656:
69db2541 7301#line 2088 "cgrammar.y"
08cf8642 7302 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7303 break;
7304
7305 case 658:
69db2541 7306#line 2093 "cgrammar.y"
08cf8642 7307 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7308 break;
7309
7310 case 660:
69db2541 7311#line 2098 "cgrammar.y"
08cf8642 7312 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7313 break;
7314
7315 case 662:
69db2541 7316#line 2103 "cgrammar.y"
08cf8642 7317 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7318 break;
7319
7320 case 664:
69db2541 7321#line 2108 "cgrammar.y"
08cf8642 7322 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7323 break;
7324
7325 case 666:
69db2541 7326#line 2113 "cgrammar.y"
08cf8642 7327 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7328 break;
7329
7330 case 668:
69db2541 7331#line 2118 "cgrammar.y"
08cf8642 7332 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7333 break;
7334
7335 case 669:
69db2541 7336#line 2119 "cgrammar.y"
08cf8642 7337 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
7338 break;
7339
7340 case 670:
69db2541 7341#line 2120 "cgrammar.y"
08cf8642 7342 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7343 break;
7344
7345 case 671:
69db2541 7346#line 2121 "cgrammar.y"
08cf8642 7347 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7348 break;
7349
7350 case 672:
69db2541 7351#line 2122 "cgrammar.y"
08cf8642 7352 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
7353 break;
7354
7355 case 673:
69db2541 7356#line 2123 "cgrammar.y"
08cf8642 7357 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
7358 break;
7359
7360 case 675:
69db2541 7361#line 2128 "cgrammar.y"
08cf8642 7362 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7363 break;
7364
7365 case 676:
69db2541 7366#line 2129 "cgrammar.y"
08cf8642 7367 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7368 break;
7369
7370 case 677:
69db2541 7371#line 2130 "cgrammar.y"
08cf8642 7372 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7373 break;
7374
7375 case 678:
69db2541 7376#line 2131 "cgrammar.y"
08cf8642 7377 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7378 break;
7379
7380 case 679:
69db2541 7381#line 2132 "cgrammar.y"
08cf8642 7382 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7383 break;
7384
7385 case 680:
69db2541 7386#line 2133 "cgrammar.y"
08cf8642 7387 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7388 break;
7389
7390 case 681:
69db2541 7391#line 2134 "cgrammar.y"
08cf8642 7392 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7393 break;
7394
7395 case 682:
69db2541 7396#line 2135 "cgrammar.y"
08cf8642 7397 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7398 break;
7399
7400 case 683:
69db2541 7401#line 2136 "cgrammar.y"
08cf8642 7402 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7403 break;
d0b80d80 7404
08cf8642 7405 case 684:
69db2541 7406#line 2137 "cgrammar.y"
08cf8642 7407 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7408 break;
d0b80d80 7409
08cf8642 7410 case 685:
69db2541 7411#line 2138 "cgrammar.y"
08cf8642 7412 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7413 break;
4287634e 7414
08cf8642 7415 case 686:
69db2541 7416#line 2142 "cgrammar.y"
08cf8642 7417 { (yyval.entry) = (yyvsp[(1) - (1)].entry); ;}
7418 break;
d0b80d80 7419
08cf8642 7420 case 687:
69db2541 7421#line 2143 "cgrammar.y"
08cf8642 7422 { (yyval.entry) = uentry_undefined; ;}
7423 break;
4287634e 7424
08cf8642 7425 case 688:
69db2541 7426#line 2147 "cgrammar.y"
08cf8642 7427 { context_enterDoWhileClause (); (yyval.tok) = (yyvsp[(1) - (1)].tok); ;}
7428 break;
4287634e 7429
08cf8642 7430 case 689:
69db2541 7431#line 2152 "cgrammar.y"
08cf8642 7432 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7433 break;
d0b80d80 7434
08cf8642 7435 case 690:
69db2541 7436#line 2154 "cgrammar.y"
08cf8642 7437 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7438 break;
d0b80d80 7439
08cf8642 7440 case 691:
69db2541 7441#line 2156 "cgrammar.y"
08cf8642 7442 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7443 break;
8f58355a 7444
08cf8642 7445 case 692:
69db2541 7446#line 2160 "cgrammar.y"
08cf8642 7447 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitWhileClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7448 break;
8f58355a 7449
08cf8642 7450 case 693:
69db2541 7451#line 2162 "cgrammar.y"
08cf8642 7452 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7453 break;
d0b80d80 7454
08cf8642 7455 case 694:
69db2541 7456#line 2164 "cgrammar.y"
08cf8642 7457 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
7458 break;
7459
7460 case 695:
69db2541 7461#line 2165 "cgrammar.y"
08cf8642 7462 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); context_exitForClause ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7463 break;
7464
7465 case 696:
69db2541 7466#line 2169 "cgrammar.y"
08cf8642 7467 { (yyval.expr) = exprNode_goto ((yyvsp[(2) - (3)].cname)); ;}
7468 break;
7469
7470 case 697:
69db2541 7471#line 2170 "cgrammar.y"
08cf8642 7472 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7473 break;
7474
7475 case 698:
69db2541 7476#line 2172 "cgrammar.y"
08cf8642 7477 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (3)].tok), QINNERCONTINUE); ;}
7478 break;
7479
7480 case 699:
69db2541 7481#line 2173 "cgrammar.y"
08cf8642 7482 { (yyval.expr) = exprNode_break ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7483 break;
7484
7485 case 700:
69db2541 7486#line 2174 "cgrammar.y"
08cf8642 7487 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSWITCHBREAK); ;}
7488 break;
7489
7490 case 701:
69db2541 7491#line 2175 "cgrammar.y"
08cf8642 7492 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QLOOPBREAK); ;}
7493 break;
7494
7495 case 702:
69db2541 7496#line 2176 "cgrammar.y"
08cf8642 7497 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QINNERBREAK); ;}
7498 break;
7499
7500 case 703:
69db2541 7501#line 2177 "cgrammar.y"
08cf8642 7502 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSAFEBREAK); ;}
7503 break;
7504
7505 case 704:
69db2541 7506#line 2178 "cgrammar.y"
08cf8642 7507 { (yyval.expr) = exprNode_nullReturn ((yyvsp[(1) - (2)].tok)); ;}
7508 break;
7509
7510 case 705:
69db2541 7511#line 2179 "cgrammar.y"
08cf8642 7512 { (yyval.expr) = exprNode_return ((yyvsp[(2) - (3)].expr)); ;}
7513 break;
7514
7515 case 707:
69db2541 7516#line 2184 "cgrammar.y"
08cf8642 7517 { ; ;}
7518 break;
7519
7520 case 709:
69db2541 7521#line 2189 "cgrammar.y"
08cf8642 7522 { ; ;}
7523 break;
7524
7525 case 712:
69db2541 7526#line 2198 "cgrammar.y"
08cf8642 7527 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7528 break;
7529
7530 case 713:
69db2541 7531#line 2199 "cgrammar.y"
08cf8642 7532 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7533 break;
7534
7535 case 714:
69db2541 7536#line 2200 "cgrammar.y"
08cf8642 7537 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7538 break;
7539
7540 case 715:
69db2541 7541#line 2201 "cgrammar.y"
08cf8642 7542 { (yyval.cname) = (yyvsp[(1) - (1)].cname); ;}
7543 break;
7544
7545 case 717:
69db2541 7546#line 2206 "cgrammar.y"
08cf8642 7547 { (yyval.ctyp) = ctype_unknown; ;}
7548 break;
7549
7550 case 718:
69db2541 7551#line 2207 "cgrammar.y"
08cf8642 7552 { (yyval.ctyp) = exprNode_getType ((yyvsp[(3) - (4)].expr)); exprNode_free ((yyvsp[(3) - (4)].expr)); ;}
7553 break;
7554
7555 case 719:
69db2541 7556#line 2208 "cgrammar.y"
08cf8642 7557 { (yyval.ctyp) = qtype_getType ((yyvsp[(3) - (4)].qtyp)); ;}
7558 break;
7559
7560
7561/* Line 1267 of yacc.c. */
69db2541 7562#line 7505 "cgrammar.tab.c"
08cf8642 7563 default: break;
368f75ae 7564 }
08cf8642 7565 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7566
7567 YYPOPSTACK (yylen);
7568 yylen = 0;
7569 YY_STACK_PRINT (yyss, yyssp);
d0b80d80 7570
7571 *++yyvsp = yyval;
08cf8642 7572
d0b80d80 7573
7574 /* Now `shift' the result of the reduction. Determine what state
7575 that goes to, based on the state we popped back to and the rule
7576 number reduced by. */
7577
7578 yyn = yyr1[yyn];
7579
08cf8642 7580 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7581 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
d0b80d80 7582 yystate = yytable[yystate];
7583 else
08cf8642 7584 yystate = yydefgoto[yyn - YYNTOKENS];
d0b80d80 7585
7586 goto yynewstate;
7587
7588
7589/*------------------------------------.
7590| yyerrlab -- here on detecting error |
7591`------------------------------------*/
7592yyerrlab:
7593 /* If not already recovering from an error, report this error. */
7594 if (!yyerrstatus)
7595 {
7596 ++yynerrs;
08cf8642 7597#if ! YYERROR_VERBOSE
7598 yyerror (YY_("syntax error"));
7599#else
7600 {
7601 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7602 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7603 {
7604 YYSIZE_T yyalloc = 2 * yysize;
7605 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7606 yyalloc = YYSTACK_ALLOC_MAXIMUM;
7607 if (yymsg != yymsgbuf)
d0b80d80 7608 YYSTACK_FREE (yymsg);
08cf8642 7609 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7610 if (yymsg)
7611 yymsg_alloc = yyalloc;
7612 else
7613 {
7614 yymsg = yymsgbuf;
7615 yymsg_alloc = sizeof yymsgbuf;
7616 }
7617 }
7618
7619 if (0 < yysize && yysize <= yymsg_alloc)
7620 {
7621 (void) yysyntax_error (yymsg, yystate, yychar);
7622 yyerror (yymsg);
7623 }
7624 else
7625 {
7626 yyerror (YY_("syntax error"));
7627 if (yysize != 0)
7628 goto yyexhaustedlab;
7629 }
7630 }
7631#endif
d0b80d80 7632 }
d0b80d80 7633
7634
08cf8642 7635
d0b80d80 7636 if (yyerrstatus == 3)
7637 {
08cf8642 7638 /* If just tried and failed to reuse look-ahead token after an
d0b80d80 7639 error, discard it. */
7640
08cf8642 7641 if (yychar <= YYEOF)
7642 {
7643 /* Return failure if at end of input. */
7644 if (yychar == YYEOF)
7645 YYABORT;
7646 }
7647 else
7648 {
7649 yydestruct ("Error: discarding",
7650 yytoken, &yylval);
7651 yychar = YYEMPTY;
7652 }
d0b80d80 7653 }
7654
08cf8642 7655 /* Else will try to reuse look-ahead token after shifting the error
d0b80d80 7656 token. */
08cf8642 7657 goto yyerrlab1;
d0b80d80 7658
368f75ae 7659
08cf8642 7660/*---------------------------------------------------.
7661| yyerrorlab -- error raised explicitly by YYERROR. |
7662`---------------------------------------------------*/
7663yyerrorlab:
368f75ae 7664
08cf8642 7665 /* Pacify compilers like GCC when the user code never invokes
7666 YYERROR and the label yyerrorlab therefore never appears in user
7667 code. */
7668 if (/*CONSTCOND*/ 0)
7669 goto yyerrorlab;
368f75ae 7670
08cf8642 7671 /* Do not reclaim the symbols of the rule which action triggered
7672 this YYERROR. */
7673 YYPOPSTACK (yylen);
7674 yylen = 0;
7675 YY_STACK_PRINT (yyss, yyssp);
7676 yystate = *yyssp;
7677 goto yyerrlab1;
d0b80d80 7678
d0b80d80 7679
08cf8642 7680/*-------------------------------------------------------------.
7681| yyerrlab1 -- common code for both syntax error and YYERROR. |
7682`-------------------------------------------------------------*/
7683yyerrlab1:
7684 yyerrstatus = 3; /* Each real token shifted decrements this. */
368f75ae 7685
08cf8642 7686 for (;;)
d0b80d80 7687 {
08cf8642 7688 yyn = yypact[yystate];
7689 if (yyn != YYPACT_NINF)
7690 {
7691 yyn += YYTERROR;
7692 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7693 {
7694 yyn = yytable[yyn];
7695 if (0 < yyn)
7696 break;
7697 }
7698 }
d0b80d80 7699
08cf8642 7700 /* Pop the current state because it cannot handle the error token. */
7701 if (yyssp == yyss)
7702 YYABORT;
d0b80d80 7703
d0b80d80 7704
08cf8642 7705 yydestruct ("Error: popping",
7706 yystos[yystate], yyvsp);
7707 YYPOPSTACK (1);
7708 yystate = *yyssp;
7709 YY_STACK_PRINT (yyss, yyssp);
d0b80d80 7710 }
d0b80d80 7711
7712 if (yyn == YYFINAL)
7713 YYACCEPT;
7714
d0b80d80 7715 *++yyvsp = yylval;
08cf8642 7716
7717
7718 /* Shift the error token. */
7719 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
d0b80d80 7720
7721 yystate = yyn;
7722 goto yynewstate;
7723
7724
7725/*-------------------------------------.
7726| yyacceptlab -- YYACCEPT comes here. |
7727`-------------------------------------*/
7728yyacceptlab:
7729 yyresult = 0;
7730 goto yyreturn;
7731
7732/*-----------------------------------.
7733| yyabortlab -- YYABORT comes here. |
7734`-----------------------------------*/
7735yyabortlab:
7736 yyresult = 1;
7737 goto yyreturn;
7738
08cf8642 7739#ifndef yyoverflow
7740/*-------------------------------------------------.
7741| yyexhaustedlab -- memory exhaustion comes here. |
7742`-------------------------------------------------*/
7743yyexhaustedlab:
7744 yyerror (YY_("memory exhausted"));
d0b80d80 7745 yyresult = 2;
7746 /* Fall through. */
08cf8642 7747#endif
d0b80d80 7748
7749yyreturn:
08cf8642 7750 if (yychar != YYEOF && yychar != YYEMPTY)
7751 yydestruct ("Cleanup: discarding lookahead",
7752 yytoken, &yylval);
7753 /* Do not reclaim the symbols of the rule which action triggered
7754 this YYABORT or YYACCEPT. */
7755 YYPOPSTACK (yylen);
7756 YY_STACK_PRINT (yyss, yyssp);
7757 while (yyssp != yyss)
7758 {
7759 yydestruct ("Cleanup: popping",
7760 yystos[*yyssp], yyvsp);
7761 YYPOPSTACK (1);
7762 }
d0b80d80 7763#ifndef yyoverflow
7764 if (yyss != yyssa)
7765 YYSTACK_FREE (yyss);
7766#endif
08cf8642 7767#if YYERROR_VERBOSE
7768 if (yymsg != yymsgbuf)
7769 YYSTACK_FREE (yymsg);
7770#endif
7771 /* Make sure YYID is used. */
7772 return YYID (yyresult);
d0b80d80 7773}
7774
7775
69db2541 7776#line 2211 "cgrammar.y"
08cf8642 7777
7778
d0b80d80 7779/*@-redecl@*/ /*@-namechecks@*/
7780extern char *yytext;
7781/*@=redecl@*/ /*@=namechecks@*/
7782
7783# include "bison.reset"
7784
7785void yyerror (/*@unused@*/ char *s)
7786{
7787 static bool givehint = FALSE;
7788
7789 if (context_inIterDef ())
7790 {
7791 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
7792 context_inFunctionName ()));
7793 }
7794 else if (context_inIterEnd ())
7795 {
7796 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
7797 context_inFunctionName ()));
7798 }
7799 else if (context_inMacro ())
7800 {
7801 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
7802 context_inFunctionName ()));
7803
7804 if (context_inUnknownMacro ())
7805 {
7806 if (!givehint)
7807 {
7808 llhint (cstring_makeLiteral
7809 ("Precede macro definition with /*@notfunction@*/ "
7810 "to suppress checking and force expansion"));
7811 givehint = TRUE;
7812 }
7813 }
7814
16c024b5 7815 cscannerHelp_swallowMacro ();
d0b80d80 7816 context_exitAllClausesQuiet ();
7817 }
7818 else
7819 {
7820 llparseerror (cstring_undefined);
7821 }
7822}
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
08cf8642 7835
c05aefaa 7836/*
7837** Resets all flags in bison.head
7838*/
7839
885824d3 7840
c05aefaa 7841/*@=allmacros@*/
7842/*@=boolint@*/
7843/*@=charint@*/
7844/*@=macroparams@*/
7845/*@=macroundef@*/
7846/*@=unreachable@*/
7847/*@=macrospec@*/
7848/*@=varuse@*/
7849/*@=ignorequals@*/
7850/*@=macrostmt@*/
7851/*@=noeffect@*/
7852/*@=shadow@*/
7853/*@=exitarg@*/
7854/*@=macroredef@*/
7855/*@=uniondef@*/
7856/*@=compdef@*/
7857/*@=matchfields@*/
7858/*@=exportlocal@*/
7859/*@=evalorderuncon@*/
7860/*@=exportheader@*/
7861/*@=typeuse@*/
7862/*@=redecl@*/
7863/*@=redef@*/
7864/*@=noparams@*/
7865/*@=ansireserved@*/
7866/*@=fielduse@*/
7867/*@=ifblock@*/
7868/*@=elseifcomplete@*/
7869/*@=whileblock@*/
7870/*@=forblock@*/
7871/*@=branchstate@*/
7872/*@=readonlytrans@*/
7873/*@=namechecks@*/
7874/*@=usedef@*/
7875/*@=systemunrecog@*/
7876/*@=dependenttrans@*/
7877/*@=unqualifiedtrans@*/
7878/*@=declundef@*/
7879
7880
7881/*drl added 11/27/2001*/
bb7c2085 7882/*@=bounds@*/
1d91681f 7883
7884/*drl added 12/11/2002*/
7885/*@=type@*/
a9ec3280 7886
7887/*@=enummemuse@*/
This page took 1.399213 seconds and 5 git commands to generate.