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