]> andersk Git - splint.git/blame_incremental - src/cgrammar.c.der
Fix tracker issue 1837229.
[splint.git] / src / cgrammar.c.der
... / ...
CommitLineData
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@*/
44/*@-nullpass@*/
45/*@-nullptrarith*/
46/*@-usereleased@*/
47/*@-declundef@*/
48
49/*drl added 11/27/2001*/
50/*@-bounds@*/
51
52/*drl added 12/11/2002*/
53/*@-type@*/
54
55/*@-enummemuse@*/
56
57/* < end of bison.head > */
58
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. */
523#line 24 "cgrammar.y"
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"
555# include "cscannerHelp.h"
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
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
600#line 81 "cgrammar.y"
601{
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 */
649}
650/* Line 187 of yacc.c. */
651#line 594 "cgrammar.tab.c"
652 cgrammar_YYSTYPE;
653# define yystype cgrammar_YYSTYPE /* obsolescent; will be withdrawn */
654# define cgrammar_YYSTYPE_IS_DECLARED 1
655# define cgrammar_YYSTYPE_IS_TRIVIAL 1
656#endif
657
658
659
660/* Copy the second part of user declarations. */
661
662
663/* Line 216 of yacc.c. */
664#line 607 "cgrammar.tab.c"
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}
748#endif
749
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)
839
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
857
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))
873
874#endif
875
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[] =
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,
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
946};
947
948#if YYDEBUG
949/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
950 YYRHS. */
951static const yytype_uint16 yyprhs[] =
952{
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,
991 1130, 1133, 1136, 1139, 1142, 1145, 1148, 1151, 1154, 1157,
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
1025};
1026
1027/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1028static const yytype_int16 yyrhs[] =
1029{
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
1252};
1253
1254/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1255static const yytype_uint16 yyrline[] =
1256{
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
1329};
1330#endif
1331
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. */
1335static const char *const yytname[] =
1336{
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",
1433 "typeName", 0
1434};
1435#endif
1436
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[] =
1467{
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
1540};
1541
1542/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1543static const yytype_uint8 yyr2[] =
1544{
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,
1557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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,
1577 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1578 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1579 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1580 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1581 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1582 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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
1617};
1618
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[] =
1623{
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
1751};
1752
1753/* YYDEFGOTO[NTERM-NUM]. */
1754static const yytype_int16 yydefgoto[] =
1755{
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
1784};
1785
1786/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1787 STATE-NUM. */
1788#define YYPACT_NINF -1033
1789static const yytype_int16 yypact[] =
1790{
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
1918};
1919
1920/* YYPGOTO[NTERM-NUM]. */
1921static const yytype_int16 yypgoto[] =
1922{
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
1951};
1952
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[] =
1959{
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,
2136 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2186 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2190 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2191 321, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
2192 0, 0, 0, 0, 0, 0, 0, -426, -426, -426,
2193 0, 6, 0, 0, 0, 0, 7, 8, 9, 0,
2194 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195 321, 10, 11, 12, 0, 0, 0, 0, 0, 0,
2196 0, 0, -170, -170, -170, 321, -170, -170, -170, 0,
2197 0, 13, 14, 15, 16, 0, 17, 18, 19, 20,
2198 21, 22, 23, 24, 25, 26, 321, 27, 28, 29,
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,
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,
2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2214 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2229 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2230 -426, -426, -426, 166, 6, 0, 0, 0, 0, 0,
2231 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2249 0, 0, 0, 0, 0, -282, -282, -282, 166, 0,
2250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2251 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2268 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2269 -282, -282, -282, 166, 0, 0, 0, 0, 0, 0,
2270 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2298 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2299 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2314 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2347 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2348 6, 0, 0, 0, 0, 0, 0, 0, 0, 81,
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,
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,
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,
2365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2366 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2367 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
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,
2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2385 0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
2386 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
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,
2410 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2460 0, 0, 0, 4, 0, 5, 0, 0, 0, 0,
2461 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
2462 177, 178, 0, 179, 180, 86, 0, 0, 0, 0,
2463 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
2464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2465 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2466 0, 0, 0, 81, 177, 178, 0, 179, 180, 86,
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,
2474 80, -566, 0, 0, 0, 0, 0, 0, 0, 138,
2475 84, 0, 0, 0, 87, 0, 0, 0, 0, 0,
2476 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2482 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2483 0, 0, 0, 13, 14, 15, 16, 0, 17, 18,
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,
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,
2504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2505 0, 0, 0, 176, 0, 0, 166, 0, 0, 0,
2506 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2513 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2514 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2515 0, 0, 81, 299, 300, 0, 179, 0, 0, 0,
2516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2560 0, 0, -426, -426, -426, 0, 6, 81, 299, 300,
2561 0, 179, 0, 0, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2563 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2574 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
2575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2576 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2589 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2601 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2604 10, 11, 12, 0, 0, 0, 0, 0, 0, 0,
2605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
2616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
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
2642};
2643
2644static const yytype_int16 yycheck[] =
2645{
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,
2822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2872 1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2876 -1, -1, -1, 44, -1, 46, -1, -1, -1, -1,
2877 1178, -1, -1, -1, -1, 1097, -1, -1, -1, -1,
2878 -1, -1, -1, -1, -1, -1, -1, 68, 69, 70,
2879 -1, 72, -1, -1, -1, -1, 77, 78, 79, -1,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 1218, 92, 93, 94, -1, -1, -1, -1, -1, -1,
2882 -1, -1, 188, 189, 190, 1233, 192, 193, 194, -1,
2883 -1, 112, 113, 114, 115, -1, 117, 118, 119, 120,
2884 121, 122, 123, 124, 125, 126, 1254, 128, 129, 130,
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,
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,
2895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2914 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2919 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
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,
2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2935 -1, -1, -1, -1, -1, 68, 69, 70, 71, -1,
2936 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2950 18, 19, 20, -1, -1, -1, 24, -1, -1, -1,
2951 -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
2952 -1, -1, -1, -1, 42, 43, 44, -1, -1, 47,
2953 48, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2954 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2958 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
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,
2980 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2984 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2985 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3000 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3017 99, 100, 101, 102, -1, -1, -1, -1, -1, -1,
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,
3028 12, 13, 14, 15, 16, 17, 18, 19, 20, -1,
3029 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
3030 32, 33, 34, 188, 189, 190, -1, 192, 193, 194,
3031 42, 43, 44, -1, 46, 47, 48, 49, -1, -1,
3032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3033 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3034 72, -1, -1, -1, -1, -1, -1, -1, -1, 188,
3035 189, 190, -1, 192, -1, -1, -1, -1, -1, -1,
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,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3052 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3053 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3054 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3072 72, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3097 -1, -1, -1, -1, -1, -1, -1, -1, 96, 97,
3098 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
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,
3105 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
3106 71, -1, 29, 30, 31, 32, 33, 34, -1, -1,
3107 188, 189, 190, -1, 192, 193, 194, -1, -1, -1,
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,
3111 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3120 16, 17, 18, 19, 20, -1, -1, -1, 24, -1,
3121 -1, 71, -1, 29, 30, 31, 32, 33, 34, -1,
3122 -1, 188, 189, 190, -1, 192, 193, 194, -1, -1,
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,
3126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3127 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3137 -1, -1, 188, 189, 190, -1, 192, 193, 194, -1,
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,
3141 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3142 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3150 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3151 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3163 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3164 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3165 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3166 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3167 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3168 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3169 -1, -1, -1, 112, 113, 114, 115, -1, 117, 118,
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,
3176 179, 180, 181, -1, -1, -1, -1, -1, 19, 20,
3177 -1, 190, 191, 24, -1, 26, 195, 28, 29, 30,
3178 31, 32, 33, 34, -1, -1, -1, -1, -1, 19,
3179 -1, -1, -1, -1, 24, -1, 47, 48, 49, 29,
3180 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
3181 -1, -1, 42, 43, -1, -1, 19, 47, 48, 49,
3182 71, 24, -1, -1, -1, -1, 29, 30, 31, 32,
3183 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
3184 43, 71, -1, 19, 47, 48, 49, -1, 24, -1,
3185 -1, -1, -1, 29, 30, 31, 32, 33, 34, -1,
3186 -1, -1, -1, -1, 19, 116, -1, -1, 71, 24,
3187 -1, 47, 48, 49, 29, 30, 31, 32, 33, 34,
3188 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
3189 -1, -1, 47, 48, 49, 71, -1, -1, -1, -1,
3190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3191 -1, -1, -1, 116, -1, -1, 71, -1, -1, -1,
3192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3198 -1, -1, -1, -1, -1, 188, 189, 190, -1, 192,
3199 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, 188, 189, 190, -1, 192, -1, -1, -1,
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,
3231 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
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,
3237 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3241 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3246 -1, -1, 68, 69, 70, -1, 72, 188, 189, 190,
3247 -1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
3248 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3249 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3259 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3260 -1, -1, -1, -1, 72, -1, -1, -1, -1, -1,
3261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
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,
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,
3287 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3288 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3290 92, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3304 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
3315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3316 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3317 -1, -1, -1, -1, -1, -1, -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,
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,
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
3461};
3462
3463#define yyerrok (yyerrstatus = 0)
3464#define yyclearin (yychar = YYEMPTY)
3465#define YYEMPTY (-2)
3466#define YYEOF 0
3467
3468#define YYACCEPT goto yyacceptlab
3469#define YYABORT goto yyabortlab
3470#define YYERROR goto yyerrorlab
3471
3472
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. */
3476
3477#define YYFAIL goto yyerrlab
3478
3479#define YYRECOVERING() (!!yyerrstatus)
3480
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))
3497
3498
3499#define YYTERROR 1
3500#define YYERRCODE 256
3501
3502
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). */
3506
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
3527
3528
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. */
3532
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)
3539# else
3540# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3541# endif
3542#endif
3543
3544
3545/* YYLEX -- calling `yylex' with the right arguments. */
3546
3547#ifdef YYLEX_PARAM
3548# define YYLEX yylex (YYLEX_PARAM)
3549#else
3550# define YYLEX yylex ()
3551#endif
3552
3553/* Enable debugging if requested. */
3554#if YYDEBUG
3555
3556# ifndef YYFPRINTF
3557# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3558# define YYFPRINTF fprintf
3559# endif
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;
3594#endif
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}
3610
3611
3612/*--------------------------------.
3613| Print this symbol on YYOUTPUT. |
3614`--------------------------------*/
3615
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]);
3632
3633 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3634 YYFPRINTF (yyoutput, ")");
3635}
3636
3637/*------------------------------------------------------------------.
3638| yy_stack_print -- Print the state stack from its BOTTOM up to its |
3639| TOP (included). |
3640`------------------------------------------------------------------*/
3641
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;
3651#endif
3652{
3653 YYFPRINTF (stderr, "Stack now");
3654 for (; bottom <= top; ++bottom)
3655 YYFPRINTF (stderr, " %d", *bottom);
3656 YYFPRINTF (stderr, "\n");
3657}
3658
3659# define YY_STACK_PRINT(Bottom, Top) \
3660do { \
3661 if (yydebug) \
3662 yy_stack_print ((Bottom), (Top)); \
3663} while (YYID (0))
3664
3665
3666/*------------------------------------------------.
3667| Report that the YYRULE is going to be reduced. |
3668`------------------------------------------------*/
3669
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}
3696
3697# define YY_REDUCE_PRINT(Rule) \
3698do { \
3699 if (yydebug) \
3700 yy_reduce_print (yyvsp, Rule); \
3701} while (YYID (0))
3702
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)
3708# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3709# define YY_STACK_PRINT(Bottom, Top)
3710# define YY_REDUCE_PRINT(Rule)
3711#endif /* !YYDEBUG */
3712
3713
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
3723 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3724 evaluated with infinite-precision integer arithmetic. */
3725
3726#ifndef YYMAXDEPTH
3727# define YYMAXDEPTH 10000
3728#endif
3729
3730\f
3731
3732#if YYERROR_VERBOSE
3733
3734# ifndef yystrlen
3735# if defined __GLIBC__ && defined _STRING_H
3736# define yystrlen strlen
3737# else
3738/* Return the length of YYSTR. */
3739#if (defined __STDC__ || defined __C99__FUNC__ \
3740 || defined __cplusplus || defined _MSC_VER)
3741static YYSIZE_T
3742yystrlen (const char *yystr)
3743#else
3744static YYSIZE_T
3745yystrlen (yystr)
3746 const char *yystr;
3747#endif
3748{
3749 YYSIZE_T yylen;
3750 for (yylen = 0; yystr[yylen]; yylen++)
3751 continue;
3752 return yylen;
3753}
3754# endif
3755# endif
3756
3757# ifndef yystpcpy
3758# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3759# define yystpcpy stpcpy
3760# else
3761/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3762 YYDEST. */
3763#if (defined __STDC__ || defined __C99__FUNC__ \
3764 || defined __cplusplus || defined _MSC_VER)
3765static char *
3766yystpcpy (char *yydest, const char *yysrc)
3767#else
3768static char *
3769yystpcpy (yydest, yysrc)
3770 char *yydest;
3771 const char *yysrc;
3772#endif
3773{
3774 char *yyd = yydest;
3775 const char *yys = yysrc;
3776
3777 while ((*yyd++ = *yys++) != '\0')
3778 continue;
3779
3780 return yyd - 1;
3781}
3782# endif
3783# endif
3784
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 }
3825
3826 if (! yyres)
3827 return yystrlen (yystr);
3828
3829 return yystpcpy (yyres, yystr) - yyres;
3830}
3831# endif
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");
3866# endif
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;
3958#endif
3959{
3960 YYUSE (yyvaluep);
3961
3962 if (!yymsg)
3963 yymsg = "Deleting";
3964 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3965
3966 switch (yytype)
3967 {
3968
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);
3986#else
3987int yyparse ();
3988#endif
3989#endif /* ! YYPARSE_PARAM */
3990
3991
3992
3993/* The look-ahead symbol. */
3994int yychar;
3995
3996/* The semantic value of the look-ahead symbol. */
3997cgrammar_YYSTYPE yylval;
3998
3999/* Number of syntax errors so far. */
4000int yynerrs;
4001
4002
4003
4004/*----------.
4005| yyparse. |
4006`----------*/
4007
4008#ifdef YYPARSE_PARAM
4009#if (defined __STDC__ || defined __C99__FUNC__ \
4010 || defined __cplusplus || defined _MSC_VER)
4011int
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 ()
4026
4027#endif
4028#endif
4029{
4030
4031 int yystate;
4032 int yyn;
4033 int yyresult;
4034 /* Number of tokens to shift before error messages enabled. */
4035 int yyerrstatus;
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
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
4053 /* The state stack. */
4054 yytype_int16 yyssa[YYINITDEPTH];
4055 yytype_int16 *yyss = yyssa;
4056 yytype_int16 *yyssp;
4057
4058 /* The semantic value stack. */
4059 cgrammar_YYSTYPE yyvsa[YYINITDEPTH];
4060 cgrammar_YYSTYPE *yyvs = yyvsa;
4061 cgrammar_YYSTYPE *yyvsp;
4062
4063
4064
4065#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
4066
4067 YYSIZE_T yystacksize = YYINITDEPTH;
4068
4069 /* The variables used to return semantic value and location from the
4070 action routines. */
4071 cgrammar_YYSTYPE yyval;
4072
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;
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;
4092
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
4100 have just been pushed. So pushing a state here evens the stacks. */
4101 yyssp++;
4102
4103 yysetstate:
4104 *yyssp = yystate;
4105
4106 if (yyss + yystacksize - 1 <= yyssp)
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 {
4113 /* Give user a chance to reallocate the stack. Use copies of
4114 these so that the &'s don't force the real ones into
4115 memory. */
4116 cgrammar_YYSTYPE *yyvs1 = yyvs;
4117 yytype_int16 *yyss1 = yyss;
4118
4119
4120 /* Each stack pointer address is followed by the size of the
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"),
4125 &yyss1, yysize * sizeof (*yyssp),
4126 &yyvs1, yysize * sizeof (*yyvsp),
4127
4128 &yystacksize);
4129
4130 yyss = yyss1;
4131 yyvs = yyvs1;
4132 }
4133#else /* no yyoverflow */
4134# ifndef YYSTACK_RELOCATE
4135 goto yyexhaustedlab;
4136# else
4137 /* Extend the stack our own way. */
4138 if (YYMAXDEPTH <= yystacksize)
4139 goto yyexhaustedlab;
4140 yystacksize *= 2;
4141 if (YYMAXDEPTH < yystacksize)
4142 yystacksize = YYMAXDEPTH;
4143
4144 {
4145 yytype_int16 *yyss1 = yyss;
4146 union yyalloc *yyptr =
4147 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
4148 if (! yyptr)
4149 goto yyexhaustedlab;
4150 YYSTACK_RELOCATE (yyss);
4151 YYSTACK_RELOCATE (yyvs);
4152
4153# undef YYSTACK_RELOCATE
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;
4162
4163
4164 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
4165 (unsigned long int) yystacksize));
4166
4167 if (yyss + yystacksize - 1 <= yyssp)
4168 YYABORT;
4169 }
4170
4171 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
4172
4173 goto yybackup;
4174
4175/*-----------.
4176| yybackup. |
4177`-----------*/
4178yybackup:
4179
4180 /* Do appropriate processing given the current state. Read a
4181 look-ahead token if we need one and don't already have one. */
4182
4183 /* First try to decide what to do without reference to look-ahead token. */
4184 yyn = yypact[yystate];
4185 if (yyn == YYPACT_NINF)
4186 goto yydefault;
4187
4188 /* Not known => get a look-ahead token if don't already have one. */
4189
4190 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
4191 if (yychar == YYEMPTY)
4192 {
4193 YYDPRINTF ((stderr, "Reading a token: "));
4194 yychar = YYLEX;
4195 }
4196
4197 if (yychar <= YYEOF)
4198 {
4199 yychar = yytoken = YYEOF;
4200 YYDPRINTF ((stderr, "Now at end of input.\n"));
4201 }
4202 else
4203 {
4204 yytoken = YYTRANSLATE (yychar);
4205 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
4206 }
4207
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)
4212 goto yydefault;
4213 yyn = yytable[yyn];
4214 if (yyn <= 0)
4215 {
4216 if (yyn == 0 || yyn == YYTABLE_NINF)
4217 goto yyerrlab;
4218 yyn = -yyn;
4219 goto yyreduce;
4220 }
4221
4222 if (yyn == YYFINAL)
4223 YYACCEPT;
4224
4225 /* Count tokens shifted since error; after three, turn off error
4226 status. */
4227 if (yyerrstatus)
4228 yyerrstatus--;
4229
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
4237 yystate = yyn;
4238 *++yyvsp = yylval;
4239
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
4263 Otherwise, the following line sets YYVAL to garbage.
4264 This behavior is undocumented and Bison
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
4270
4271 YY_REDUCE_PRINT (yyn);
4272 switch (yyn)
4273 {
4274 case 4:
4275#line 333 "cgrammar.y"
4276 { context_checkGlobalScope (); ;}
4277 break;
4278
4279 case 5:
4280#line 334 "cgrammar.y"
4281 { context_checkGlobalScope (); ;}
4282 break;
4283
4284 case 6:
4285#line 338 "cgrammar.y"
4286 { uentry_clearDecl (); ;}
4287 break;
4288
4289 case 7:
4290#line 339 "cgrammar.y"
4291 { uentry_clearDecl (); ;}
4292 break;
4293
4294 case 8:
4295#line 340 "cgrammar.y"
4296 { uentry_clearDecl (); ;}
4297 break;
4298
4299 case 9:
4300#line 341 "cgrammar.y"
4301 { uentry_clearDecl (); ;}
4302 break;
4303
4304 case 10:
4305#line 342 "cgrammar.y"
4306 { uentry_clearDecl (); ;}
4307 break;
4308
4309 case 11:
4310#line 343 "cgrammar.y"
4311 { uentry_checkDecl (); exprNode_free ((yyvsp[(1) - (1)].expr)); ;}
4312 break;
4313
4314 case 12:
4315#line 344 "cgrammar.y"
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:
4320#line 345 "cgrammar.y"
4321 { uentry_clearDecl (); ;}
4322 break;
4323
4324 case 14:
4325#line 350 "cgrammar.y"
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:
4330#line 352 "cgrammar.y"
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:
4335#line 356 "cgrammar.y"
4336 { context_enterFunctionHeader (); ;}
4337 break;
4338
4339 case 17:
4340#line 357 "cgrammar.y"
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:
4349#line 366 "cgrammar.y"
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:
4358#line 372 "cgrammar.y"
4359 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4360 break;
4361
4362 case 21:
4363#line 378 "cgrammar.y"
4364 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
4365 break;
4366
4367 case 22:
4368#line 382 "cgrammar.y"
4369 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4370 break;
4371
4372 case 23:
4373#line 384 "cgrammar.y"
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:
4378#line 386 "cgrammar.y"
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:
4383#line 388 "cgrammar.y"
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:
4403#line 405 "cgrammar.y"
4404 { setCurrentParams (uentryList_missingParams); ;}
4405 break;
4406
4407 case 27:
4408#line 407 "cgrammar.y"
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:
4440#line 436 "cgrammar.y"
4441 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4442 break;
4443
4444 case 29:
4445#line 438 "cgrammar.y"
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:
4473#line 465 "cgrammar.y"
4474 { (yyval.ntyp) = idDecl_create ((yyvsp[(1) - (1)].cname), qtype_unknown ()); ;}
4475 break;
4476
4477 case 31:
4478#line 467 "cgrammar.y"
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:
4483#line 469 "cgrammar.y"
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:
4490#line 473 "cgrammar.y"
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:
4510#line 490 "cgrammar.y"
4511 { setCurrentParams (uentryList_missingParams); ;}
4512 break;
4513
4514 case 35:
4515#line 492 "cgrammar.y"
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:
4528#line 502 "cgrammar.y"
4529 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4530 break;
4531
4532 case 37:
4533#line 504 "cgrammar.y"
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:
4545#line 516 "cgrammar.y"
4546 { setCurrentParams ((yyvsp[(4) - (5)].entrylist)); ;}
4547 break;
4548
4549 case 39:
4550#line 517 "cgrammar.y"
4551 { clearCurrentParams (); ;}
4552 break;
4553
4554 case 40:
4555#line 518 "cgrammar.y"
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:
4562#line 524 "cgrammar.y"
4563 { exprNode_checkMacroBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4564 break;
4565
4566 case 42:
4567#line 525 "cgrammar.y"
4568 { exprNode_checkIterBody ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok)); ;}
4569 break;
4570
4571 case 43:
4572#line 526 "cgrammar.y"
4573 { exprNode_checkIterEnd ((yyvsp[(2) - (3)].expr)); lltok_free2 ((yyvsp[(1) - (3)].tok), (yyvsp[(3) - (3)].tok));;}
4574 break;
4575
4576 case 44:
4577#line 527 "cgrammar.y"
4578 { exprChecks_checkEmptyMacroBody (); lltok_free2 ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tok)); ;}
4579 break;
4580
4581 case 45:
4582#line 531 "cgrammar.y"
4583 { clabstract_declareFunction ((yyvsp[(1) - (1)].ntyp)); ;}
4584 break;
4585
4586 case 46:
4587#line 536 "cgrammar.y"
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:
4592#line 540 "cgrammar.y"
4593 { cscannerHelp_expectingMetaStateName (); ;}
4594 break;
4595
4596 case 48:
4597#line 541 "cgrammar.y"
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:
4605#line 545 "cgrammar.y"
4606 { cscannerHelp_expectingMetaStateName (); ;}
4607 break;
4608
4609 case 50:
4610#line 546 "cgrammar.y"
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:
4618#line 553 "cgrammar.y"
4619 { (yyval.msexpr) = metaStateExpression_create ((yyvsp[(1) - (1)].msspec)); ;}
4620 break;
4621
4622 case 52:
4623#line 554 "cgrammar.y"
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:
4628#line 569 "cgrammar.y"
4629 { (yyval.conL) = constraintList_add ((yyvsp[(3) - (3)].conL), (yyvsp[(1) - (3)].con)); ;}
4630 break;
4631
4632 case 57:
4633#line 570 "cgrammar.y"
4634 { (yyval.conL) = constraintList_single ((yyvsp[(1) - (1)].con)); ;}
4635 break;
4636
4637 case 58:
4638#line 574 "cgrammar.y"
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:
4645#line 592 "cgrammar.y"
4646 {(yyval.conE) = constraintExpr_parseMakeUnaryOp ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].conE)); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;}
4647 break;
4648
4649 case 66:
4650#line 593 "cgrammar.y"
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:
4657#line 599 "cgrammar.y"
4658 { (yyval.conE) = constraintExpr_makeTermsRef ((yyvsp[(1) - (1)].sr));;}
4659 break;
4660
4661 case 68:
4662#line 600 "cgrammar.y"
4663 { (yyval.conE) = constraintExpr_makeIntLiteral (exprNode_getLongValue ((yyvsp[(1) - (1)].expr))); ;}
4664 break;
4665
4666 case 69:
4667#line 605 "cgrammar.y"
4668 { /*@-onlytrans@*/ (yyval.sr) = checkbufferConstraintClausesId ((yyvsp[(1) - (1)].entry)); /*@=onlytrans@*/ /*@i523@*/ ;}
4669 break;
4670
4671 case 70:
4672#line 607 "cgrammar.y"
4673 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
4674 break;
4675
4676 case 71:
4677#line 609 "cgrammar.y"
4678 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
4679 break;
4680
4681 case 72:
4682#line 611 "cgrammar.y"
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:
4694#line 620 "cgrammar.y"
4695 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
4696 break;
4697
4698 case 74:
4699#line 622 "cgrammar.y"
4700 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
4701 break;
4702
4703 case 75:
4704#line 624 "cgrammar.y"
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:
4709#line 626 "cgrammar.y"
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:
4714#line 654 "cgrammar.y"
4715 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4716 break;
4717
4718 case 81:
4719#line 656 "cgrammar.y"
4720 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4721 break;
4722
4723 case 82:
4724#line 665 "cgrammar.y"
4725 { (yyval.funcclauselist) = functionClauseList_new (); ;}
4726 break;
4727
4728 case 83:
4729#line 667 "cgrammar.y"
4730 { (yyval.funcclauselist) = functionClauseList_prepend ((yyvsp[(2) - (2)].funcclauselist), (yyvsp[(1) - (2)].funcclause)); ;}
4731 break;
4732
4733 case 84:
4734#line 671 "cgrammar.y"
4735 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4736 break;
4737
4738 case 85:
4739#line 672 "cgrammar.y"
4740 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4741 break;
4742
4743 case 86:
4744#line 673 "cgrammar.y"
4745 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4746 break;
4747
4748 case 87:
4749#line 674 "cgrammar.y"
4750 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4751 break;
4752
4753 case 88:
4754#line 675 "cgrammar.y"
4755 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4756 break;
4757
4758 case 89:
4759#line 676 "cgrammar.y"
4760 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4761 break;
4762
4763 case 90:
4764#line 680 "cgrammar.y"
4765 { (yyval.funcclause) = functionClause_createGlobals ((yyvsp[(1) - (1)].globsclause)); ;}
4766 break;
4767
4768 case 91:
4769#line 681 "cgrammar.y"
4770 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4771 break;
4772
4773 case 92:
4774#line 682 "cgrammar.y"
4775 { (yyval.funcclause) = functionClause_createModifies ((yyvsp[(1) - (1)].modsclause)); ;}
4776 break;
4777
4778 case 93:
4779#line 683 "cgrammar.y"
4780 { (yyval.funcclause) = functionClause_createState ((yyvsp[(1) - (1)].stateclause)); ;}
4781 break;
4782
4783 case 94:
4784#line 684 "cgrammar.y"
4785 { (yyval.funcclause) = (yyvsp[(1) - (1)].funcclause); ;}
4786 break;
4787
4788 case 95:
4789#line 685 "cgrammar.y"
4790 { (yyval.funcclause) = functionClause_createWarn ((yyvsp[(1) - (1)].warnclause)); ;}
4791 break;
4792
4793 case 96:
4794#line 689 "cgrammar.y"
4795 { (yyval.globsclause) = (yyvsp[(1) - (2)].globsclause); ;}
4796 break;
4797
4798 case 97:
4799#line 693 "cgrammar.y"
4800 { setProcessingGlobalsList (); ;}
4801 break;
4802
4803 case 98:
4804#line 695 "cgrammar.y"
4805 {
4806 unsetProcessingGlobals ();
4807 (yyval.globsclause) = globalsClause_create ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].globset));
4808 ;}
4809 break;
4810
4811 case 99:
4812#line 702 "cgrammar.y"
4813 { (yyval.modsclause) = modifiesClause_createNoMods ((yyvsp[(1) - (1)].tok)); ;}
4814 break;
4815
4816 case 100:
4817#line 706 "cgrammar.y"
4818 { (yyval.modsclause) = (yyvsp[(1) - (2)].modsclause); ;}
4819 break;
4820
4821 case 101:
4822#line 711 "cgrammar.y"
4823 {
4824 context_setProtectVars (); enterParamsTemp ();
4825 sRef_setGlobalScopeSafe ();
4826 ;}
4827 break;
4828
4829 case 102:
4830#line 716 "cgrammar.y"
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:
4840#line 726 "cgrammar.y"
4841 { (yyval.flagspec) = flagSpec_createPlain ((yyvsp[(1) - (1)].cname)); ;}
4842 break;
4843
4844 case 104:
4845#line 728 "cgrammar.y"
4846 { (yyval.flagspec) = flagSpec_createOr ((yyvsp[(1) - (3)].cname), (yyvsp[(3) - (3)].flagspec)); ;}
4847 break;
4848
4849 case 107:
4850#line 737 "cgrammar.y"
4851 { (yyval.warnclause) = warnClause_undefined; ;}
4852 break;
4853
4854 case 108:
4855#line 741 "cgrammar.y"
4856 { (yyval.warnclause) = (yyvsp[(1) - (2)].warnclause); ;}
4857 break;
4858
4859 case 109:
4860#line 746 "cgrammar.y"
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:
4869#line 752 "cgrammar.y"
4870 { (yyval.warnclause) = warnClause_create ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].flagspec), cstring_undefined); ;}
4871 break;
4872
4873 case 111:
4874#line 756 "cgrammar.y"
4875 { (yyval.globset) = globSet_single ((yyvsp[(1) - (1)].sr)); ;}
4876 break;
4877
4878 case 112:
4879#line 757 "cgrammar.y"
4880 { (yyval.globset) = globSet_insert ((yyvsp[(1) - (3)].globset), (yyvsp[(3) - (3)].sr)); ;}
4881 break;
4882
4883 case 113:
4884#line 761 "cgrammar.y"
4885 { (yyval.sr) = clabstract_createGlobal ((yyvsp[(2) - (2)].sr), (yyvsp[(1) - (2)].tquallist)); ;}
4886 break;
4887
4888 case 114:
4889#line 765 "cgrammar.y"
4890 { (yyval.tquallist) = qualList_undefined; ;}
4891 break;
4892
4893 case 115:
4894#line 766 "cgrammar.y"
4895 { (yyval.tquallist) = qualList_add ((yyvsp[(2) - (2)].tquallist), (yyvsp[(1) - (2)].typequal)); ;}
4896 break;
4897
4898 case 116:
4899#line 770 "cgrammar.y"
4900 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); ;}
4901 break;
4902
4903 case 117:
4904#line 771 "cgrammar.y"
4905 { (yyval.sr) = clabstract_unrecognizedGlobal ((yyvsp[(1) - (1)].cname)); ;}
4906 break;
4907
4908 case 118:
4909#line 772 "cgrammar.y"
4910 { (yyval.sr) = clabstract_checkGlobal ((yyvsp[(1) - (1)].expr)); ;}
4911 break;
4912
4913 case 119:
4914#line 776 "cgrammar.y"
4915 { (yyval.typequal) = qual_createUndef (); ;}
4916 break;
4917
4918 case 120:
4919#line 777 "cgrammar.y"
4920 { (yyval.typequal) = qual_createKilled (); ;}
4921 break;
4922
4923 case 121:
4924#line 778 "cgrammar.y"
4925 { (yyval.typequal) = qual_createOut (); ;}
4926 break;
4927
4928 case 122:
4929#line 779 "cgrammar.y"
4930 { (yyval.typequal) = qual_createIn (); ;}
4931 break;
4932
4933 case 123:
4934#line 780 "cgrammar.y"
4935 { (yyval.typequal) = qual_createPartial (); ;}
4936 break;
4937
4938 case 131:
4939#line 798 "cgrammar.y"
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:
4949#line 805 "cgrammar.y"
4950 { (yyval.ntyp) = idDecl_fixBase ((yyvsp[(3) - (3)].ntyp), (yyvsp[(1) - (3)].qtyp)); ;}
4951 break;
4952
4953 case 133:
4954#line 809 "cgrammar.y"
4955 { checkDoneParams (); context_enterInnerContext (); ;}
4956 break;
4957
4958 case 134:
4959#line 811 "cgrammar.y"
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:
4967#line 815 "cgrammar.y"
4968 { context_enterOldStyleScope (); ;}
4969 break;
4970
4971 case 136:
4972#line 816 "cgrammar.y"
4973 { oldStyleDoneParams (); context_enterInnerContext (); ;}
4974 break;
4975
4976 case 137:
4977#line 818 "cgrammar.y"
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:
4986#line 827 "cgrammar.y"
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:
4997#line 837 "cgrammar.y"
4998 { (yyval.srset) = (yyvsp[(1) - (2)].srset); ;}
4999 break;
5000
5001 case 140:
5002#line 838 "cgrammar.y"
5003 { (yyval.srset) = sRefSet_new (); ;}
5004 break;
5005
5006 case 141:
5007#line 842 "cgrammar.y"
5008 { (yyval.sr) = uentry_getSref ((yyvsp[(1) - (1)].entry)); checkModifiesId ((yyvsp[(1) - (1)].entry)); ;}
5009 break;
5010
5011 case 142:
5012#line 843 "cgrammar.y"
5013 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5014 break;
5015
5016 case 143:
5017#line 844 "cgrammar.y"
5018 { (yyval.sr) = fixModifiesId ((yyvsp[(1) - (1)].cname)); ;}
5019 break;
5020
5021 case 144:
5022#line 845 "cgrammar.y"
5023 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (3)].sr), sRef_undefined); ;}
5024 break;
5025
5026 case 145:
5027#line 846 "cgrammar.y"
5028 { (yyval.sr) = modListArrayFetch ((yyvsp[(1) - (4)].sr), (yyvsp[(3) - (4)].sr)); ;}
5029 break;
5030
5031 case 146:
5032#line 847 "cgrammar.y"
5033 { (yyval.sr) = modListPointer ((yyvsp[(2) - (2)].sr)); ;}
5034 break;
5035
5036 case 147:
5037#line 848 "cgrammar.y"
5038 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5039 break;
5040
5041 case 148:
5042#line 849 "cgrammar.y"
5043 { (yyval.sr) = modListFieldAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5044 break;
5045
5046 case 149:
5047#line 850 "cgrammar.y"
5048 { (yyval.sr) = modListArrowAccess ((yyvsp[(1) - (3)].sr), (yyvsp[(3) - (3)].cname)); ;}
5049 break;
5050
5051 case 150:
5052#line 854 "cgrammar.y"
5053 { (yyval.sr) = (yyvsp[(1) - (1)].sr); ;}
5054 break;
5055
5056 case 151:
5057#line 855 "cgrammar.y"
5058 { (yyval.sr) = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;}
5059 break;
5060
5061 case 152:
5062#line 860 "cgrammar.y"
5063 { (yyval.srset) = sRefSet_single ((yyvsp[(1) - (1)].sr)); ;}
5064 break;
5065
5066 case 153:
5067#line 861 "cgrammar.y"
5068 { (yyval.srset) = sRefSet_insert ((yyvsp[(1) - (3)].srset), (yyvsp[(3) - (3)].sr)); ;}
5069 break;
5070
5071 case 154:
5072#line 866 "cgrammar.y"
5073 { (yyval.sr) = checkStateClausesId ((yyvsp[(1) - (1)].entry)); ;}
5074 break;
5075
5076 case 155:
5077#line 868 "cgrammar.y"
5078 { (yyval.sr) = fixStateClausesId ((yyvsp[(1) - (1)].cname)); ;}
5079 break;
5080
5081 case 156:
5082#line 869 "cgrammar.y"
5083 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (3)].sr)); ;}
5084 break;
5085
5086 case 157:
5087#line 870 "cgrammar.y"
5088 { (yyval.sr) = sRef_makeAnyArrayFetch ((yyvsp[(1) - (4)].sr)); ;}
5089 break;
5090
5091 case 158:
5092#line 871 "cgrammar.y"
5093 { (yyval.sr) = sRef_constructPointer ((yyvsp[(2) - (2)].sr)); ;}
5094 break;
5095
5096 case 159:
5097#line 872 "cgrammar.y"
5098 { (yyval.sr) = (yyvsp[(2) - (3)].sr); ;}
5099 break;
5100
5101 case 160:
5102#line 873 "cgrammar.y"
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:
5108#line 875 "cgrammar.y"
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:
5114#line 880 "cgrammar.y"
5115 { DPRINTF ((message("Empty optSpecClauseList") )); (yyval.srset) = sRefSet_undefined ;}
5116 break;
5117
5118 case 164:
5119#line 886 "cgrammar.y"
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:
5128#line 892 "cgrammar.y"
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:
5141#line 904 "cgrammar.y"
5142 { (yyval.expr) = exprNode_fromIdentifier ((yyvsp[(1) - (1)].entry)); ;}
5143 break;
5144
5145 case 167:
5146#line 905 "cgrammar.y"
5147 { (yyval.expr) = exprNode_fromUIO ((yyvsp[(1) - (1)].cname)); ;}
5148 break;
5149
5150 case 169:
5151#line 907 "cgrammar.y"
5152 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
5153 break;
5154
5155 case 170:
5156#line 908 "cgrammar.y"
5157 { (yyval.expr) = exprNode_fromIdentifier (cscannerHelp_coerceId ((yyvsp[(1) - (1)].cname))); ;}
5158 break;
5159
5160 case 171:
5161#line 909 "cgrammar.y"
5162 { (yyval.expr) = exprNode_makeError (); ;}
5163 break;
5164
5165 case 172:
5166#line 910 "cgrammar.y"
5167 { exprChecks_inCompoundStatementExpression (); ;}
5168 break;
5169
5170 case 173:
5171#line 912 "cgrammar.y"
5172 { exprChecks_leaveCompoundStatementExpression (); (yyval.expr) = exprNode_compoundStatementExpression ((yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].expr)); ;}
5173 break;
5174
5175 case 175:
5176#line 917 "cgrammar.y"
5177 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
5178 break;
5179
5180 case 176:
5181#line 918 "cgrammar.y"
5182 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
5183 break;
5184
5185 case 177:
5186#line 919 "cgrammar.y"
5187 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
5188 break;
5189
5190 case 178:
5191#line 920 "cgrammar.y"
5192 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
5193 break;
5194
5195 case 179:
5196#line 921 "cgrammar.y"
5197 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5198 break;
5199
5200 case 180:
5201#line 922 "cgrammar.y"
5202 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
5203 break;
5204
5205 case 181:
5206#line 923 "cgrammar.y"
5207 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5208 break;
5209
5210 case 182:
5211#line 924 "cgrammar.y"
5212 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
5213 break;
5214
5215 case 183:
5216#line 926 "cgrammar.y"
5217 { /* added for C99 */ (yyval.expr) = exprNode_undefined; /*@i87 no checking */ ;}
5218 break;
5219
5220 case 184:
5221#line 930 "cgrammar.y"
5222 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5223 break;
5224
5225 case 185:
5226#line 931 "cgrammar.y"
5227 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5228 break;
5229
5230 case 187:
5231#line 936 "cgrammar.y"
5232 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5233 break;
5234
5235 case 188:
5236#line 937 "cgrammar.y"
5237 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5238 break;
5239
5240 case 189:
5241#line 938 "cgrammar.y"
5242 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5243 break;
5244
5245 case 190:
5246#line 939 "cgrammar.y"
5247 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5248 break;
5249
5250 case 191:
5251#line 940 "cgrammar.y"
5252 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5253 break;
5254
5255 case 192:
5256#line 941 "cgrammar.y"
5257 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5258 break;
5259
5260 case 193:
5261#line 942 "cgrammar.y"
5262 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5263 break;
5264
5265 case 194:
5266#line 943 "cgrammar.y"
5267 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
5268 break;
5269
5270 case 195:
5271#line 944 "cgrammar.y"
5272 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
5273 break;
5274
5275 case 196:
5276#line 945 "cgrammar.y"
5277 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5278 break;
5279
5280 case 197:
5281#line 949 "cgrammar.y"
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:
5286#line 950 "cgrammar.y"
5287 { (yyval.cstringlist) = (yyvsp[(1) - (4)].cstringlist); lltok_free2 ((yyvsp[(2) - (4)].tok), (yyvsp[(4) - (4)].tok)); ;}
5288 break;
5289
5290 case 199:
5291#line 952 "cgrammar.y"
5292 { (yyval.cstringlist) = cstringList_single ((yyvsp[(1) - (1)].cname)); ;}
5293 break;
5294
5295 case 200:
5296#line 957 "cgrammar.y"
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:
5302#line 962 "cgrammar.y"
5303 { context_setProtectVars (); ;}
5304 break;
5305
5306 case 202:
5307#line 963 "cgrammar.y"
5308 { context_sizeofReleaseVars (); (yyval.expr) = (yyvsp[(3) - (3)].expr); ;}
5309 break;
5310
5311 case 203:
5312#line 966 "cgrammar.y"
5313 {context_enterSizeof();}
5314 break;
5315
5316 case 204:
5317#line 969 "cgrammar.y"
5318 {context_leaveSizeof();}
5319 break;
5320
5321 case 205:
5322#line 973 "cgrammar.y"
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:
5327#line 974 "cgrammar.y"
5328 { (yyval.expr) = exprNode_sizeofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5329 break;
5330
5331 case 207:
5332#line 975 "cgrammar.y"
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:
5337#line 976 "cgrammar.y"
5338 { (yyval.expr) = exprNode_alignofExpr ((yyvsp[(2) - (2)].expr)); lltok_free ((yyvsp[(1) - (2)].tok)); ;}
5339 break;
5340
5341 case 210:
5342#line 984 "cgrammar.y"
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:
5347#line 989 "cgrammar.y"
5348 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5349 break;
5350
5351 case 213:
5352#line 990 "cgrammar.y"
5353 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5354 break;
5355
5356 case 214:
5357#line 991 "cgrammar.y"
5358 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5359 break;
5360
5361 case 216:
5362#line 996 "cgrammar.y"
5363 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5364 break;
5365
5366 case 217:
5367#line 997 "cgrammar.y"
5368 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5369 break;
5370
5371 case 219:
5372#line 1002 "cgrammar.y"
5373 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5374 break;
5375
5376 case 220:
5377#line 1003 "cgrammar.y"
5378 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5379 break;
5380
5381 case 222:
5382#line 1008 "cgrammar.y"
5383 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5384 break;
5385
5386 case 223:
5387#line 1009 "cgrammar.y"
5388 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5389 break;
5390
5391 case 224:
5392#line 1010 "cgrammar.y"
5393 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5394 break;
5395
5396 case 225:
5397#line 1011 "cgrammar.y"
5398 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5399 break;
5400
5401 case 227:
5402#line 1016 "cgrammar.y"
5403 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5404 break;
5405
5406 case 228:
5407#line 1017 "cgrammar.y"
5408 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5409 break;
5410
5411 case 230:
5412#line 1022 "cgrammar.y"
5413 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5414 break;
5415
5416 case 232:
5417#line 1027 "cgrammar.y"
5418 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5419 break;
5420
5421 case 234:
5422#line 1032 "cgrammar.y"
5423 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5424 break;
5425
5426 case 236:
5427#line 1038 "cgrammar.y"
5428 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5429 context_enterAndClause ((yyvsp[(1) - (2)].expr));
5430 ;}
5431 break;
5432
5433 case 237:
5434#line 1042 "cgrammar.y"
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:
5442#line 1051 "cgrammar.y"
5443 {
5444 exprNode_produceGuards ((yyvsp[(1) - (2)].expr));
5445 context_enterOrClause ((yyvsp[(1) - (2)].expr));
5446 ;}
5447 break;
5448
5449 case 240:
5450#line 1056 "cgrammar.y"
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:
5458#line 1065 "cgrammar.y"
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:
5464#line 1067 "cgrammar.y"
5465 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
5466 break;
5467
5468 case 244:
5469#line 1068 "cgrammar.y"
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:
5474#line 1069 "cgrammar.y"
5475 { exprNode_produceGuards ((yyvsp[(1) - (2)].expr)); context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
5476 break;
5477
5478 case 246:
5479#line 1070 "cgrammar.y"
5480 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
5481 break;
5482
5483 case 247:
5484#line 1071 "cgrammar.y"
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:
5489#line 1076 "cgrammar.y"
5490 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5491 break;
5492
5493 case 250:
5494#line 1077 "cgrammar.y"
5495 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5496 break;
5497
5498 case 251:
5499#line 1078 "cgrammar.y"
5500 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5501 break;
5502
5503 case 252:
5504#line 1079 "cgrammar.y"
5505 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5506 break;
5507
5508 case 253:
5509#line 1080 "cgrammar.y"
5510 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5511 break;
5512
5513 case 254:
5514#line 1081 "cgrammar.y"
5515 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5516 break;
5517
5518 case 255:
5519#line 1082 "cgrammar.y"
5520 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5521 break;
5522
5523 case 256:
5524#line 1083 "cgrammar.y"
5525 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5526 break;
5527
5528 case 257:
5529#line 1084 "cgrammar.y"
5530 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5531 break;
5532
5533 case 258:
5534#line 1085 "cgrammar.y"
5535 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5536 break;
5537
5538 case 259:
5539#line 1086 "cgrammar.y"
5540 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
5541 break;
5542
5543 case 261:
5544#line 1091 "cgrammar.y"
5545 { (yyval.expr) = exprNode_comma ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
5546 break;
5547
5548 case 262:
5549#line 1095 "cgrammar.y"
5550 { (yyval.expr) = exprNode_undefined; ;}
5551 break;
5552
5553 case 265:
5554#line 1106 "cgrammar.y"
5555 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5556 break;
5557
5558 case 266:
5559#line 1107 "cgrammar.y"
5560 { doVaDcl (); (yyval.expr) = exprNode_makeError (); ;}
5561 break;
5562
5563 case 267:
5564#line 1108 "cgrammar.y"
5565 { (yyval.expr) = exprNode_makeError (); ;}
5566 break;
5567
5568 case 268:
5569#line 1113 "cgrammar.y"
5570 { (yyval.expr) = exprNode_makeError (); ;}
5571 break;
5572
5573 case 269:
5574#line 1127 "cgrammar.y"
5575 {
5576 setProcessingVars ((yyvsp[(1) - (4)].qtyp));
5577 processNamedDecl ((yyvsp[(3) - (4)].ntyp));
5578 ;}
5579 break;
5580
5581 case 270:
5582#line 1132 "cgrammar.y"
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:
5591#line 1138 "cgrammar.y"
5592 { setProcessingVars ((yyvsp[(1) - (5)].qtyp)); processNamedDecl ((yyvsp[(3) - (5)].ntyp)); ;}
5593 break;
5594
5595 case 272:
5596#line 1140 "cgrammar.y"
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:
5603#line 1146 "cgrammar.y"
5604 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
5605 break;
5606
5607 case 274:
5608#line 1147 "cgrammar.y"
5609 { (yyval.expr) = exprNode_fromIdentifier (usymtab_getTypeEntry (ctype_typeId ((yyvsp[(1) - (1)].ctyp)))); ;}
5610 break;
5611
5612 case 275:
5613#line 1152 "cgrammar.y"
5614 {
5615 processNamedDecl ((yyvsp[(1) - (2)].ntyp));
5616 (yyval.expr) = exprNode_makeEmptyInitialization ((yyvsp[(1) - (2)].ntyp));
5617 ;}
5618 break;
5619
5620 case 276:
5621#line 1156 "cgrammar.y"
5622 { processNamedDecl ((yyvsp[(1) - (3)].ntyp)); ;}
5623 break;
5624
5625 case 277:
5626#line 1157 "cgrammar.y"
5627 { (yyval.expr) = exprNode_makeInitialization ((yyvsp[(1) - (6)].ntyp), (yyvsp[(6) - (6)].expr)); ;}
5628 break;
5629
5630 case 278:
5631#line 1161 "cgrammar.y"
5632 { setProcessingTypedef ((yyvsp[(2) - (2)].qtyp)); ;}
5633 break;
5634
5635 case 279:
5636#line 1163 "cgrammar.y"
5637 { clabstract_declareType ((yyvsp[(5) - (8)].exprlist), (yyvsp[(7) - (8)].warnclause)); ;}
5638 break;
5639
5640 case 280:
5641#line 1164 "cgrammar.y"
5642 { /* in the ANSI grammar, semantics unclear */ ;}
5643 break;
5644
5645 case 281:
5646#line 1165 "cgrammar.y"
5647 { /* in the ANSI grammar, semantics unclear */ ;}
5648 break;
5649
5650 case 282:
5651#line 1169 "cgrammar.y"
5652 { cscannerHelp_setExpectingTypeName (); ;}
5653 break;
5654
5655 case 283:
5656#line 1173 "cgrammar.y"
5657 { cscannerHelp_setExpectingTypeName (); context_pushLoc (); ;}
5658 break;
5659
5660 case 284:
5661#line 1177 "cgrammar.y"
5662 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5663 break;
5664
5665 case 285:
5666#line 1181 "cgrammar.y"
5667 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5668 break;
5669
5670 case 286:
5671#line 1182 "cgrammar.y"
5672 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5673 break;
5674
5675 case 287:
5676#line 1186 "cgrammar.y"
5677 { (yyval.exprlist) = (yyvsp[(1) - (2)].exprlist); ;}
5678 break;
5679
5680 case 288:
5681#line 1190 "cgrammar.y"
5682 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5683 break;
5684
5685 case 289:
5686#line 1191 "cgrammar.y"
5687 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
5688 break;
5689
5690 case 290:
5691#line 1195 "cgrammar.y"
5692 { (yyval.expr) = exprNode_makeError (); ;}
5693 break;
5694
5695 case 291:
5696#line 1196 "cgrammar.y"
5697 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].expr)); ;}
5698 break;
5699
5700 case 293:
5701#line 1201 "cgrammar.y"
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:
5706#line 1202 "cgrammar.y"
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:
5711#line 1203 "cgrammar.y"
5712 { (yyval.expr) = exprNode_undefined; ;}
5713 break;
5714
5715 case 296:
5716#line 1211 "cgrammar.y"
5717 { (yyval.expr) = (yyvsp[(1) - (2)].expr); ;}
5718 break;
5719
5720 case 297:
5721#line 1212 "cgrammar.y"
5722 { (yyval.expr) = exprNode_undefined;
5723 /* gcc extension, obsolete since 2.5 */ ;}
5724 break;
5725
5726 case 298:
5727#line 1217 "cgrammar.y"
5728 { (yyval.expr) = exprNode_undefined; ;}
5729 break;
5730
5731 case 299:
5732#line 1218 "cgrammar.y"
5733 { (yyval.expr) = exprNode_undefined; ;}
5734 break;
5735
5736 case 300:
5737#line 1222 "cgrammar.y"
5738 { (yyval.expr) = exprNode_undefined; ;}
5739 break;
5740
5741 case 301:
5742#line 1223 "cgrammar.y"
5743 { (yyval.expr) = exprNode_undefined; ;}
5744 break;
5745
5746 case 302:
5747#line 1228 "cgrammar.y"
5748 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
5749 break;
5750
5751 case 303:
5752#line 1230 "cgrammar.y"
5753 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (3)].exprlist), (yyvsp[(3) - (3)].expr)); ;}
5754 break;
5755
5756 case 304:
5757#line 1239 "cgrammar.y"
5758 { setStorageClass (SCEXTERN); (yyval.typequal) = qual_createExtern (); ;}
5759 break;
5760
5761 case 305:
5762#line 1240 "cgrammar.y"
5763 { (yyval.typequal) = qual_createInline (); ;}
5764 break;
5765
5766 case 306:
5767#line 1241 "cgrammar.y"
5768 { setStorageClass (SCSTATIC); (yyval.typequal) = qual_createStatic (); ;}
5769 break;
5770
5771 case 307:
5772#line 1242 "cgrammar.y"
5773 { (yyval.typequal) = qual_createAuto (); ;}
5774 break;
5775
5776 case 308:
5777#line 1243 "cgrammar.y"
5778 { (yyval.typequal) = qual_createRegister (); ;}
5779 break;
5780
5781 case 309:
5782#line 1247 "cgrammar.y"
5783 { (yyval.stateclause) = (yyvsp[(1) - (2)].stateclause); ;}
5784 break;
5785
5786 case 310:
5787#line 1252 "cgrammar.y"
5788 {
5789 context_setProtectVars ();
5790 enterParamsTemp ();
5791 sRef_setGlobalScopeSafe ();
5792 ;}
5793 break;
5794
5795 case 311:
5796#line 1258 "cgrammar.y"
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:
5806#line 1267 "cgrammar.y"
5807 { (yyval.funcclause) = (yyvsp[(1) - (2)].funcclause); ;}
5808 break;
5809
5810 case 313:
5811#line 1271 "cgrammar.y"
5812 { (yyval.tok) = (yyvsp[(1) - (2)].tok); context_enterFunctionHeader (); ;}
5813 break;
5814
5815 case 314:
5816#line 1276 "cgrammar.y"
5817 {
5818 context_exitFunctionHeader ();
5819 context_setProtectVars ();
5820 enterParamsTemp ();
5821 sRef_setGlobalScopeSafe ();
5822 ;}
5823 break;
5824
5825 case 315:
5826#line 1283 "cgrammar.y"
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:
5836#line 1290 "cgrammar.y"
5837 {
5838 context_setProtectVars ();
5839 enterParamsTemp ();
5840 sRef_setGlobalScopeSafe ();
5841 ;}
5842 break;
5843
5844 case 317:
5845#line 1296 "cgrammar.y"
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:
5871#line 1321 "cgrammar.y"
5872 { (yyval.fcnconstraint) = functionConstraint_createBufferConstraint ((yyvsp[(1) - (1)].conL)); ;}
5873 break;
5874
5875 case 319:
5876#line 1322 "cgrammar.y"
5877 { (yyval.fcnconstraint) = functionConstraint_createMetaStateConstraint ((yyvsp[(1) - (1)].msconstraint)); DPRINTF (("Made constraint: %s", functionConstraint_unparse ((yyval.fcnconstraint)))); ;}
5878 break;
5879
5880 case 320:
5881#line 1326 "cgrammar.y"
5882 { (yyval.typequal) = qual_createExits (); ;}
5883 break;
5884
5885 case 321:
5886#line 1327 "cgrammar.y"
5887 { (yyval.typequal) = qual_createMayExit (); ;}
5888 break;
5889
5890 case 322:
5891#line 1328 "cgrammar.y"
5892 { (yyval.typequal) = qual_createTrueExit (); ;}
5893 break;
5894
5895 case 323:
5896#line 1329 "cgrammar.y"
5897 { (yyval.typequal) = qual_createFalseExit (); ;}
5898 break;
5899
5900 case 324:
5901#line 1330 "cgrammar.y"
5902 { (yyval.typequal) = qual_createNeverExit (); ;}
5903 break;
5904
5905 case 325:
5906#line 1334 "cgrammar.y"
5907 { (yyval.typequal) = qual_createChecked (); ;}
5908 break;
5909
5910 case 326:
5911#line 1335 "cgrammar.y"
5912 { (yyval.typequal) = qual_createCheckMod (); ;}
5913 break;
5914
5915 case 327:
5916#line 1336 "cgrammar.y"
5917 { (yyval.typequal) = qual_createUnchecked (); ;}
5918 break;
5919
5920 case 328:
5921#line 1337 "cgrammar.y"
5922 { (yyval.typequal) = qual_createCheckedStrict (); ;}
5923 break;
5924
5925 case 329:
5926#line 1341 "cgrammar.y"
5927 { (yyval.typequal) = qual_createOwned (); ;}
5928 break;
5929
5930 case 330:
5931#line 1342 "cgrammar.y"
5932 { (yyval.typequal) = qual_createDependent (); ;}
5933 break;
5934
5935 case 331:
5936#line 1343 "cgrammar.y"
5937 { (yyval.typequal) = qual_createYield (); ;}
5938 break;
5939
5940 case 332:
5941#line 1344 "cgrammar.y"
5942 { (yyval.typequal) = qual_createTemp (); ;}
5943 break;
5944
5945 case 333:
5946#line 1345 "cgrammar.y"
5947 { (yyval.typequal) = qual_createOnly (); ;}
5948 break;
5949
5950 case 334:
5951#line 1346 "cgrammar.y"
5952 { (yyval.typequal) = qual_createKeep (); ;}
5953 break;
5954
5955 case 335:
5956#line 1347 "cgrammar.y"
5957 { (yyval.typequal) = qual_createKept (); ;}
5958 break;
5959
5960 case 336:
5961#line 1348 "cgrammar.y"
5962 { (yyval.typequal) = qual_createShared (); ;}
5963 break;
5964
5965 case 337:
5966#line 1349 "cgrammar.y"
5967 { (yyval.typequal) = qual_createUnique (); ;}
5968 break;
5969
5970 case 338:
5971#line 1350 "cgrammar.y"
5972 { (yyval.typequal) = qual_createNull (); ;}
5973 break;
5974
5975 case 339:
5976#line 1351 "cgrammar.y"
5977 { (yyval.typequal) = qual_createIsNull (); ;}
5978 break;
5979
5980 case 340:
5981#line 1352 "cgrammar.y"
5982 { (yyval.typequal) = qual_createRelNull (); ;}
5983 break;
5984
5985 case 341:
5986#line 1353 "cgrammar.y"
5987 { (yyval.typequal) = qual_createNotNull (); ;}
5988 break;
5989
5990 case 342:
5991#line 1354 "cgrammar.y"
5992 { (yyval.typequal) = qual_createExposed (); ;}
5993 break;
5994
5995 case 343:
5996#line 1355 "cgrammar.y"
5997 { (yyval.typequal) = qual_createObserver (); ;}
5998 break;
5999
6000 case 344:
6001#line 1356 "cgrammar.y"
6002 { (yyval.typequal) = qual_createNullTerminated (); ;}
6003 break;
6004
6005 case 345:
6006#line 1357 "cgrammar.y"
6007 { (yyval.typequal) = qual_createMetaState ((yyvsp[(1) - (1)].annotation)); ;}
6008 break;
6009
6010 case 346:
6011#line 1361 "cgrammar.y"
6012 { (yyval.typequal) = qual_createReturned (); ;}
6013 break;
6014
6015 case 347:
6016#line 1362 "cgrammar.y"
6017 { (yyval.typequal) = qual_createSef (); ;}
6018 break;
6019
6020 case 348:
6021#line 1366 "cgrammar.y"
6022 { (yyval.typequal) = qual_createUnused (); ;}
6023 break;
6024
6025 case 349:
6026#line 1367 "cgrammar.y"
6027 { (yyval.typequal) = qual_createExternal (); ;}
6028 break;
6029
6030 case 350:
6031#line 1371 "cgrammar.y"
6032 { (yyval.typequal) = qual_createTrueNull (); ;}
6033 break;
6034
6035 case 351:
6036#line 1372 "cgrammar.y"
6037 { (yyval.typequal) = qual_createFalseNull (); ;}
6038 break;
6039
6040 case 352:
6041#line 1376 "cgrammar.y"
6042 { (yyval.typequal) = qual_createAbstract (); ;}
6043 break;
6044
6045 case 353:
6046#line 1377 "cgrammar.y"
6047 { (yyval.typequal) = qual_createNumAbstract (); ;}
6048 break;
6049
6050 case 354:
6051#line 1378 "cgrammar.y"
6052 { (yyval.typequal) = qual_createConcrete (); ;}
6053 break;
6054
6055 case 355:
6056#line 1379 "cgrammar.y"
6057 { (yyval.typequal) = qual_createMutable (); ;}
6058 break;
6059
6060 case 356:
6061#line 1380 "cgrammar.y"
6062 { (yyval.typequal) = qual_createImmutable (); ;}
6063 break;
6064
6065 case 357:
6066#line 1384 "cgrammar.y"
6067 { (yyval.typequal) = qual_createRefCounted (); ;}
6068 break;
6069
6070 case 358:
6071#line 1385 "cgrammar.y"
6072 { (yyval.typequal) = qual_createRefs (); ;}
6073 break;
6074
6075 case 359:
6076#line 1386 "cgrammar.y"
6077 { (yyval.typequal) = qual_createKillRef (); ;}
6078 break;
6079
6080 case 360:
6081#line 1387 "cgrammar.y"
6082 { (yyval.typequal) = qual_createRelDef (); ;}
6083 break;
6084
6085 case 361:
6086#line 1388 "cgrammar.y"
6087 { (yyval.typequal) = qual_createNewRef (); ;}
6088 break;
6089
6090 case 362:
6091#line 1389 "cgrammar.y"
6092 { (yyval.typequal) = qual_createTempRef (); ;}
6093 break;
6094
6095 case 363:
6096#line 1393 "cgrammar.y"
6097 { (yyval.typequal) = qual_createShort (); ;}
6098 break;
6099
6100 case 364:
6101#line 1394 "cgrammar.y"
6102 { (yyval.typequal) = qual_createLong (); ;}
6103 break;
6104
6105 case 365:
6106#line 1395 "cgrammar.y"
6107 { (yyval.typequal) = qual_createSigned (); ;}
6108 break;
6109
6110 case 366:
6111#line 1396 "cgrammar.y"
6112 { (yyval.typequal) = qual_createUnsigned (); ;}
6113 break;
6114
6115 case 367:
6116#line 1400 "cgrammar.y"
6117 { (yyval.typequal) = qual_createOut (); ;}
6118 break;
6119
6120 case 368:
6121#line 1401 "cgrammar.y"
6122 { (yyval.typequal) = qual_createIn (); ;}
6123 break;
6124
6125 case 369:
6126#line 1402 "cgrammar.y"
6127 { (yyval.typequal) = qual_createPartial (); ;}
6128 break;
6129
6130 case 370:
6131#line 1403 "cgrammar.y"
6132 { (yyval.typequal) = qual_createSpecial (); ;}
6133 break;
6134
6135 case 371:
6136#line 1407 "cgrammar.y"
6137 { (yyval.typequal) = qual_createConst (); ;}
6138 break;
6139
6140 case 372:
6141#line 1408 "cgrammar.y"
6142 { (yyval.typequal) = qual_createVolatile (); ;}
6143 break;
6144
6145 case 373:
6146#line 1409 "cgrammar.y"
6147 { (yyval.typequal) = qual_createRestrict (); ;}
6148 break;
6149
6150 case 374:
6151#line 1410 "cgrammar.y"
6152 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6153 break;
6154
6155 case 375:
6156#line 1411 "cgrammar.y"
6157 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6158 break;
6159
6160 case 376:
6161#line 1412 "cgrammar.y"
6162 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6163 break;
6164
6165 case 377:
6166#line 1413 "cgrammar.y"
6167 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6168 break;
6169
6170 case 378:
6171#line 1414 "cgrammar.y"
6172 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6173 break;
6174
6175 case 379:
6176#line 1415 "cgrammar.y"
6177 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6178 break;
6179
6180 case 380:
6181#line 1416 "cgrammar.y"
6182 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6183 break;
6184
6185 case 381:
6186#line 1417 "cgrammar.y"
6187 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6188 break;
6189
6190 case 382:
6191#line 1418 "cgrammar.y"
6192 { (yyval.typequal) = (yyvsp[(1) - (2)].typequal); ;}
6193 break;
6194
6195 case 389:
6196#line 1432 "cgrammar.y"
6197 { (yyval.ctyp) = ctype_makeAnytype (); ;}
6198 break;
6199
6200 case 390:
6201#line 1433 "cgrammar.y"
6202 { (yyval.ctyp) = ctype_anyintegral; ;}
6203 break;
6204
6205 case 391:
6206#line 1434 "cgrammar.y"
6207 { (yyval.ctyp) = ctype_unsignedintegral; ;}
6208 break;
6209
6210 case 392:
6211#line 1435 "cgrammar.y"
6212 { (yyval.ctyp) = ctype_signedintegral; ;}
6213 break;
6214
6215 case 396:
6216#line 1439 "cgrammar.y"
6217 { (yyval.ctyp) = ctype_fromQual ((yyvsp[(1) - (2)].typequal)); ;}
6218 break;
6219
6220 case 397:
6221#line 1444 "cgrammar.y"
6222 { (yyval.qtyp) = qtype_resolve ((yyvsp[(2) - (3)].qtyp)); ;}
6223 break;
6224
6225 case 398:
6226#line 1448 "cgrammar.y"
6227 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6228 break;
6229
6230 case 399:
6231#line 1450 "cgrammar.y"
6232 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (4)].qtyp), (yyvsp[(3) - (4)].qtyp)); ;}
6233 break;
6234
6235 case 401:
6236#line 1456 "cgrammar.y"
6237 { (yyval.qtyp) = qtype_mergeAlt ((yyvsp[(1) - (3)].qtyp), (yyvsp[(3) - (3)].qtyp)); ;}
6238 break;
6239
6240 case 402:
6241#line 1460 "cgrammar.y"
6242 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6243 break;
6244
6245 case 403:
6246#line 1461 "cgrammar.y"
6247 { (yyval.qtyp) = qtype_addQual ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].typequal)); ;}
6248 break;
6249
6250 case 404:
6251#line 1462 "cgrammar.y"
6252 { (yyval.qtyp) = qtype_combine ((yyvsp[(2) - (2)].qtyp), (yyvsp[(1) - (2)].ctyp)); ;}
6253 break;
6254
6255 case 405:
6256#line 1466 "cgrammar.y"
6257 { (yyval.qtyp) = qtype_unknown (); ;}
6258 break;
6259
6260 case 406:
6261#line 1467 "cgrammar.y"
6262 { (yyval.qtyp) = (yyvsp[(1) - (1)].qtyp); ;}
6263 break;
6264
6265 case 407:
6266#line 1471 "cgrammar.y"
6267 { (yyval.conL) = constraintList_undefined; ;}
6268 break;
6269
6270 case 408:
6271#line 1478 "cgrammar.y"
6272 { sRef_setGlobalScopeSafe (); ;}
6273 break;
6274
6275 case 409:
6276#line 1480 "cgrammar.y"
6277 { sRef_clearGlobalScopeSafe (); ;}
6278 break;
6279
6280 case 410:
6281#line 1483 "cgrammar.y"
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:
6286#line 1484 "cgrammar.y"
6287 { sRef_setGlobalScopeSafe (); ;}
6288 break;
6289
6290 case 412:
6291#line 1486 "cgrammar.y"
6292 { sRef_clearGlobalScopeSafe (); ;}
6293 break;
6294
6295 case 413:
6296#line 1488 "cgrammar.y"
6297 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (11)].cname), (yyvsp[(8) - (11)].flist)); ;}
6298 break;
6299
6300 case 414:
6301#line 1490 "cgrammar.y"
6302 { (yyval.ctyp) = declareStruct ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6303 break;
6304
6305 case 415:
6306#line 1492 "cgrammar.y"
6307 { (yyval.ctyp) = declareUnion ((yyvsp[(3) - (6)].cname), uentryList_new ()); ;}
6308 break;
6309
6310 case 416:
6311#line 1493 "cgrammar.y"
6312 { sRef_setGlobalScopeSafe (); ;}
6313 break;
6314
6315 case 417:
6316#line 1495 "cgrammar.y"
6317 { sRef_clearGlobalScopeSafe (); ;}
6318 break;
6319
6320 case 418:
6321#line 1497 "cgrammar.y"
6322 { (yyval.ctyp) = declareUnnamedStruct ((yyvsp[(7) - (10)].flist)); ;}
6323 break;
6324
6325 case 419:
6326#line 1498 "cgrammar.y"
6327 { sRef_setGlobalScopeSafe (); ;}
6328 break;
6329
6330 case 420:
6331#line 1500 "cgrammar.y"
6332 { sRef_clearGlobalScopeSafe (); ;}
6333 break;
6334
6335 case 421:
6336#line 1502 "cgrammar.y"
6337 { (yyval.ctyp) = declareUnnamedUnion ((yyvsp[(7) - (10)].flist)); ;}
6338 break;
6339
6340 case 422:
6341#line 1504 "cgrammar.y"
6342 { (yyval.ctyp) = ctype_createUnnamedStruct (uentryList_new ()); ;}
6343 break;
6344
6345 case 423:
6346#line 1506 "cgrammar.y"
6347 { (yyval.ctyp) = ctype_createUnnamedUnion (uentryList_new ()); ;}
6348 break;
6349
6350 case 424:
6351#line 1507 "cgrammar.y"
6352 { (yyval.ctyp) = handleStruct ((yyvsp[(3) - (4)].cname)); ;}
6353 break;
6354
6355 case 425:
6356#line 1508 "cgrammar.y"
6357 { (yyval.ctyp) = handleUnion ((yyvsp[(3) - (4)].cname)); ;}
6358 break;
6359
6360 case 426:
6361#line 1512 "cgrammar.y"
6362 { cscannerHelp_clearExpectingTypeName (); ;}
6363 break;
6364
6365 case 428:
6366#line 1517 "cgrammar.y"
6367 { (yyval.flist) = uentryList_undefined; /* bogus! */ ;}
6368 break;
6369
6370 case 429:
6371#line 1518 "cgrammar.y"
6372 { (yyval.flist) = uentryList_mergeFields ((yyvsp[(1) - (2)].flist), (yyvsp[(2) - (2)].flist)); ;}
6373 break;
6374
6375 case 430:
6376#line 1523 "cgrammar.y"
6377 { (yyval.flist) = fixUentryList ((yyvsp[(3) - (5)].ntyplist), (yyvsp[(1) - (5)].qtyp)); ;}
6378 break;
6379
6380 case 431:
6381#line 1525 "cgrammar.y"
6382 { (yyval.flist) = fixUnnamedDecl ((yyvsp[(1) - (3)].qtyp)); ;}
6383 break;
6384
6385 case 432:
6386#line 1530 "cgrammar.y"
6387 { (yyval.ntyplist) = idDeclList_singleton ((yyvsp[(1) - (2)].ntyp)); ;}
6388 break;
6389
6390 case 433:
6391#line 1532 "cgrammar.y"
6392 { (yyval.ntyplist) = idDeclList_add ((yyvsp[(1) - (4)].ntyplist), (yyvsp[(3) - (4)].ntyp)); ;}
6393 break;
6394
6395 case 434:
6396#line 1536 "cgrammar.y"
6397 { (yyval.ntyp) = (yyvsp[(1) - (1)].ntyp); ;}
6398 break;
6399
6400 case 435:
6401#line 1537 "cgrammar.y"
6402 { (yyval.ntyp) = idDecl_undefined; ;}
6403 break;
6404
6405 case 436:
6406#line 1538 "cgrammar.y"
6407 { (yyval.ntyp) = (yyvsp[(1) - (4)].ntyp); ;}
6408 break;
6409
6410 case 437:
6411#line 1544 "cgrammar.y"
6412 { (yyval.ctyp) = declareUnnamedEnum ((yyvsp[(4) - (6)].enumnamelist)); ;}
6413 break;
6414
6415 case 438:
6416#line 1545 "cgrammar.y"
6417 { context_pushLoc (); ;}
6418 break;
6419
6420 case 439:
6421#line 1546 "cgrammar.y"
6422 { context_popLoc (); (yyval.ctyp) = declareEnum ((yyvsp[(3) - (8)].cname), (yyvsp[(6) - (8)].enumnamelist)); ;}
6423 break;
6424
6425 case 440:
6426#line 1547 "cgrammar.y"
6427 { (yyval.ctyp) = handleEnum ((yyvsp[(3) - (4)].cname)); ;}
6428 break;
6429
6430 case 441:
6431#line 1552 "cgrammar.y"
6432 { (yyval.enumnamelist) = enumNameList_single ((yyvsp[(1) - (1)].cname)); ;}
6433 break;
6434
6435 case 442:
6436#line 1554 "cgrammar.y"
6437 { (yyval.enumnamelist) = enumNameList_push ((yyvsp[(1) - (3)].enumnamelist), (yyvsp[(3) - (3)].cname)); ;}
6438 break;
6439
6440 case 444:
6441#line 1560 "cgrammar.y"
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:
6449#line 1565 "cgrammar.y"
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:
6457#line 1573 "cgrammar.y"
6458 { (yyval.ntyp) = idDecl_create (cstring_undefined, qtype_create ((yyvsp[(1) - (1)].ctyp))); ;}
6459 break;
6460
6461 case 448:
6462#line 1575 "cgrammar.y"
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:
6471#line 1581 "cgrammar.y"
6472 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6473 break;
6474
6475 case 451:
6476#line 1587 "cgrammar.y"
6477 { (yyval.ntyp) = (yyvsp[(2) - (2)].ntyp); qtype_adjustPointers ((yyvsp[(1) - (2)].pointers), idDecl_getTyp ((yyval.ntyp))); ;}
6478 break;
6479
6480 case 452:
6481#line 1591 "cgrammar.y"
6482 { (yyval.entrylist) = handleParamTypeList ((yyvsp[(1) - (1)].entrylist)); ;}
6483 break;
6484
6485 case 453:
6486#line 1592 "cgrammar.y"
6487 { (yyval.entrylist) = handleParamIdList ((yyvsp[(2) - (2)].entrylist)); ;}
6488 break;
6489
6490 case 454:
6491#line 1596 "cgrammar.y"
6492 { (yyval.typequal) = qual_createConst (); ;}
6493 break;
6494
6495 case 455:
6496#line 1597 "cgrammar.y"
6497 { (yyval.typequal) = qual_createRestrict (); ;}
6498 break;
6499
6500 case 456:
6501#line 1598 "cgrammar.y"
6502 { (yyval.typequal) = qual_createVolatile (); ;}
6503 break;
6504
6505 case 457:
6506#line 1602 "cgrammar.y"
6507 { (yyval.tquallist) = qualList_single ((yyvsp[(1) - (1)].typequal)); ;}
6508 break;
6509
6510 case 458:
6511#line 1603 "cgrammar.y"
6512 { (yyval.tquallist) = qualList_add ((yyvsp[(1) - (2)].tquallist), (yyvsp[(2) - (2)].typequal)); ;}
6513 break;
6514
6515 case 459:
6516#line 1607 "cgrammar.y"
6517 { (yyval.pointers) = pointers_create ((yyvsp[(1) - (1)].tok)); ;}
6518 break;
6519
6520 case 460:
6521#line 1608 "cgrammar.y"
6522 { (yyval.pointers) = pointers_createMods ((yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].tquallist)); ;}
6523 break;
6524
6525 case 461:
6526#line 1609 "cgrammar.y"
6527 { (yyval.pointers) = pointers_extend (pointers_create ((yyvsp[(1) - (2)].tok)), (yyvsp[(2) - (2)].pointers)); ;}
6528 break;
6529
6530 case 462:
6531#line 1610 "cgrammar.y"
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:
6536#line 1615 "cgrammar.y"
6537 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6538 break;
6539
6540 case 465:
6541#line 1619 "cgrammar.y"
6542 { (yyval.entrylist) = uentryList_single (uentry_makeVariableLoc ((yyvsp[(1) - (1)].cname), ctype_int)); ;}
6543 break;
6544
6545 case 466:
6546#line 1620 "cgrammar.y"
6547 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeVariableLoc ((yyvsp[(3) - (3)].cname), ctype_int)); ;}
6548 break;
6549
6550 case 467:
6551#line 1624 "cgrammar.y"
6552 { (yyval.entrylist) = uentryList_single (uentry_makeElipsisMarker ()); ;}
6553 break;
6554
6555 case 469:
6556#line 1626 "cgrammar.y"
6557 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (3)].entrylist), uentry_makeElipsisMarker ()); ;}
6558 break;
6559
6560 case 470:
6561#line 1630 "cgrammar.y"
6562 { storeLoc (); ;}
6563 break;
6564
6565 case 471:
6566#line 1630 "cgrammar.y"
6567 { (yyval.entrylist) = uentryList_single ((yyvsp[(2) - (2)].oentry)); ;}
6568 break;
6569
6570 case 472:
6571#line 1631 "cgrammar.y"
6572 { storeLoc (); ;}
6573 break;
6574
6575 case 473:
6576#line 1632 "cgrammar.y"
6577 { (yyval.entrylist) = uentryList_add ((yyvsp[(1) - (4)].entrylist), (yyvsp[(4) - (4)].oentry)); ;}
6578 break;
6579
6580 case 474:
6581#line 1637 "cgrammar.y"
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:
6596#line 1649 "cgrammar.y"
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:
6613#line 1666 "cgrammar.y"
6614 { (yyval.qtyp) = qtype_newBase ((yyvsp[(1) - (2)].qtyp), (yyvsp[(2) - (2)].ctyp)); ;}
6615 break;
6616
6617 case 478:
6618#line 1670 "cgrammar.y"
6619 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (1)].pointers), ctype_unknown); ;}
6620 break;
6621
6622 case 480:
6623#line 1672 "cgrammar.y"
6624 { (yyval.ctyp) = ctype_adjustPointers ((yyvsp[(1) - (2)].pointers), (yyvsp[(2) - (2)].ctyp)); ;}
6625 break;
6626
6627 case 481:
6628#line 1676 "cgrammar.y"
6629 { (yyval.ctyp) = ctype_unknown; ;}
6630 break;
6631
6632 case 483:
6633#line 1682 "cgrammar.y"
6634 { (yyval.ctyp) = ctype_expectFunction ((yyvsp[(4) - (5)].ctyp)); ;}
6635 break;
6636
6637 case 484:
6638#line 1683 "cgrammar.y"
6639 { (yyval.ctyp) = ctype_makeArray (ctype_unknown); ;}
6640 break;
6641
6642 case 485:
6643#line 1685 "cgrammar.y"
6644 { (yyval.ctyp) = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue ((yyvsp[(2) - (3)].expr))); ;}
6645 break;
6646
6647 case 486:
6648#line 1686 "cgrammar.y"
6649 { (yyval.ctyp) = ctype_makeInnerArray ((yyvsp[(1) - (3)].ctyp)); ;}
6650 break;
6651
6652 case 487:
6653#line 1688 "cgrammar.y"
6654 { (yyval.ctyp) = ctype_makeInnerFixedArray ((yyvsp[(1) - (4)].ctyp), exprNode_getLongValue ((yyvsp[(3) - (4)].expr))); ;}
6655 break;
6656
6657 case 488:
6658#line 1690 "cgrammar.y"
6659 { (yyval.ctyp) = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;}
6660 break;
6661
6662 case 489:
6663#line 1692 "cgrammar.y"
6664 { (yyval.ctyp) = ctype_makeParamsFunction (ctype_unknown, (yyvsp[(3) - (4)].entrylist)); ;}
6665 break;
6666
6667 case 490:
6668#line 1694 "cgrammar.y"
6669 { (yyval.ctyp) = ctype_makeFunction ((yyvsp[(1) - (4)].ctyp), uentryList_makeMissingParams ()); ;}
6670 break;
6671
6672 case 491:
6673#line 1696 "cgrammar.y"
6674 { (yyval.ctyp) = ctype_makeParamsFunction ((yyvsp[(1) - (5)].ctyp), (yyvsp[(4) - (5)].entrylist)); ;}
6675 break;
6676
6677 case 502:
6678#line 1715 "cgrammar.y"
6679 { exprNode_revealState ((yyvsp[(3) - (4)].expr)); (yyval.expr) = exprNode_undefined; ;}
6680 break;
6681
6682 case 503:
6683#line 1719 "cgrammar.y"
6684 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6685 break;
6686
6687 case 506:
6688#line 1729 "cgrammar.y"
6689 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6690 break;
6691
6692 case 507:
6693#line 1734 "cgrammar.y"
6694 { (yyval.expr) = exprNode_while ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6695 break;
6696
6697 case 508:
6698#line 1736 "cgrammar.y"
6699 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)); ;}
6700 break;
6701
6702 case 509:
6703#line 1738 "cgrammar.y"
6704 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
6705 break;
6706
6707 case 510:
6708#line 1740 "cgrammar.y"
6709 { (yyval.expr) = exprNode_for ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6710 break;
6711
6712 case 511:
6713#line 1745 "cgrammar.y"
6714 { context_setProtectVars (); ;}
6715 break;
6716
6717 case 512:
6718#line 1745 "cgrammar.y"
6719 { context_sizeofReleaseVars (); ;}
6720 break;
6721
6722 case 513:
6723#line 1747 "cgrammar.y"
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:
6729#line 1753 "cgrammar.y"
6730 { setProcessingIterVars ((yyvsp[(1) - (3)].entry)); ;}
6731 break;
6732
6733 case 515:
6734#line 1755 "cgrammar.y"
6735 { (yyval.expr) = exprNode_iterStart ((yyvsp[(1) - (6)].entry), (yyvsp[(5) - (6)].exprlist)); ;}
6736 break;
6737
6738 case 516:
6739#line 1756 "cgrammar.y"
6740 { (yyval.expr) = exprNode_createId ((yyvsp[(1) - (1)].entry)); ;}
6741 break;
6742
6743 case 520:
6744#line 1763 "cgrammar.y"
6745 { (yyval.expr) = (yyvsp[(1) - (2)].expr); DPRINTF (("def stmt: %s", exprNode_unparse ((yyval.expr)))); ;}
6746 break;
6747
6748 case 528:
6749#line 1771 "cgrammar.y"
6750 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6751 break;
6752
6753 case 529:
6754#line 1772 "cgrammar.y"
6755 { (yyval.expr) = exprNode_makeError (); ;}
6756 break;
6757
6758 case 530:
6759#line 1776 "cgrammar.y"
6760 { exprNode_checkIfPred ((yyvsp[(1) - (1)].expr)); ;}
6761 break;
6762
6763 case 531:
6764#line 1777 "cgrammar.y"
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:
6771#line 1783 "cgrammar.y"
6772 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6773 break;
6774
6775 case 533:
6776#line 1787 "cgrammar.y"
6777 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6778 break;
6779
6780 case 544:
6781#line 1804 "cgrammar.y"
6782 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
6783 break;
6784
6785 case 547:
6786#line 1807 "cgrammar.y"
6787 { (yyval.expr) = exprNode_makeError (); ;}
6788 break;
6789
6790 case 548:
6791#line 1811 "cgrammar.y"
6792 { (yyval.expr) = exprNode_labelMarker ((yyvsp[(1) - (2)].cname)); ;}
6793 break;
6794
6795 case 549:
6796#line 1812 "cgrammar.y"
6797 { (yyval.expr) = exprNode_notReached ((yyvsp[(2) - (2)].expr)); ;}
6798 break;
6799
6800 case 550:
6801#line 1820 "cgrammar.y"
6802 { ; ;}
6803 break;
6804
6805 case 551:
6806#line 1821 "cgrammar.y"
6807 { ; ;}
6808 break;
6809
6810 case 552:
6811#line 1828 "cgrammar.y"
6812 { context_enterCaseClause ((yyvsp[(2) - (2)].expr)); ;}
6813 break;
6814
6815 case 553:
6816#line 1829 "cgrammar.y"
6817 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(2) - (4)].expr), FALSE); ;}
6818 break;
6819
6820 case 554:
6821#line 1830 "cgrammar.y"
6822 { context_enterCaseClause ((yyvsp[(4) - (4)].expr)); ;}
6823 break;
6824
6825 case 555:
6826#line 1831 "cgrammar.y"
6827 { (yyval.expr) = exprNode_caseMarker ((yyvsp[(4) - (6)].expr), TRUE); ;}
6828 break;
6829
6830 case 556:
6831#line 1835 "cgrammar.y"
6832 { context_enterCaseClause (exprNode_undefined); ;}
6833 break;
6834
6835 case 557:
6836#line 1836 "cgrammar.y"
6837 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(1) - (3)].tok), FALSE); ;}
6838 break;
6839
6840 case 558:
6841#line 1837 "cgrammar.y"
6842 { context_enterCaseClause (exprNode_undefined); ;}
6843 break;
6844
6845 case 559:
6846#line 1838 "cgrammar.y"
6847 { (yyval.expr) = exprNode_defaultMarker ((yyvsp[(3) - (5)].tok), TRUE); ;}
6848 break;
6849
6850 case 560:
6851#line 1842 "cgrammar.y"
6852 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6853 break;
6854
6855 case 561:
6856#line 1844 "cgrammar.y"
6857 { (yyval.expr) = (yyvsp[(2) - (2)].expr); context_exitInner ((yyvsp[(2) - (2)].expr)); ;}
6858 break;
6859
6860 case 562:
6861#line 1848 "cgrammar.y"
6862 { (yyval.expr) = (yyvsp[(2) - (3)].expr); ;}
6863 break;
6864
6865 case 563:
6866#line 1852 "cgrammar.y"
6867 { context_enterInnerContext (); ;}
6868 break;
6869
6870 case 564:
6871#line 1856 "cgrammar.y"
6872 { context_exitInnerPlain (); ;}
6873 break;
6874
6875 case 565:
6876#line 1860 "cgrammar.y"
6877 { context_enterStructInnerContext (); ;}
6878 break;
6879
6880 case 566:
6881#line 1864 "cgrammar.y"
6882 { context_exitStructInnerContext (); ;}
6883 break;
6884
6885 case 567:
6886#line 1868 "cgrammar.y"
6887 { context_exitInnerSafe (); ;}
6888 break;
6889
6890 case 568:
6891#line 1872 "cgrammar.y"
6892 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
6893 break;
6894
6895 case 569:
6896#line 1873 "cgrammar.y"
6897 { (yyval.expr) = exprNode_notReached (exprNode_createTok ((yyvsp[(2) - (2)].tok))); ;}
6898 break;
6899
6900 case 570:
6901#line 1874 "cgrammar.y"
6902 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6903 break;
6904
6905 case 571:
6906#line 1876 "cgrammar.y"
6907 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6908 break;
6909
6910 case 572:
6911#line 1877 "cgrammar.y"
6912 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(1) - (2)].expr), lltok_getLoc ((yyvsp[(2) - (2)].tok))); ;}
6913 break;
6914
6915 case 573:
6916#line 1879 "cgrammar.y"
6917 { (yyval.expr) = exprNode_notReached (exprNode_updateLocation ((yyvsp[(1) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok)))); ;}
6918 break;
6919
6920 case 574:
6921#line 1881 "cgrammar.y"
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:
6926#line 1883 "cgrammar.y"
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:
6933#line 1890 "cgrammar.y"
6934 { (yyval.expr) = exprNode_makeBlock ((yyvsp[(2) - (2)].expr)); ;}
6935 break;
6936
6937 case 577:
6938#line 1895 "cgrammar.y"
6939 { (yyval.expr) = exprNode_createTok ((yyvsp[(2) - (2)].tok)); ;}
6940 break;
6941
6942 case 578:
6943#line 1897 "cgrammar.y"
6944 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6945 break;
6946
6947 case 579:
6948#line 1899 "cgrammar.y"
6949 { (yyval.expr) = exprNode_updateLocation ((yyvsp[(2) - (3)].expr), lltok_getLoc ((yyvsp[(3) - (3)].tok))); ;}
6950 break;
6951
6952 case 580:
6953#line 1901 "cgrammar.y"
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:
6958#line 1906 "cgrammar.y"
6959 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6960 break;
6961
6962 case 583:
6963#line 1910 "cgrammar.y"
6964 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6965 break;
6966
6967 case 584:
6968#line 1911 "cgrammar.y"
6969 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
6970 break;
6971
6972 case 585:
6973#line 1915 "cgrammar.y"
6974 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6975 break;
6976
6977 case 586:
6978#line 1916 "cgrammar.y"
6979 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); ;}
6980 break;
6981
6982 case 587:
6983#line 1920 "cgrammar.y"
6984 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6985 break;
6986
6987 case 588:
6988#line 1921 "cgrammar.y"
6989 { (yyval.expr) = (yyvsp[(2) - (4)].expr); ;}
6990 break;
6991
6992 case 589:
6993#line 1925 "cgrammar.y"
6994 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
6995 break;
6996
6997 case 590:
6998#line 1926 "cgrammar.y"
6999 { (yyval.expr) = exprNode_concat ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7000 break;
7001
7002 case 591:
7003#line 1930 "cgrammar.y"
7004 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7005 break;
7006
7007 case 592:
7008#line 1931 "cgrammar.y"
7009 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7010 break;
7011
7012 case 593:
7013#line 1935 "cgrammar.y"
7014 { (yyval.expr) = exprNode_createTok ((yyvsp[(1) - (1)].tok)); ;}
7015 break;
7016
7017 case 594:
7018#line 1936 "cgrammar.y"
7019 { (yyval.expr) = exprNode_statement ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7020 break;
7021
7022 case 595:
7023#line 1937 "cgrammar.y"
7024 { (yyval.expr) = exprNode_checkExpr ((yyvsp[(1) - (1)].expr)); ;}
7025 break;
7026
7027 case 596:
7028#line 1942 "cgrammar.y"
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:
7037#line 1956 "cgrammar.y"
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:
7045#line 1960 "cgrammar.y"
7046 { context_enterFalseClause ((yyvsp[(1) - (3)].expr)); ;}
7047 break;
7048
7049 case 599:
7050#line 1961 "cgrammar.y"
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:
7058#line 1965 "cgrammar.y"
7059 { context_enterSwitch ((yyvsp[(3) - (3)].expr)); ;}
7060 break;
7061
7062 case 601:
7063#line 1966 "cgrammar.y"
7064 { (yyval.expr) = exprNode_switch ((yyvsp[(3) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7065 break;
7066
7067 case 602:
7068#line 1971 "cgrammar.y"
7069 { (yyval.expr) = exprNode_whilePred ((yyvsp[(3) - (4)].expr)); context_enterWhileClause ((yyvsp[(3) - (4)].expr)); ;}
7070 break;
7071
7072 case 603:
7073#line 1976 "cgrammar.y"
7074 { (yyval.expr) = exprNode_whilePred((yyvsp[(3) - (4)].expr)); ;}
7075 break;
7076
7077 case 604:
7078#line 1980 "cgrammar.y"
7079 { context_enterIterClause (); ;}
7080 break;
7081
7082 case 605:
7083#line 1981 "cgrammar.y"
7084 { setProcessingIterVars ((yyvsp[(1) - (4)].entry)); ;}
7085 break;
7086
7087 case 606:
7088#line 1984 "cgrammar.y"
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:
7096#line 1991 "cgrammar.y"
7097 { (yyval.exprlist) = exprNodeList_singleton ((yyvsp[(1) - (1)].expr)); ;}
7098 break;
7099
7100 case 608:
7101#line 1992 "cgrammar.y"
7102 { nextIterParam (); ;}
7103 break;
7104
7105 case 609:
7106#line 1993 "cgrammar.y"
7107 { (yyval.exprlist) = exprNodeList_push ((yyvsp[(1) - (4)].exprlist), (yyvsp[(4) - (4)].expr)); ;}
7108 break;
7109
7110 case 610:
7111#line 1997 "cgrammar.y"
7112 { (yyval.expr) = exprNode_iterExpr ((yyvsp[(1) - (1)].expr)); ;}
7113 break;
7114
7115 case 611:
7116#line 1998 "cgrammar.y"
7117 { (yyval.expr) = exprNode_iterId ((yyvsp[(1) - (1)].entry)); ;}
7118 break;
7119
7120 case 612:
7121#line 1999 "cgrammar.y"
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:
7136#line 2010 "cgrammar.y"
7137 { (yyval.expr) = exprNode_iterNewId ((yyvsp[(1) - (1)].cname)); ;}
7138 break;
7139
7140 case 615:
7141#line 2019 "cgrammar.y"
7142 { (yyval.expr) = exprNode_combineLiterals ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].expr)); ;}
7143 break;
7144
7145 case 617:
7146#line 2024 "cgrammar.y"
7147 { (yyval.expr) = exprNode_addParens ((yyvsp[(1) - (3)].tok), (yyvsp[(2) - (3)].expr)); ;}
7148 break;
7149
7150 case 619:
7151#line 2029 "cgrammar.y"
7152 { (yyval.expr) = exprNode_arrayFetch ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].expr)); ;}
7153 break;
7154
7155 case 620:
7156#line 2030 "cgrammar.y"
7157 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (3)].expr), exprNodeList_new ()); ;}
7158 break;
7159
7160 case 621:
7161#line 2031 "cgrammar.y"
7162 { (yyval.expr) = exprNode_functionCall ((yyvsp[(1) - (4)].expr), (yyvsp[(3) - (4)].exprlist)); ;}
7163 break;
7164
7165 case 622:
7166#line 2033 "cgrammar.y"
7167 { (yyval.expr) = exprNode_vaArg ((yyvsp[(1) - (6)].tok), (yyvsp[(3) - (6)].expr), (yyvsp[(5) - (6)].qtyp)); ;}
7168 break;
7169
7170 case 623:
7171#line 2034 "cgrammar.y"
7172 { (yyval.expr) = exprNode_fieldAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7173 break;
7174
7175 case 624:
7176#line 2035 "cgrammar.y"
7177 { (yyval.expr) = exprNode_arrowAccess ((yyvsp[(1) - (5)].expr), (yyvsp[(3) - (5)].tok), (yyvsp[(4) - (5)].cname)); ;}
7178 break;
7179
7180 case 625:
7181#line 2036 "cgrammar.y"
7182 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7183 break;
7184
7185 case 626:
7186#line 2037 "cgrammar.y"
7187 { (yyval.expr) = exprNode_postOp ((yyvsp[(1) - (2)].expr), (yyvsp[(2) - (2)].tok)); ;}
7188 break;
7189
7190 case 628:
7191#line 2042 "cgrammar.y"
7192 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7193 break;
7194
7195 case 629:
7196#line 2043 "cgrammar.y"
7197 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7198 break;
7199
7200 case 630:
7201#line 2044 "cgrammar.y"
7202 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7203 break;
7204
7205 case 631:
7206#line 2045 "cgrammar.y"
7207 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7208 break;
7209
7210 case 632:
7211#line 2046 "cgrammar.y"
7212 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7213 break;
7214
7215 case 633:
7216#line 2047 "cgrammar.y"
7217 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7218 break;
7219
7220 case 634:
7221#line 2048 "cgrammar.y"
7222 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7223 break;
7224
7225 case 635:
7226#line 2049 "cgrammar.y"
7227 { (yyval.expr) = exprNode_preOp ((yyvsp[(2) - (2)].expr), (yyvsp[(1) - (2)].tok)); ;}
7228 break;
7229
7230 case 636:
7231#line 2050 "cgrammar.y"
7232 { (yyval.expr) = (yyvsp[(1) - (1)].expr); ;}
7233 break;
7234
7235 case 638:
7236#line 2055 "cgrammar.y"
7237 { (yyval.expr) = exprNode_cast ((yyvsp[(1) - (4)].tok), (yyvsp[(4) - (4)].expr), (yyvsp[(2) - (4)].qtyp)); ;}
7238 break;
7239
7240 case 640:
7241#line 2060 "cgrammar.y"
7242 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7243 break;
7244
7245 case 641:
7246#line 2061 "cgrammar.y"
7247 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7248 break;
7249
7250 case 642:
7251#line 2062 "cgrammar.y"
7252 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7253 break;
7254
7255 case 644:
7256#line 2067 "cgrammar.y"
7257 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7258 break;
7259
7260 case 645:
7261#line 2068 "cgrammar.y"
7262 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7263 break;
7264
7265 case 647:
7266#line 2073 "cgrammar.y"
7267 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7268 break;
7269
7270 case 648:
7271#line 2074 "cgrammar.y"
7272 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7273 break;
7274
7275 case 650:
7276#line 2079 "cgrammar.y"
7277 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7278 break;
7279
7280 case 651:
7281#line 2080 "cgrammar.y"
7282 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7283 break;
7284
7285 case 652:
7286#line 2081 "cgrammar.y"
7287 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7288 break;
7289
7290 case 653:
7291#line 2082 "cgrammar.y"
7292 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7293 break;
7294
7295 case 655:
7296#line 2087 "cgrammar.y"
7297 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7298 break;
7299
7300 case 656:
7301#line 2088 "cgrammar.y"
7302 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7303 break;
7304
7305 case 658:
7306#line 2093 "cgrammar.y"
7307 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7308 break;
7309
7310 case 660:
7311#line 2098 "cgrammar.y"
7312 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7313 break;
7314
7315 case 662:
7316#line 2103 "cgrammar.y"
7317 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7318 break;
7319
7320 case 664:
7321#line 2108 "cgrammar.y"
7322 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7323 break;
7324
7325 case 666:
7326#line 2113 "cgrammar.y"
7327 { (yyval.expr) = exprNode_op ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7328 break;
7329
7330 case 668:
7331#line 2118 "cgrammar.y"
7332 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7333 break;
7334
7335 case 669:
7336#line 2119 "cgrammar.y"
7337 { context_enterFalseClause ((yyvsp[(1) - (4)].expr)); ;}
7338 break;
7339
7340 case 670:
7341#line 2120 "cgrammar.y"
7342 { (yyval.expr) = exprNode_condIfOmit ((yyvsp[(1) - (6)].expr), (yyvsp[(6) - (6)].expr)); ;}
7343 break;
7344
7345 case 671:
7346#line 2121 "cgrammar.y"
7347 { context_enterTrueClause ((yyvsp[(1) - (2)].expr)); ;}
7348 break;
7349
7350 case 672:
7351#line 2122 "cgrammar.y"
7352 { context_enterFalseClause ((yyvsp[(1) - (5)].expr)); ;}
7353 break;
7354
7355 case 673:
7356#line 2123 "cgrammar.y"
7357 { (yyval.expr) = exprNode_cond ((yyvsp[(1) - (7)].expr), (yyvsp[(4) - (7)].expr), (yyvsp[(7) - (7)].expr)); ;}
7358 break;
7359
7360 case 675:
7361#line 2128 "cgrammar.y"
7362 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7363 break;
7364
7365 case 676:
7366#line 2129 "cgrammar.y"
7367 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7368 break;
7369
7370 case 677:
7371#line 2130 "cgrammar.y"
7372 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7373 break;
7374
7375 case 678:
7376#line 2131 "cgrammar.y"
7377 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7378 break;
7379
7380 case 679:
7381#line 2132 "cgrammar.y"
7382 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7383 break;
7384
7385 case 680:
7386#line 2133 "cgrammar.y"
7387 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7388 break;
7389
7390 case 681:
7391#line 2134 "cgrammar.y"
7392 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7393 break;
7394
7395 case 682:
7396#line 2135 "cgrammar.y"
7397 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7398 break;
7399
7400 case 683:
7401#line 2136 "cgrammar.y"
7402 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7403 break;
7404
7405 case 684:
7406#line 2137 "cgrammar.y"
7407 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7408 break;
7409
7410 case 685:
7411#line 2138 "cgrammar.y"
7412 { (yyval.expr) = exprNode_assign ((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].tok)); ;}
7413 break;
7414
7415 case 686:
7416#line 2142 "cgrammar.y"
7417 { (yyval.entry) = (yyvsp[(1) - (1)].entry); ;}
7418 break;
7419
7420 case 687:
7421#line 2143 "cgrammar.y"
7422 { (yyval.entry) = uentry_undefined; ;}
7423 break;
7424
7425 case 688:
7426#line 2147 "cgrammar.y"
7427 { context_enterDoWhileClause (); (yyval.tok) = (yyvsp[(1) - (1)].tok); ;}
7428 break;
7429
7430 case 689:
7431#line 2152 "cgrammar.y"
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;
7434
7435 case 690:
7436#line 2154 "cgrammar.y"
7437 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7438 break;
7439
7440 case 691:
7441#line 2156 "cgrammar.y"
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;
7444
7445 case 692:
7446#line 2160 "cgrammar.y"
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;
7449
7450 case 693:
7451#line 2162 "cgrammar.y"
7452 { (yyval.expr) = exprNode_statement (exprNode_doWhile ((yyvsp[(2) - (7)].expr), (yyvsp[(5) - (7)].expr)), (yyvsp[(7) - (7)].tok)); ;}
7453 break;
7454
7455 case 694:
7456#line 2164 "cgrammar.y"
7457 { (yyval.expr) = exprNode_doWhile ((yyvsp[(2) - (6)].expr), (yyvsp[(5) - (6)].expr)); ;}
7458 break;
7459
7460 case 695:
7461#line 2165 "cgrammar.y"
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:
7466#line 2169 "cgrammar.y"
7467 { (yyval.expr) = exprNode_goto ((yyvsp[(2) - (3)].cname)); ;}
7468 break;
7469
7470 case 697:
7471#line 2170 "cgrammar.y"
7472 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7473 break;
7474
7475 case 698:
7476#line 2172 "cgrammar.y"
7477 { (yyval.expr) = exprNode_continue ((yyvsp[(1) - (3)].tok), QINNERCONTINUE); ;}
7478 break;
7479
7480 case 699:
7481#line 2173 "cgrammar.y"
7482 { (yyval.expr) = exprNode_break ((yyvsp[(1) - (2)].tok), BADTOK); ;}
7483 break;
7484
7485 case 700:
7486#line 2174 "cgrammar.y"
7487 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSWITCHBREAK); ;}
7488 break;
7489
7490 case 701:
7491#line 2175 "cgrammar.y"
7492 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QLOOPBREAK); ;}
7493 break;
7494
7495 case 702:
7496#line 2176 "cgrammar.y"
7497 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QINNERBREAK); ;}
7498 break;
7499
7500 case 703:
7501#line 2177 "cgrammar.y"
7502 { (yyval.expr) = exprNode_break ((yyvsp[(2) - (3)].tok), QSAFEBREAK); ;}
7503 break;
7504
7505 case 704:
7506#line 2178 "cgrammar.y"
7507 { (yyval.expr) = exprNode_nullReturn ((yyvsp[(1) - (2)].tok)); ;}
7508 break;
7509
7510 case 705:
7511#line 2179 "cgrammar.y"
7512 { (yyval.expr) = exprNode_return ((yyvsp[(2) - (3)].expr)); ;}
7513 break;
7514
7515 case 707:
7516#line 2184 "cgrammar.y"
7517 { ; ;}
7518 break;
7519
7520 case 709:
7521#line 2189 "cgrammar.y"
7522 { ; ;}
7523 break;
7524
7525 case 712:
7526#line 2198 "cgrammar.y"
7527 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7528 break;
7529
7530 case 713:
7531#line 2199 "cgrammar.y"
7532 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7533 break;
7534
7535 case 714:
7536#line 2200 "cgrammar.y"
7537 { (yyval.cname) = uentry_getName ((yyvsp[(1) - (1)].entry)); ;}
7538 break;
7539
7540 case 715:
7541#line 2201 "cgrammar.y"
7542 { (yyval.cname) = (yyvsp[(1) - (1)].cname); ;}
7543 break;
7544
7545 case 717:
7546#line 2206 "cgrammar.y"
7547 { (yyval.ctyp) = ctype_unknown; ;}
7548 break;
7549
7550 case 718:
7551#line 2207 "cgrammar.y"
7552 { (yyval.ctyp) = exprNode_getType ((yyvsp[(3) - (4)].expr)); exprNode_free ((yyvsp[(3) - (4)].expr)); ;}
7553 break;
7554
7555 case 719:
7556#line 2208 "cgrammar.y"
7557 { (yyval.ctyp) = qtype_getType ((yyvsp[(3) - (4)].qtyp)); ;}
7558 break;
7559
7560
7561/* Line 1267 of yacc.c. */
7562#line 7505 "cgrammar.tab.c"
7563 default: break;
7564 }
7565 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7566
7567 YYPOPSTACK (yylen);
7568 yylen = 0;
7569 YY_STACK_PRINT (yyss, yyssp);
7570
7571 *++yyvsp = yyval;
7572
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
7580 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7581 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7582 yystate = yytable[yystate];
7583 else
7584 yystate = yydefgoto[yyn - YYNTOKENS];
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;
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)
7608 YYSTACK_FREE (yymsg);
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
7632 }
7633
7634
7635
7636 if (yyerrstatus == 3)
7637 {
7638 /* If just tried and failed to reuse look-ahead token after an
7639 error, discard it. */
7640
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 }
7653 }
7654
7655 /* Else will try to reuse look-ahead token after shifting the error
7656 token. */
7657 goto yyerrlab1;
7658
7659
7660/*---------------------------------------------------.
7661| yyerrorlab -- error raised explicitly by YYERROR. |
7662`---------------------------------------------------*/
7663yyerrorlab:
7664
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;
7670
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;
7678
7679
7680/*-------------------------------------------------------------.
7681| yyerrlab1 -- common code for both syntax error and YYERROR. |
7682`-------------------------------------------------------------*/
7683yyerrlab1:
7684 yyerrstatus = 3; /* Each real token shifted decrements this. */
7685
7686 for (;;)
7687 {
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 }
7699
7700 /* Pop the current state because it cannot handle the error token. */
7701 if (yyssp == yyss)
7702 YYABORT;
7703
7704
7705 yydestruct ("Error: popping",
7706 yystos[yystate], yyvsp);
7707 YYPOPSTACK (1);
7708 yystate = *yyssp;
7709 YY_STACK_PRINT (yyss, yyssp);
7710 }
7711
7712 if (yyn == YYFINAL)
7713 YYACCEPT;
7714
7715 *++yyvsp = yylval;
7716
7717
7718 /* Shift the error token. */
7719 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
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
7739#ifndef yyoverflow
7740/*-------------------------------------------------.
7741| yyexhaustedlab -- memory exhaustion comes here. |
7742`-------------------------------------------------*/
7743yyexhaustedlab:
7744 yyerror (YY_("memory exhausted"));
7745 yyresult = 2;
7746 /* Fall through. */
7747#endif
7748
7749yyreturn:
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 }
7763#ifndef yyoverflow
7764 if (yyss != yyssa)
7765 YYSTACK_FREE (yyss);
7766#endif
7767#if YYERROR_VERBOSE
7768 if (yymsg != yymsgbuf)
7769 YYSTACK_FREE (yymsg);
7770#endif
7771 /* Make sure YYID is used. */
7772 return YYID (yyresult);
7773}
7774
7775
7776#line 2211 "cgrammar.y"
7777
7778
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
7815 cscannerHelp_swallowMacro ();
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
7835
7836/*
7837** Resets all flags in bison.head
7838*/
7839
7840
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*/
7882/*@=bounds@*/
7883
7884/*drl added 12/11/2002*/
7885/*@=type@*/
7886
7887/*@=enummemuse@*/
This page took 0.300712 seconds and 5 git commands to generate.