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