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