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