]> andersk Git - splint.git/blame - src/cgrammar.c.der
Fixed but with parenthesized pointer 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,
e8b84478 714 368, 369, 371, 373, 388, 391, 401, 404, 412, 413,
715 415, 417, 433, 436, 444, 447, 455, 457, 457, 461,
716 462, 463, 464, 467, 470, 474, 474, 477, 477, 482,
717 483, 486, 491, 492, 495, 496, 499, 504, 505, 508,
718 509, 510, 513, 514, 515, 520, 521, 524, 526, 528,
719 530, 539, 541, 543, 545, 561, 565, 566, 573, 574,
720 582, 584, 588, 589, 590, 591, 592, 593, 596, 597,
721 598, 599, 600, 601, 604, 607, 608, 615, 618, 621,
722 627, 635, 637, 641, 644, 645, 648, 651, 657, 661,
723 662, 665, 668, 669, 672, 673, 674, 677, 678, 679,
724 680, 681, 684, 685, 686, 687, 688, 691, 692, 695,
725 701, 705, 707, 711, 712, 714, 721, 731, 732, 735,
726 736, 737, 738, 739, 740, 741, 742, 746, 747, 751,
727 752, 755, 757, 759, 760, 761, 762, 763, 765, 769,
728 770, 773, 777, 789, 790, 791, 792, 793, 794, 797,
729 798, 799, 800, 801, 802, 803, 804, 805, 808, 809,
730 812, 813, 814, 815, 816, 817, 818, 819, 820, 821,
731 822, 825, 826, 829, 833, 834, 837, 838, 839, 840,
732 843, 844, 848, 849, 850, 851, 854, 855, 856, 859,
733 860, 861, 864, 865, 866, 867, 868, 871, 872, 873,
734 876, 877, 880, 881, 885, 886, 889, 890, 895, 901,
735 902, 908, 914, 915, 915, 917, 920, 921, 922, 923,
736 924, 925, 926, 927, 928, 929, 930, 931, 934, 935,
737 938, 939, 942, 947, 948, 949, 952, 966, 971, 977,
738 979, 985, 990, 990, 994, 995, 997, 998, 1001, 1004,
739 1007, 1010, 1011, 1014, 1015, 1018, 1019, 1020, 1024, 1026,
740 1035, 1036, 1037, 1038, 1039, 1042, 1045, 1051, 1060, 1063,
741 1066, 1073, 1080, 1086, 1111, 1112, 1115, 1116, 1117, 1118,
742 1119, 1122, 1123, 1124, 1125, 1128, 1129, 1130, 1131, 1132,
743 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142,
744 1143, 1144, 1148, 1149, 1152, 1153, 1156, 1157, 1160, 1161,
745 1162, 1163, 1166, 1167, 1168, 1169, 1170, 1171, 1174, 1175,
746 1176, 1177, 1180, 1181, 1182, 1183, 1186, 1187, 1188, 1189,
747 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1203, 1204, 1205,
748 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215,
749 1216, 1219, 1223, 1224, 1228, 1229, 1233, 1234, 1235, 1238,
750 1239, 1243, 1250, 1252, 1254, 1255, 1257, 1259, 1260, 1262,
751 1264, 1266, 1268, 1269, 1270, 1273, 1274, 1276, 1278, 1279,
752 1282, 1285, 1286, 1287, 1290, 1292, 1296, 1298, 1302, 1303,
753 1304, 1308, 1310, 1310, 1312, 1315, 1317, 1319, 1322, 1327,
754 1334, 1335, 1336, 1343, 1347, 1348, 1352, 1353, 1356, 1357,
755 1360, 1361, 1364, 1365, 1366, 1367, 1370, 1371, 1374, 1375,
756 1378, 1379, 1380, 1383, 1383, 1384, 1385, 1388, 1400, 1416,
757 1417, 1420, 1421, 1422, 1425, 1426, 1429, 1431, 1432, 1434,
758 1435, 1437, 1439, 1441, 1443, 1449, 1450, 1451, 1452, 1453,
759 1454, 1455, 1456, 1457, 1461, 1464, 1467, 1468, 1472, 1474,
760 1476, 1478, 1482, 1483, 1485, 1489, 1491, 1493, 1496, 1497,
761 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507,
762 1508, 1511, 1512, 1517, 1520, 1523, 1524, 1527, 1528, 1529,
763 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1540, 1541,
764 1548, 1549, 1555, 1556, 1557, 1558, 1561, 1562, 1563, 1564,
765 1567, 1568, 1572, 1575, 1578, 1581, 1584, 1587, 1590, 1591,
766 1592, 1593, 1595, 1596, 1598, 1600, 1606, 1610, 1612, 1614,
767 1616, 1620, 1621, 1624, 1625, 1628, 1629, 1632, 1633, 1636,
768 1637, 1638, 1641, 1654, 1659, 1660, 1664, 1665, 1668, 1673,
769 1676, 1677, 1678, 1686, 1687, 1687, 1691, 1692, 1693, 1704,
770 1711, 1712, 1715, 1716, 1719, 1720, 1721, 1722, 1723, 1725,
771 1726, 1727, 1728, 1731, 1732, 1733, 1734, 1735, 1736, 1737,
772 1738, 1739, 1740, 1743, 1744, 1747, 1748, 1749, 1750, 1753,
773 1754, 1755, 1758, 1759, 1760, 1763, 1764, 1765, 1766, 1767,
774 1770, 1771, 1772, 1775, 1776, 1779, 1780, 1784, 1785, 1788,
775 1789, 1792, 1793, 1796, 1797, 1798, 1799, 1802, 1803, 1804,
776 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1816,
777 1817, 1820, 1823, 1825, 1827, 1831, 1832, 1834, 1836, 1839,
778 1840, 1841, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1852,
779 1853, 1856, 1859, 1860, 1861, 1862, 1863, 1866, 1867
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{
e8b84478 3221 exprNode_findValue (yyvsp[-2].expr);
3222 idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3223
c05aefaa 3224 if (exprNode_hasValue (yyvsp[-2].expr))
885824d3 3225 {
077d4458 3226 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp),
3227 exprNode_getLongValue (yyvsp[-2].expr)));
c05aefaa 3228 }
885824d3 3229 else
3230 {
c05aefaa 3231 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-5].ntyp)));
885824d3 3232 }
885824d3 3233 ;
3234 break;}
9dc8a5c1 3235case 25:
c05aefaa 3236{ setCurrentParams (uentryList_missingParams); ;
885824d3 3237 break;}
9dc8a5c1 3238case 26:
885824d3 3239{ /* need to support globals and modifies here! */
3240 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3241 uentryList_makeMissingParams ());
c05aefaa 3242
885824d3 3243 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
c05aefaa 3244 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3245 context_popLoc ();
3246 /*drl 7/25/01 added*/
3247 setImplictfcnConstraints();
885824d3 3248 ;
3249 break;}
9dc8a5c1 3250case 27:
c05aefaa 3251{ setCurrentParams (yyvsp[-1].entrylist); ;
885824d3 3252 break;}
9dc8a5c1 3253case 28:
c05aefaa 3254{ setImplictfcnConstraints ();
3255 clearCurrentParams ();
885824d3 3256 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
c05aefaa 3257 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3258 context_popLoc ();
3259 ;
3260 break;}
9dc8a5c1 3261case 29:
885824d3 3262{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3263 break;}
9dc8a5c1 3264case 30:
885824d3 3265{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3266 break;}
9dc8a5c1 3267case 31:
885824d3 3268{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3269 break;}
9dc8a5c1 3270case 32:
885824d3 3271{
3272 int value;
3273
3274 if (exprNode_hasValue (yyvsp[-2].expr)
3275 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3276 {
3277 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3278 }
3279 else
3280 {
3281 value = 0;
3282 }
3283
3284 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
3285 ;
3286 break;}
9dc8a5c1 3287case 33:
c05aefaa 3288{ setCurrentParams (uentryList_missingParams); ;
885824d3 3289 break;}
9dc8a5c1 3290case 34:
c05aefaa 3291{
885824d3 3292 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3293 uentryList_makeMissingParams ());
c05aefaa 3294
885824d3 3295 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
c05aefaa 3296 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3297 context_popLoc ();
3298 ;
3299 break;}
9dc8a5c1 3300case 35:
c05aefaa 3301{ setCurrentParams (yyvsp[-1].entrylist); ;
885824d3 3302 break;}
9dc8a5c1 3303case 36:
c05aefaa 3304{
3305 clearCurrentParams ();
885824d3 3306 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
c05aefaa 3307 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3308 context_popLoc ();
3309 ;
3310 break;}
9dc8a5c1 3311case 37:
885824d3 3312{ setCurrentParams (yyvsp[-1].entrylist); ;
3313 break;}
9dc8a5c1 3314case 38:
885824d3 3315{ clearCurrentParams (); ;
3316 break;}
9dc8a5c1 3317case 39:
885824d3 3318{ declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3319 break;}
9dc8a5c1 3320case 40:
885824d3 3321{ exprNode_checkMacroBody (yyvsp[-1].expr); ;
3322 break;}
9dc8a5c1 3323case 41:
885824d3 3324{ exprNode_checkIterBody (yyvsp[-1].expr); ;
3325 break;}
9dc8a5c1 3326case 42:
885824d3 3327{ exprNode_checkIterEnd (yyvsp[-1].expr); ;
3328 break;}
9dc8a5c1 3329case 43:
885824d3 3330{ exprChecks_checkEmptyMacroBody (); ;
3331 break;}
9dc8a5c1 3332case 44:
c05aefaa 3333{ clabstract_declareFunction (yyvsp[0].ntyp); ;
885824d3 3334 break;}
9dc8a5c1 3335case 45:
c05aefaa 3336{ yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
885824d3 3337 break;}
9dc8a5c1 3338case 46:
c05aefaa 3339{ cscanner_expectingMetaStateName (); ;
885824d3 3340 break;}
9dc8a5c1 3341case 47:
c05aefaa 3342{ cscanner_clearExpectingMetaStateName ();
3343 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ;
885824d3 3344 break;}
9dc8a5c1 3345case 48:
c05aefaa 3346{ cscanner_expectingMetaStateName (); ;
885824d3 3347 break;}
9dc8a5c1 3348case 49:
c05aefaa 3349{ cscanner_clearExpectingMetaStateName ();
3350 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ;
885824d3 3351 break;}
9dc8a5c1 3352case 50:
c05aefaa 3353{ yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
885824d3 3354 break;}
9dc8a5c1 3355case 51:
c05aefaa 3356{ yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
885824d3 3357 break;}
9dc8a5c1 3358case 55:
c05aefaa 3359{ yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
885824d3 3360 break;}
9dc8a5c1 3361case 56:
c05aefaa 3362{ yyval.conL = constraintList_single (yyvsp[0].con); ;
885824d3 3363 break;}
9dc8a5c1 3364case 57:
c05aefaa 3365{
3366 yyval.con = makeConstraintParse3 (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
3367 DPRINTF(("Done BufConstraint1\n")); ;
885824d3 3368 break;}
9dc8a5c1 3369case 64:
c05aefaa 3370{yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
885824d3 3371 break;}
9dc8a5c1 3372case 65:
c05aefaa 3373{
3374 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3375 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
885824d3 3376 break;}
9dc8a5c1 3377case 66:
c05aefaa 3378{ yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;
885824d3 3379 break;}
9dc8a5c1 3380case 67:
c05aefaa 3381{ yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
885824d3 3382 break;}
9dc8a5c1 3383case 68:
c05aefaa 3384{ /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
885824d3 3385 break;}
9dc8a5c1 3386case 69:
c05aefaa 3387{ yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
885824d3 3388 break;}
9dc8a5c1 3389case 70:
c05aefaa 3390{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
885824d3 3391 break;}
9dc8a5c1 3392case 71:
c05aefaa 3393{
3394 /*
3395 char *t; int c;
3396 t = cstring_toCharsSafe (exprNode_unparse($3));
3397 c = atoi( t );
3398 */
3399 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3400 ;
885824d3 3401 break;}
9dc8a5c1 3402case 72:
c05aefaa 3403{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
885824d3 3404 break;}
9dc8a5c1 3405case 73:
c05aefaa 3406{ yyval.sr = yyvsp[-1].sr; ;
885824d3 3407 break;}
9dc8a5c1 3408case 74:
c05aefaa 3409{ cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
885824d3 3410 break;}
9dc8a5c1 3411case 75:
c05aefaa 3412{ cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
885824d3 3413 break;}
86d93ed3 3414case 79:
9dc8a5c1 3415{ yyval.funcclauselist = functionClauseList_new (); ;
c05aefaa 3416 break;}
86d93ed3 3417case 80:
9dc8a5c1 3418{ yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
c05aefaa 3419 break;}
86d93ed3 3420case 81:
9dc8a5c1 3421{ yyval.funcclauselist = functionClauseList_new (); ;
c05aefaa 3422 break;}
86d93ed3 3423case 82:
9dc8a5c1 3424{ yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
c05aefaa 3425 break;}
86d93ed3 3426case 83:
9dc8a5c1 3427{ yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
885824d3 3428 break;}
86d93ed3 3429case 84:
c05aefaa 3430{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
885824d3 3431 break;}
86d93ed3 3432case 85:
9dc8a5c1 3433{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
885824d3 3434 break;}
86d93ed3 3435case 86:
9dc8a5c1 3436{ yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
885824d3 3437 break;}
86d93ed3 3438case 87:
9dc8a5c1 3439{ yyval.funcclause = yyvsp[0].funcclause; ;
c05aefaa 3440 break;}
86d93ed3 3441case 88:
9dc8a5c1 3442{ yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
c05aefaa 3443 break;}
86d93ed3 3444case 89:
9dc8a5c1 3445{ yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
c05aefaa 3446 break;}
86d93ed3 3447case 90:
c05aefaa 3448{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3449 break;}
86d93ed3 3450case 91:
9dc8a5c1 3451{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
c05aefaa 3452 break;}
86d93ed3 3453case 92:
9dc8a5c1 3454{ yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
c05aefaa 3455 break;}
86d93ed3 3456case 93:
9dc8a5c1 3457{ yyval.funcclause = yyvsp[0].funcclause; ;
c05aefaa 3458 break;}
86d93ed3 3459case 94:
9dc8a5c1 3460{ yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
c05aefaa 3461 break;}
86d93ed3 3462case 95:
9dc8a5c1 3463{ yyval.globsclause = yyvsp[-1].globsclause; ;
c05aefaa 3464 break;}
86d93ed3 3465case 96:
9dc8a5c1 3466{ setProcessingGlobalsList (); ;
3467 break;}
3468case 97:
885824d3 3469{
c05aefaa 3470 unsetProcessingGlobals ();
3471 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
885824d3 3472 ;
3473 break;}
9dc8a5c1 3474case 98:
c05aefaa 3475{ yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
885824d3 3476 break;}
9dc8a5c1 3477case 99:
c05aefaa 3478{ yyval.modsclause = yyvsp[-1].modsclause; ;
885824d3 3479 break;}
9dc8a5c1 3480case 100:
c05aefaa 3481{
3482 context_setProtectVars (); enterParamsTemp ();
3483 sRef_setGlobalScopeSafe ();
3484 ;
885824d3 3485 break;}
9dc8a5c1 3486case 101:
c05aefaa 3487{
3488 exitParamsTemp ();
3489 sRef_clearGlobalScopeSafe ();
3490 context_releaseVars ();
3491 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3492 ;
885824d3 3493 break;}
9dc8a5c1 3494case 102:
c05aefaa 3495{ yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
885824d3 3496 break;}
9dc8a5c1 3497case 103:
c05aefaa 3498{ yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
885824d3 3499 break;}
9dc8a5c1 3500case 106:
c05aefaa 3501{ yyval.warnclause = warnClause_undefined; ;
885824d3 3502 break;}
9dc8a5c1 3503case 107:
c05aefaa 3504{ yyval.warnclause = yyvsp[-1].warnclause; ;
885824d3 3505 break;}
9dc8a5c1 3506case 108:
c05aefaa 3507{
3508 llassert (exprNode_knownStringValue (yyvsp[0].expr));
3509 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
3510 exprNode_free (yyvsp[0].expr);
3511 ;
885824d3 3512 break;}
9dc8a5c1 3513case 109:
c05aefaa 3514{ yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
885824d3 3515 break;}
9dc8a5c1 3516case 110:
c05aefaa 3517{ yyval.globset = globSet_single (yyvsp[0].sr); ;
3518 break;}
9dc8a5c1 3519case 111:
c05aefaa 3520{ yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3521 break;}
9dc8a5c1 3522case 112:
c05aefaa 3523{ yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3524 break;}
9dc8a5c1 3525case 113:
c05aefaa 3526{ yyval.tquallist = qualList_undefined; ;
3527 break;}
9dc8a5c1 3528case 114:
c05aefaa 3529{ yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3530 break;}
9dc8a5c1 3531case 115:
c05aefaa 3532{ yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3533 break;}
9dc8a5c1 3534case 116:
c05aefaa 3535{ yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3536 break;}
9dc8a5c1 3537case 117:
c05aefaa 3538{ yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3539 break;}
9dc8a5c1 3540case 118:
c05aefaa 3541{ yyval.typequal = qual_createUndef (); ;
3542 break;}
9dc8a5c1 3543case 119:
c05aefaa 3544{ yyval.typequal = qual_createKilled (); ;
3545 break;}
9dc8a5c1 3546case 120:
c05aefaa 3547{ yyval.typequal = qual_createOut (); ;
3548 break;}
9dc8a5c1 3549case 121:
c05aefaa 3550{ yyval.typequal = qual_createIn (); ;
3551 break;}
9dc8a5c1 3552case 122:
c05aefaa 3553{ yyval.typequal = qual_createPartial (); ;
3554 break;}
9dc8a5c1 3555case 130:
885824d3 3556{
3557 qtype qint = qtype_create (ctype_int);
3558 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3559 qtype_free (qint);
3560 ;
3561 break;}
9dc8a5c1 3562case 131:
885824d3 3563{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3564 break;}
9dc8a5c1 3565case 132:
885824d3 3566{ checkDoneParams (); context_enterInnerContext (); ;
3567 break;}
9dc8a5c1 3568case 133:
885824d3 3569{
3570 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3571 context_exitInner (yyvsp[0].expr);
3572 ;
3573 break;}
9dc8a5c1 3574case 134:
c05aefaa 3575{ context_enterOldStyleScope (); ;
885824d3 3576 break;}
9dc8a5c1 3577case 135:
c05aefaa 3578{ oldStyleDoneParams (); context_enterInnerContext (); ;
3579 break;}
9dc8a5c1 3580case 136:
885824d3 3581{
885824d3 3582 exprNode_checkFunctionBody (yyvsp[0].expr);
c05aefaa 3583 yyval.expr = yyvsp[0].expr; /* oldstyle */
3584 context_exitInner (yyvsp[0].expr);
885824d3 3585 ;
3586 break;}
9dc8a5c1 3587case 137:
885824d3 3588{
3589 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
c05aefaa 3590 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3591 /* DRL 8 8 2000 */
3592
885824d3 3593 context_exitFunction ();
3594 ;
3595 break;}
9dc8a5c1 3596case 138:
885824d3 3597{ yyval.srset = yyvsp[-1].srset; ;
3598 break;}
9dc8a5c1 3599case 139:
885824d3 3600{ yyval.srset = sRefSet_new (); ;
3601 break;}
9dc8a5c1 3602case 140:
885824d3 3603{ yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3604 break;}
9dc8a5c1 3605case 141:
885824d3 3606{ yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3607 break;}
9dc8a5c1 3608case 142:
885824d3 3609{ yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3610 break;}
9dc8a5c1 3611case 143:
885824d3 3612{ yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3613 break;}
9dc8a5c1 3614case 144:
885824d3 3615{ yyval.sr = modListPointer (yyvsp[0].sr); ;
3616 break;}
9dc8a5c1 3617case 145:
885824d3 3618{ yyval.sr = yyvsp[-1].sr; ;
3619 break;}
9dc8a5c1 3620case 146:
885824d3 3621{ yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3622 break;}
9dc8a5c1 3623case 147:
885824d3 3624{ yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3625 break;}
9dc8a5c1 3626case 148:
885824d3 3627{ yyval.sr = yyvsp[0].sr; ;
3628 break;}
9dc8a5c1 3629case 149:
885824d3 3630{ yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3631 break;}
9dc8a5c1 3632case 150:
885824d3 3633{ yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3634 break;}
9dc8a5c1 3635case 151:
885824d3 3636{ yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3637 break;}
9dc8a5c1 3638case 152:
c05aefaa 3639{ yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
885824d3 3640 break;}
9dc8a5c1 3641case 153:
c05aefaa 3642{ yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
885824d3 3643 break;}
9dc8a5c1 3644case 154:
885824d3 3645{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3646 break;}
9dc8a5c1 3647case 155:
885824d3 3648{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3649 break;}
9dc8a5c1 3650case 156:
885824d3 3651{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3652 break;}
9dc8a5c1 3653case 157:
885824d3 3654{ yyval.sr = yyvsp[-1].sr; ;
3655 break;}
9dc8a5c1 3656case 158:
885824d3 3657{ cstring_markOwned (yyvsp[0].cname);
3658 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3659 break;}
9dc8a5c1 3660case 159:
885824d3 3661{ cstring_markOwned (yyvsp[0].cname);
3662 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3663 break;}
9dc8a5c1 3664case 160:
c05aefaa 3665{ yyval.srset = sRefSet_undefined ;
3666 break;}
9dc8a5c1 3667case 162:
885824d3 3668{ if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3669 else { yyval.srset = sRefSet_undefined; }
3670 ;
3671 break;}
9dc8a5c1 3672case 163:
885824d3 3673{ if (sRef_isValid (yyvsp[0].sr))
3674 {
3675 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3676 }
3677 else
3678 {
3679 yyval.srset = yyvsp[-2].srset;
3680 }
3681 ;
3682 break;}
9dc8a5c1 3683case 164:
885824d3 3684{ yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3685 break;}
9dc8a5c1 3686case 165:
885824d3 3687{ yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3688 break;}
9dc8a5c1 3689case 167:
885824d3 3690{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3691 break;}
9dc8a5c1 3692case 168:
c05aefaa 3693{ yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
885824d3 3694 break;}
9dc8a5c1 3695case 169:
885824d3 3696{ yyval.expr = exprNode_makeError (); ;
3697 break;}
86d93ed3 3698case 171:
9dc8a5c1 3699{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
885824d3 3700 break;}
86d93ed3 3701case 172:
9dc8a5c1 3702{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
885824d3 3703 break;}
86d93ed3 3704case 173:
9dc8a5c1 3705{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
885824d3 3706 break;}
86d93ed3 3707case 174:
9dc8a5c1 3708{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
885824d3 3709 break;}
86d93ed3 3710case 175:
9dc8a5c1 3711{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 3712 break;}
86d93ed3 3713case 176:
9dc8a5c1 3714{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 3715 break;}
86d93ed3 3716case 177:
885824d3 3717{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3718 break;}
86d93ed3 3719case 178:
9dc8a5c1 3720{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
885824d3 3721 break;}
c05aefaa 3722case 179:
9dc8a5c1 3723{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 3724 break;}
9dc8a5c1 3725case 180:
3726{ yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
885824d3 3727 break;}
c05aefaa 3728case 182:
885824d3 3729{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3730 break;}
c05aefaa 3731case 183:
885824d3 3732{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3733 break;}
c05aefaa 3734case 184:
885824d3 3735{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3736 break;}
c05aefaa 3737case 185:
885824d3 3738{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3739 break;}
c05aefaa 3740case 186:
885824d3 3741{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3742 break;}
c05aefaa 3743case 187:
86d93ed3 3744{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3745 break;}
c05aefaa 3746case 188:
86d93ed3 3747{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3748 break;}
c05aefaa 3749case 189:
9dc8a5c1 3750{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3751 break;}
c05aefaa 3752case 190:
86d93ed3 3753{ yyval.expr = yyvsp[0].expr; ;
c05aefaa 3754 break;}
3755case 191:
9dc8a5c1 3756{ yyval.expr = yyvsp[0].expr; ;
c05aefaa 3757 break;}
3758case 192:
9dc8a5c1 3759{ yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
885824d3 3760 break;}
c05aefaa 3761case 193:
9dc8a5c1 3762{ yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
885824d3 3763 break;}
c05aefaa 3764case 194:
9dc8a5c1 3765{ yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
885824d3 3766 break;}
c05aefaa 3767case 195:
9dc8a5c1 3768{ context_setProtectVars (); ;
885824d3 3769 break;}
c05aefaa 3770case 196:
9dc8a5c1 3771{ context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
c05aefaa 3772 break;}
3773case 197:
9dc8a5c1 3774{ yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
86d93ed3 3775 break;}
3776case 198:
9dc8a5c1 3777{ yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
c05aefaa 3778 break;}
3779case 199:
9dc8a5c1 3780{ yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3781 break;}
3782case 200:
86d93ed3 3783{ yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
885824d3 3784 break;}
9dc8a5c1 3785case 202:
86d93ed3 3786{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
1ac6313d 3787 break;}
86d93ed3 3788case 204:
1ac6313d 3789{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3790 break;}
c05aefaa 3791case 205:
885824d3 3792{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3793 break;}
9dc8a5c1 3794case 206:
885824d3 3795{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3796 break;}
c05aefaa 3797case 208:
885824d3 3798{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3799 break;}
9dc8a5c1 3800case 209:
885824d3 3801{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3802 break;}
c05aefaa 3803case 211:
885824d3 3804{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3805 break;}
9dc8a5c1 3806case 212:
885824d3 3807{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3808 break;}
c05aefaa 3809case 214:
86d93ed3 3810{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3811 break;}
3812case 215:
885824d3 3813{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3814 break;}
c05aefaa 3815case 216:
885824d3 3816{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3817 break;}
9dc8a5c1 3818case 217:
885824d3 3819{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3820 break;}
c05aefaa 3821case 219:
885824d3 3822{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3823 break;}
9dc8a5c1 3824case 220:
885824d3 3825{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3826 break;}
9dc8a5c1 3827case 222:
885824d3 3828{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3829 break;}
9dc8a5c1 3830case 224:
86d93ed3 3831{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3832 break;}
9dc8a5c1 3833case 226:
3834{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3835 break;}
3836case 228:
885824d3 3837{ exprNode_produceGuards (yyvsp[-1].expr);
3838 context_enterAndClause (yyvsp[-1].expr);
3839 ;
3840 break;}
9dc8a5c1 3841case 229:
885824d3 3842{
3843 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3844 context_exitAndClause (yyval.expr, yyvsp[0].expr);
3845 ;
3846 break;}
9dc8a5c1 3847case 231:
885824d3 3848{
3849 exprNode_produceGuards (yyvsp[-1].expr);
3850 context_enterOrClause (yyvsp[-1].expr);
3851 ;
3852 break;}
9dc8a5c1 3853case 232:
885824d3 3854{
3855 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3856 context_exitOrClause (yyval.expr, yyvsp[0].expr);
3857 ;
3858 break;}
9dc8a5c1 3859case 234:
885824d3 3860{ exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3861 break;}
9dc8a5c1 3862case 235:
885824d3 3863{ context_enterFalseClause (yyvsp[-4].expr); ;
3864 break;}
9dc8a5c1 3865case 236:
86d93ed3 3866{ 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 3867 break;}
c05aefaa 3868case 238:
885824d3 3869{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3870 break;}
c05aefaa 3871case 239:
885824d3 3872{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3873 break;}
c05aefaa 3874case 240:
885824d3 3875{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3876 break;}
c05aefaa 3877case 241:
885824d3 3878{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3879 break;}
c05aefaa 3880case 242:
885824d3 3881{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3882 break;}
c05aefaa 3883case 243:
885824d3 3884{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3885 break;}
c05aefaa 3886case 244:
885824d3 3887{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3888 break;}
c05aefaa 3889case 245:
86d93ed3 3890{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3891 break;}
3892case 246:
885824d3 3893{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3894 break;}
c05aefaa 3895case 247:
86d93ed3 3896{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3897 break;}
9dc8a5c1 3898case 248:
3899{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3900 break;}
86d93ed3 3901case 250:
9dc8a5c1 3902{ yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
885824d3 3903 break;}
9dc8a5c1 3904case 251:
3905{ yyval.expr = exprNode_undefined; ;
885824d3 3906 break;}
86d93ed3 3907case 254:
9dc8a5c1 3908{ yyval.expr = yyvsp[0].expr; ;
885824d3 3909 break;}
86d93ed3 3910case 255:
9dc8a5c1 3911{ doVaDcl (); yyval.expr = exprNode_makeError (); ;
885824d3 3912 break;}
86d93ed3 3913case 256:
885824d3 3914{ yyval.expr = exprNode_makeError (); ;
3915 break;}
86d93ed3 3916case 257:
9dc8a5c1 3917{ yyval.expr = exprNode_makeError (); ;
3918 break;}
3919case 258:
885824d3 3920{
c05aefaa 3921 setProcessingVars (yyvsp[-3].qtyp);
3922 processNamedDecl (yyvsp[-1].ntyp);
3923 ;
885824d3 3924 break;}
9dc8a5c1 3925case 259:
c05aefaa 3926{
3927 unsetProcessingVars ();
3928 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-6].ntyp);
3929 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
3930 ;
885824d3 3931 break;}
9dc8a5c1 3932case 260:
c05aefaa 3933{ setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
885824d3 3934 break;}
9dc8a5c1 3935case 261:
885824d3 3936{ yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
3937 unsetProcessingVars ();
3938 ;
3939 break;}
9dc8a5c1 3940case 262:
c05aefaa 3941{
3942 processNamedDecl (yyvsp[-1].ntyp);
3943 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
3944 ;
885824d3 3945 break;}
86d93ed3 3946case 263:
9dc8a5c1 3947{ processNamedDecl (yyvsp[-2].ntyp); ;
885824d3 3948 break;}
86d93ed3 3949case 264:
9dc8a5c1 3950{ yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
885824d3 3951 break;}
86d93ed3 3952case 265:
9dc8a5c1 3953{ setProcessingTypedef (yyvsp[0].qtyp); ;
885824d3 3954 break;}
86d93ed3 3955case 266:
9dc8a5c1 3956{ clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
885824d3 3957 break;}
86d93ed3 3958case 267:
885824d3 3959{ /* in the ANSI grammar, semantics unclear */ ;
3960 break;}
86d93ed3 3961case 268:
9dc8a5c1 3962{ /* in the ANSI grammar, semantics unclear */ ;
885824d3 3963 break;}
86d93ed3 3964case 269:
9dc8a5c1 3965{ g_expectingTypeName = TRUE; ;
885824d3 3966 break;}
86d93ed3 3967case 270:
9dc8a5c1 3968{ g_expectingTypeName = TRUE; context_pushLoc (); ;
885824d3 3969 break;}
86d93ed3 3970case 271:
9dc8a5c1 3971{ yyval.exprlist = yyvsp[-1].exprlist; ;
885824d3 3972 break;}
86d93ed3 3973case 272:
9dc8a5c1 3974{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 3975 break;}
86d93ed3 3976case 273:
9dc8a5c1 3977{ yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
885824d3 3978 break;}
86d93ed3 3979case 274:
9dc8a5c1 3980{ yyval.expr = exprNode_makeError (); ;
885824d3 3981 break;}
9dc8a5c1 3982case 275:
3983{ yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
885824d3 3984 break;}
86d93ed3 3985case 277:
9dc8a5c1 3986{ yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ;
885824d3 3987 break;}
86d93ed3 3988case 278:
9dc8a5c1 3989{ yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ;
885824d3 3990 break;}
86d93ed3 3991case 279:
9dc8a5c1 3992{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 3993 break;}
86d93ed3 3994case 280:
9dc8a5c1 3995{ yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
885824d3 3996 break;}
86d93ed3 3997case 281:
9dc8a5c1 3998{ setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
885824d3 3999 break;}
86d93ed3 4000case 282:
9dc8a5c1 4001{ yyval.typequal = qual_createInline (); ;
885824d3 4002 break;}
86d93ed3 4003case 283:
9dc8a5c1 4004{ setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
885824d3 4005 break;}
86d93ed3 4006case 284:
9dc8a5c1 4007{ yyval.typequal = qual_createAuto (); ;
885824d3 4008 break;}
86d93ed3 4009case 285:
9dc8a5c1 4010{ yyval.typequal = qual_createRegister (); ;
885824d3 4011 break;}
077d4458 4012case 286:
9dc8a5c1 4013{ yyval.stateclause = yyvsp[-1].stateclause; ;
4014 break;}
4015case 287:
c05aefaa 4016{
4017 context_setProtectVars ();
4018 enterParamsTemp ();
4019 sRef_setGlobalScopeSafe ();
4020 ;
885824d3 4021 break;}
9dc8a5c1 4022case 288:
c05aefaa 4023{
4024 exitParamsTemp ();
4025 sRef_clearGlobalScopeSafe ();
4026 context_releaseVars ();
4027 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4028 ;
885824d3 4029 break;}
9dc8a5c1 4030case 289:
c05aefaa 4031{ yyval.funcclause = yyvsp[-1].funcclause; ;
885824d3 4032 break;}
9dc8a5c1 4033case 290:
c05aefaa 4034{ yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
885824d3 4035 break;}
9dc8a5c1 4036case 291:
c05aefaa 4037{
4038 context_exitFunctionHeader ();
4039 context_setProtectVars ();
4040 enterParamsTemp ();
4041 sRef_setGlobalScopeSafe ();
4042 ;
4043 break;}
9dc8a5c1 4044case 292:
c05aefaa 4045{
4046 exitParamsTemp ();
4047 sRef_clearGlobalScopeSafe ();
4048 context_releaseVars ();
4049 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4050 ;
4051 break;}
9dc8a5c1 4052case 293:
c05aefaa 4053{
4054 context_setProtectVars ();
4055 enterParamsTemp ();
4056 sRef_setGlobalScopeSafe ();
4057 ;
4058 break;}
9dc8a5c1 4059case 294:
c05aefaa 4060{
4061 context_exitFunctionHeader ();
4062 exitParamsTemp ();
4063 sRef_clearGlobalScopeSafe ();
4064 context_releaseVars ();
4065 DPRINTF (("done optGlobBufConstraintsAux\n"));
4066
4067 if (lltok_isEnsures (yyvsp[-4].tok))
4068 {
4069 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4070 }
4071 else if (lltok_isRequires (yyvsp[-4].tok))
4072 {
4073 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4074 }
4075 else
4076 {
4077 BADBRANCH;
4078 }
4079
4080 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4081 ;
4082 break;}
077d4458 4083case 295:
9dc8a5c1 4084{ yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
c05aefaa 4085 break;}
077d4458 4086case 296:
9dc8a5c1 4087{ yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
c05aefaa 4088 break;}
077d4458 4089case 297:
9dc8a5c1 4090{ yyval.typequal = qual_createExits (); ;
c05aefaa 4091 break;}
077d4458 4092case 298:
9dc8a5c1 4093{ yyval.typequal = qual_createMayExit (); ;
c05aefaa 4094 break;}
077d4458 4095case 299:
9dc8a5c1 4096{ yyval.typequal = qual_createTrueExit (); ;
c05aefaa 4097 break;}
077d4458 4098case 300:
9dc8a5c1 4099{ yyval.typequal = qual_createFalseExit (); ;
c05aefaa 4100 break;}
077d4458 4101case 301:
9dc8a5c1 4102{ yyval.typequal = qual_createNeverExit (); ;
c05aefaa 4103 break;}
077d4458 4104case 302:
9dc8a5c1 4105{ yyval.typequal = qual_createChecked (); ;
c05aefaa 4106 break;}
077d4458 4107case 303:
9dc8a5c1 4108{ yyval.typequal = qual_createCheckMod (); ;
885824d3 4109 break;}
077d4458 4110case 304:
9dc8a5c1 4111{ yyval.typequal = qual_createUnchecked (); ;
885824d3 4112 break;}
077d4458 4113case 305:
9dc8a5c1 4114{ yyval.typequal = qual_createCheckedStrict (); ;
885824d3 4115 break;}
077d4458 4116case 306:
9dc8a5c1 4117{ yyval.typequal = qual_createOwned (); ;
885824d3 4118 break;}
077d4458 4119case 307:
9dc8a5c1 4120{ yyval.typequal = qual_createDependent (); ;
885824d3 4121 break;}
077d4458 4122case 308:
9dc8a5c1 4123{ yyval.typequal = qual_createYield (); ;
885824d3 4124 break;}
077d4458 4125case 309:
9dc8a5c1 4126{ yyval.typequal = qual_createTemp (); ;
885824d3 4127 break;}
077d4458 4128case 310:
9dc8a5c1 4129{ yyval.typequal = qual_createOnly (); ;
885824d3 4130 break;}
077d4458 4131case 311:
9dc8a5c1 4132{ yyval.typequal = qual_createKeep (); ;
885824d3 4133 break;}
077d4458 4134case 312:
9dc8a5c1 4135{ yyval.typequal = qual_createKept (); ;
885824d3 4136 break;}
077d4458 4137case 313:
9dc8a5c1 4138{ yyval.typequal = qual_createShared (); ;
c05aefaa 4139 break;}
077d4458 4140case 314:
9dc8a5c1 4141{ yyval.typequal = qual_createUnique (); ;
885824d3 4142 break;}
077d4458 4143case 315:
9dc8a5c1 4144{ yyval.typequal = qual_createNull (); ;
885824d3 4145 break;}
077d4458 4146case 316:
9dc8a5c1 4147{ yyval.typequal = qual_createIsNull (); ;
885824d3 4148 break;}
077d4458 4149case 317:
9dc8a5c1 4150{ yyval.typequal = qual_createRelNull (); ;
885824d3 4151 break;}
077d4458 4152case 318:
9dc8a5c1 4153{ yyval.typequal = qual_createNotNull (); ;
885824d3 4154 break;}
077d4458 4155case 319:
9dc8a5c1 4156{ yyval.typequal = qual_createExposed (); ;
885824d3 4157 break;}
077d4458 4158case 320:
9dc8a5c1 4159{ yyval.typequal = qual_createObserver (); ;
885824d3 4160 break;}
077d4458 4161case 321:
9dc8a5c1 4162{ yyval.typequal = qual_createNullTerminated (); ;
885824d3 4163 break;}
077d4458 4164case 322:
9dc8a5c1 4165{ yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
885824d3 4166 break;}
077d4458 4167case 323:
9dc8a5c1 4168{ yyval.typequal = qual_createReturned (); ;
885824d3 4169 break;}
077d4458 4170case 324:
9dc8a5c1 4171{ yyval.typequal = qual_createSef (); ;
885824d3 4172 break;}
077d4458 4173case 325:
9dc8a5c1 4174{ yyval.typequal = qual_createUnused (); ;
c05aefaa 4175 break;}
077d4458 4176case 326:
9dc8a5c1 4177{ yyval.typequal = qual_createExternal (); ;
885824d3 4178 break;}
077d4458 4179case 327:
9dc8a5c1 4180{ yyval.typequal = qual_createTrueNull (); ;
885824d3 4181 break;}
077d4458 4182case 328:
9dc8a5c1 4183{ yyval.typequal = qual_createFalseNull (); ;
885824d3 4184 break;}
077d4458 4185case 329:
9dc8a5c1 4186{ yyval.typequal = qual_createAbstract (); ;
885824d3 4187 break;}
077d4458 4188case 330:
9dc8a5c1 4189{ yyval.typequal = qual_createConcrete (); ;
885824d3 4190 break;}
077d4458 4191case 331:
9dc8a5c1 4192{ yyval.typequal = qual_createMutable (); ;
885824d3 4193 break;}
077d4458 4194case 332:
9dc8a5c1 4195{ yyval.typequal = qual_createImmutable (); ;
885824d3 4196 break;}
077d4458 4197case 333:
9dc8a5c1 4198{ yyval.typequal = qual_createRefCounted (); ;
885824d3 4199 break;}
077d4458 4200case 334:
9dc8a5c1 4201{ yyval.typequal = qual_createRefs (); ;
885824d3 4202 break;}
077d4458 4203case 335:
9dc8a5c1 4204{ yyval.typequal = qual_createKillRef (); ;
885824d3 4205 break;}
077d4458 4206case 336:
9dc8a5c1 4207{ yyval.typequal = qual_createRelDef (); ;
885824d3 4208 break;}
077d4458 4209case 337:
9dc8a5c1 4210{ yyval.typequal = qual_createNewRef (); ;
885824d3 4211 break;}
077d4458 4212case 338:
9dc8a5c1 4213{ yyval.typequal = qual_createTempRef (); ;
885824d3 4214 break;}
077d4458 4215case 339:
9dc8a5c1 4216{ yyval.typequal = qual_createShort (); ;
885824d3 4217 break;}
077d4458 4218case 340:
9dc8a5c1 4219{ yyval.typequal = qual_createLong (); ;
c05aefaa 4220 break;}
077d4458 4221case 341:
9dc8a5c1 4222{ yyval.typequal = qual_createSigned (); ;
c05aefaa 4223 break;}
077d4458 4224case 342:
9dc8a5c1 4225{ yyval.typequal = qual_createUnsigned (); ;
c05aefaa 4226 break;}
077d4458 4227case 343:
9dc8a5c1 4228{ yyval.typequal = qual_createOut (); ;
c05aefaa 4229 break;}
077d4458 4230case 344:
9dc8a5c1 4231{ yyval.typequal = qual_createIn (); ;
c05aefaa 4232 break;}
077d4458 4233case 345:
9dc8a5c1 4234{ yyval.typequal = qual_createPartial (); ;
c05aefaa 4235 break;}
077d4458 4236case 346:
9dc8a5c1 4237{ yyval.typequal = qual_createSpecial (); ;
c05aefaa 4238 break;}
077d4458 4239case 347:
9dc8a5c1 4240{ yyval.typequal = qual_createConst (); ;
c05aefaa 4241 break;}
077d4458 4242case 348:
9dc8a5c1 4243{ yyval.typequal = qual_createVolatile (); ;
077d4458 4244 break;}
c05aefaa 4245case 349:
c05aefaa 4246{ yyval.typequal = yyvsp[-1].typequal; ;
4247 break;}
4248case 350:
c05aefaa 4249{ yyval.typequal = yyvsp[-1].typequal; ;
4250 break;}
4251case 351:
c05aefaa 4252{ yyval.typequal = yyvsp[-1].typequal; ;
4253 break;}
4254case 352:
c05aefaa 4255{ yyval.typequal = yyvsp[-1].typequal; ;
4256 break;}
4257case 353:
c05aefaa 4258{ yyval.typequal = yyvsp[-1].typequal; ;
4259 break;}
4260case 354:
c05aefaa 4261{ yyval.typequal = yyvsp[-1].typequal; ;
4262 break;}
4263case 355:
c05aefaa 4264{ yyval.typequal = yyvsp[-1].typequal; ;
4265 break;}
86d93ed3 4266case 356:
4267{ yyval.typequal = yyvsp[-1].typequal; ;
4268 break;}
9dc8a5c1 4269case 357:
4270{ yyval.typequal = yyvsp[-1].typequal; ;
885824d3 4271 break;}
077d4458 4272case 364:
9dc8a5c1 4273{ yyval.ctyp = ctype_unknown; ;
885824d3 4274 break;}
077d4458 4275case 365:
9dc8a5c1 4276{ yyval.ctyp = ctype_anyintegral; ;
885824d3 4277 break;}
077d4458 4278case 366:
9dc8a5c1 4279{ yyval.ctyp = ctype_unsignedintegral; ;
4280 break;}
4281case 367:
885824d3 4282{ yyval.ctyp = ctype_signedintegral; ;
4283 break;}
9dc8a5c1 4284case 371:
885824d3 4285{ yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4286 break;}
9dc8a5c1 4287case 372:
885824d3 4288{ yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4289 break;}
9dc8a5c1 4290case 373:
885824d3 4291{ yyval.qtyp = yyvsp[0].qtyp; ;
4292 break;}
9dc8a5c1 4293case 374:
86d93ed3 4294{ yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
885824d3 4295 break;}
077d4458 4296case 376:
9dc8a5c1 4297{ yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
885824d3 4298 break;}
077d4458 4299case 377:
86d93ed3 4300{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
885824d3 4301 break;}
077d4458 4302case 378:
9dc8a5c1 4303{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
885824d3 4304 break;}
077d4458 4305case 379:
9dc8a5c1 4306{ yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
885824d3 4307 break;}
077d4458 4308case 380:
9dc8a5c1 4309{ yyval.qtyp = qtype_unknown (); ;
885824d3 4310 break;}
077d4458 4311case 381:
9dc8a5c1 4312{ yyval.qtyp = yyvsp[0].qtyp; ;
885824d3 4313 break;}
077d4458 4314case 382:
9dc8a5c1 4315{ yyval.conL = constraintList_undefined; ;
885824d3 4316 break;}
077d4458 4317case 383:
9dc8a5c1 4318{ sRef_setGlobalScopeSafe (); ;
885824d3 4319 break;}
077d4458 4320case 384:
9dc8a5c1 4321{ sRef_clearGlobalScopeSafe (); ;
885824d3 4322 break;}
077d4458 4323case 385:
9dc8a5c1 4324{ {ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* setGlobalStructInfo(ct, $12);*/ yyval.ctyp = ct;} ;
885824d3 4325 break;}
077d4458 4326case 386:
9dc8a5c1 4327{ sRef_setGlobalScopeSafe (); ;
885824d3 4328 break;}
077d4458 4329case 387:
9dc8a5c1 4330{ sRef_clearGlobalScopeSafe (); ;
885824d3 4331 break;}
077d4458 4332case 388:
9dc8a5c1 4333{ yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
885824d3 4334 break;}
077d4458 4335case 389:
9dc8a5c1 4336{ yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
885824d3 4337 break;}
077d4458 4338case 390:
9dc8a5c1 4339{ yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
885824d3 4340 break;}
077d4458 4341case 391:
9dc8a5c1 4342{ sRef_setGlobalScopeSafe (); ;
885824d3 4343 break;}
077d4458 4344case 392:
9dc8a5c1 4345{ sRef_clearGlobalScopeSafe (); ;
885824d3 4346 break;}
077d4458 4347case 393:
9dc8a5c1 4348{ yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
885824d3 4349 break;}
077d4458 4350case 394:
9dc8a5c1 4351{ sRef_setGlobalScopeSafe (); ;
885824d3 4352 break;}
077d4458 4353case 395:
9dc8a5c1 4354{ sRef_clearGlobalScopeSafe (); ;
885824d3 4355 break;}
077d4458 4356case 396:
9dc8a5c1 4357{ yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
885824d3 4358 break;}
077d4458 4359case 397:
9dc8a5c1 4360{ yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
86d93ed3 4361 break;}
077d4458 4362case 398:
9dc8a5c1 4363{ yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
885824d3 4364 break;}
077d4458 4365case 399:
9dc8a5c1 4366{ yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
885824d3 4367 break;}
077d4458 4368case 400:
9dc8a5c1 4369{ yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4370 break;}
4371case 401:
86d93ed3 4372{ g_expectingTypeName = FALSE; ;
4373 break;}
9dc8a5c1 4374case 403:
86d93ed3 4375{ yyval.flist = uentryList_undefined; /* bogus! */ ;
4376 break;}
9dc8a5c1 4377case 404:
885824d3 4378{ yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4379 break;}
9dc8a5c1 4380case 405:
885824d3 4381{ yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4382 break;}
9dc8a5c1 4383case 406:
885824d3 4384{ yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4385 break;}
9dc8a5c1 4386case 407:
885824d3 4387{ yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4388 break;}
9dc8a5c1 4389case 408:
885824d3 4390{ yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4391 break;}
9dc8a5c1 4392case 409:
885824d3 4393{ yyval.ntyp = yyvsp[0].ntyp; ;
4394 break;}
9dc8a5c1 4395case 410:
885824d3 4396{ yyval.ntyp = idDecl_undefined; ;
4397 break;}
9dc8a5c1 4398case 411:
c05aefaa 4399{ yyval.ntyp = yyvsp[-3].ntyp; ;
885824d3 4400 break;}
9dc8a5c1 4401case 412:
885824d3 4402{ yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4403 break;}
9dc8a5c1 4404case 413:
885824d3 4405{ context_pushLoc (); ;
4406 break;}
9dc8a5c1 4407case 414:
885824d3 4408{ context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4409 break;}
9dc8a5c1 4410case 415:
885824d3 4411{ yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4412 break;}
9dc8a5c1 4413case 416:
885824d3 4414{ yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4415 break;}
9dc8a5c1 4416case 417:
885824d3 4417{ yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4418 break;}
9dc8a5c1 4419case 419:
885824d3 4420{ uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4421 usymtab_supGlobalEntry (ue);
4422 yyval.cname = yyvsp[0].cname;
4423 ;
4424 break;}
9dc8a5c1 4425case 420:
c05aefaa 4426{ uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
885824d3 4427 usymtab_supGlobalEntry (ue);
4428 yyval.cname = yyvsp[-3].cname;
4429 ;
4430 break;}
9dc8a5c1 4431case 422:
885824d3 4432{ yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4433 break;}
9dc8a5c1 4434case 423:
885824d3 4435{
4436 qtype qt = qtype_unknown ();
4437
4438 qtype_adjustPointers (yyvsp[-1].count, qt);
4439 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4440 ;
4441 break;}
9dc8a5c1 4442case 424:
885824d3 4443{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4444 break;}
077d4458 4445case 426:
9dc8a5c1 4446{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
885824d3 4447 break;}
077d4458 4448case 427:
9dc8a5c1 4449{ yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
885824d3 4450 break;}
077d4458 4451case 428:
9dc8a5c1 4452{ yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
885824d3 4453 break;}
077d4458 4454case 429:
9dc8a5c1 4455{ /* ignored for now */; ;
077d4458 4456 break;}
86d93ed3 4457case 430:
885824d3 4458{ ; ;
4459 break;}
86d93ed3 4460case 431:
885824d3 4461{ ; ;
4462 break;}
86d93ed3 4463case 432:
9dc8a5c1 4464{ ; ;
885824d3 4465 break;}
86d93ed3 4466case 433:
885824d3 4467{ yyval.count = 1; ;
4468 break;}
86d93ed3 4469case 434:
9dc8a5c1 4470{ yyval.count = 1; ;
885824d3 4471 break;}
077d4458 4472case 435:
885824d3 4473{ yyval.count = 1 + yyvsp[0].count; ;
4474 break;}
9dc8a5c1 4475case 436:
4476{ yyval.count = 1 + yyvsp[0].count; ;
885824d3 4477 break;}
077d4458 4478case 438:
9dc8a5c1 4479{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
885824d3 4480 break;}
077d4458 4481case 439:
9dc8a5c1 4482{ yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
885824d3 4483 break;}
077d4458 4484case 440:
9dc8a5c1 4485{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4486 break;}
4487case 441:
885824d3 4488{ yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4489 break;}
9dc8a5c1 4490case 443:
885824d3 4491{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4492 break;}
9dc8a5c1 4493case 444:
885824d3 4494{ storeLoc (); ;
4495 break;}
9dc8a5c1 4496case 445:
885824d3 4497{ yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4498 break;}
9dc8a5c1 4499case 446:
885824d3 4500{ storeLoc (); ;
4501 break;}
9dc8a5c1 4502case 447:
885824d3 4503{ yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4504 break;}
9dc8a5c1 4505case 448:
885824d3 4506{
4507 if (isFlipOldStyle ())
4508 {
4509 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4510 }
4511 else
4512 {
4513 setNewStyle ();
4514 }
4515 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4516 ;
4517 break;}
9dc8a5c1 4518case 449:
885824d3 4519{
4520 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4521
4522 if (isNewStyle ())
4523 {
4524 llparseerror (message ("Inconsistent function parameter syntax: %q",
4525 idDecl_unparse (tparam)));
4526 }
4527
4528 setFlipOldStyle ();
4529 yyval.oentry = makeCurrentParam (tparam);
4530 idDecl_free (tparam);
4531 ;
4532 break;}
9dc8a5c1 4533case 451:
885824d3 4534{ yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4535 break;}
9dc8a5c1 4536case 452:
885824d3 4537{ yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4538 break;}
9dc8a5c1 4539case 454:
885824d3 4540{ yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4541 break;}
9dc8a5c1 4542case 455:
885824d3 4543{ yyval.ctyp = ctype_unknown; ;
4544 break;}
9dc8a5c1 4545case 457:
885824d3 4546{ yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4547 break;}
9dc8a5c1 4548case 458:
885824d3 4549{ yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4550 break;}
9dc8a5c1 4551case 459:
c05aefaa 4552{ yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
885824d3 4553 break;}
9dc8a5c1 4554case 460:
885824d3 4555{ yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4556 break;}
9dc8a5c1 4557case 461:
077d4458 4558{ yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
885824d3 4559 break;}
9dc8a5c1 4560case 462:
885824d3 4561{ yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4562 break;}
9dc8a5c1 4563case 463:
885824d3 4564{ yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4565 break;}
9dc8a5c1 4566case 464:
885824d3 4567{ yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4568 break;}
9dc8a5c1 4569case 465:
885824d3 4570{ yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4571 break;}
9dc8a5c1 4572case 475:
885824d3 4573{ yyval.expr = yyvsp[0].expr; ;
4574 break;}
9dc8a5c1 4575case 478:
885824d3 4576{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4577 break;}
9dc8a5c1 4578case 479:
885824d3 4579{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4580 break;}
9dc8a5c1 4581case 480:
885824d3 4582{ yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4583 break;}
9dc8a5c1 4584case 481:
885824d3 4585{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4586 break;}
9dc8a5c1 4587case 482:
885824d3 4588{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4589 break;}
9dc8a5c1 4590case 483:
885824d3 4591{ context_setProtectVars (); ;
4592 break;}
9dc8a5c1 4593case 484:
885824d3 4594{ context_sizeofReleaseVars (); ;
4595 break;}
9dc8a5c1 4596case 485:
885824d3 4597{ yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4598 context_enterForClause (yyvsp[-5].expr); ;
4599 break;}
9dc8a5c1 4600case 486:
885824d3 4601{ setProcessingIterVars (yyvsp[-2].entry); ;
4602 break;}
9dc8a5c1 4603case 487:
c05aefaa 4604{ yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
885824d3 4605 break;}
9dc8a5c1 4606case 488:
885824d3 4607{ yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4608 break;}
9dc8a5c1 4609case 492:
c05aefaa 4610{ yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
885824d3 4611 break;}
9dc8a5c1 4612case 500:
885824d3 4613{ yyval.expr = yyvsp[-1].expr; ;
4614 break;}
9dc8a5c1 4615case 501:
885824d3 4616{ yyval.expr = exprNode_makeError (); ;
4617 break;}
9dc8a5c1 4618case 502:
2e127cb8 4619{ exprNode_checkIfPred (yyvsp[0].expr); ;
4620 break;}
9dc8a5c1 4621case 503:
885824d3 4622{ /* don't: context_exitTrueClause ($1, $2); */
2e127cb8 4623 yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr);
885824d3 4624 ;
4625 break;}
9dc8a5c1 4626case 504:
885824d3 4627{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4628 break;}
9dc8a5c1 4629case 505:
885824d3 4630{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4631 break;}
9dc8a5c1 4632case 516:
885824d3 4633{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4634 break;}
077d4458 4635case 518:
9dc8a5c1 4636{ yyval.expr = exprNode_makeError (); ;
885824d3 4637 break;}
077d4458 4638case 519:
9dc8a5c1 4639{ yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
885824d3 4640 break;}
077d4458 4641case 520:
9dc8a5c1 4642{ yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
885824d3 4643 break;}
077d4458 4644case 521:
2e127cb8 4645{ ; ;
885824d3 4646 break;}
077d4458 4647case 522:
9dc8a5c1 4648{ ; ;
885824d3 4649 break;}
077d4458 4650case 523:
9dc8a5c1 4651{ context_enterCaseClause (yyvsp[0].expr); ;
885824d3 4652 break;}
077d4458 4653case 524:
9dc8a5c1 4654{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
885824d3 4655 break;}
077d4458 4656case 525:
9dc8a5c1 4657{ context_enterCaseClause (yyvsp[0].expr); ;
885824d3 4658 break;}
077d4458 4659case 526:
9dc8a5c1 4660{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
885824d3 4661 break;}
077d4458 4662case 527:
9dc8a5c1 4663{ context_enterCaseClause (exprNode_undefined); ;
885824d3 4664 break;}
077d4458 4665case 528:
9dc8a5c1 4666{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
885824d3 4667 break;}
077d4458 4668case 529:
9dc8a5c1 4669{ context_enterCaseClause (exprNode_undefined); ;
885824d3 4670 break;}
077d4458 4671case 530:
9dc8a5c1 4672{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
885824d3 4673 break;}
077d4458 4674case 531:
9dc8a5c1 4675{ yyval.expr = yyvsp[-1].expr; ;
885824d3 4676 break;}
077d4458 4677case 532:
9dc8a5c1 4678{ yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
885824d3 4679 break;}
077d4458 4680case 533:
9dc8a5c1 4681{ yyval.expr = yyvsp[-1].expr; ;
885824d3 4682 break;}
077d4458 4683case 534:
9dc8a5c1 4684{ context_enterInnerContext (); ;
885824d3 4685 break;}
077d4458 4686case 535:
9dc8a5c1 4687{ context_exitInnerPlain (); ;
885824d3 4688 break;}
077d4458 4689case 536:
9dc8a5c1 4690{ context_enterStructInnerContext (); ;
885824d3 4691 break;}
077d4458 4692case 537:
9dc8a5c1 4693{ context_exitStructInnerContext (); ;
885824d3 4694 break;}
077d4458 4695case 538:
9dc8a5c1 4696{ context_exitInnerSafe (); ;
885824d3 4697 break;}
077d4458 4698case 539:
9dc8a5c1 4699{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4700 break;}
077d4458 4701case 540:
9dc8a5c1 4702{ yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
885824d3 4703 break;}
077d4458 4704case 541:
9dc8a5c1 4705{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
fafc64cf 4706 break;}
077d4458 4707case 542:
9dc8a5c1 4708{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
fafc64cf 4709 break;}
077d4458 4710case 543:
9dc8a5c1 4711{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
885824d3 4712 break;}
077d4458 4713case 544:
9dc8a5c1 4714{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
2e127cb8 4715 break;}
077d4458 4716case 545:
9dc8a5c1 4717{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4718 break;}
4719case 546:
885824d3 4720{ yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
4721 lltok_getLoc (yyvsp[-1].tok)));
4722 ;
4723 break;}
077d4458 4724case 547:
9dc8a5c1 4725{ yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
885824d3 4726 break;}
077d4458 4727case 548:
9dc8a5c1 4728{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4729 break;}
077d4458 4730case 549:
2e127cb8 4731{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
885824d3 4732 break;}
077d4458 4733case 550:
9dc8a5c1 4734{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4735 break;}
4736case 551:
2e127cb8 4737{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
885824d3 4738 break;}
9dc8a5c1 4739case 553:
2e127cb8 4740{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4741 break;}
9dc8a5c1 4742case 554:
2e127cb8 4743{ yyval.expr = yyvsp[0].expr; ;
885824d3 4744 break;}
9dc8a5c1 4745case 555:
2e127cb8 4746{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4747 break;}
9dc8a5c1 4748case 556:
2e127cb8 4749{ yyval.expr = yyvsp[0].expr; ;
885824d3 4750 break;}
9dc8a5c1 4751case 557:
2e127cb8 4752{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4753 break;}
9dc8a5c1 4754case 558:
2e127cb8 4755{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4756 break;}
9dc8a5c1 4757case 559:
2e127cb8 4758{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
885824d3 4759 break;}
9dc8a5c1 4760case 560:
2e127cb8 4761{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4762 break;}
9dc8a5c1 4763case 561:
2e127cb8 4764{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
fafc64cf 4765 break;}
9dc8a5c1 4766case 562:
2e127cb8 4767{ yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
fafc64cf 4768 break;}
9dc8a5c1 4769case 563:
2e127cb8 4770{
4771 exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr);
4772 exprNode_checkIfPred (yyvsp[-1].expr);
4773 yyval.expr = yyvsp[-1].expr;
4774 ;
4775 break;}
9dc8a5c1 4776case 564:
885824d3 4777{
4778 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4779 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4780 ;
4781 break;}
9dc8a5c1 4782case 565:
885824d3 4783{ context_enterFalseClause (yyvsp[-2].expr); ;
4784 break;}
9dc8a5c1 4785case 566:
885824d3 4786{
4787 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4788 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4789 ;
4790 break;}
9dc8a5c1 4791case 567:
885824d3 4792{ context_enterSwitch (yyvsp[0].expr); ;
4793 break;}
9dc8a5c1 4794case 568:
885824d3 4795{ yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4796 break;}
9dc8a5c1 4797case 569:
885824d3 4798{ yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4799 break;}
9dc8a5c1 4800case 570:
885824d3 4801{ yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4802 break;}
9dc8a5c1 4803case 571:
885824d3 4804{ context_enterIterClause (); ;
4805 break;}
9dc8a5c1 4806case 572:
885824d3 4807{ setProcessingIterVars (yyvsp[-3].entry); ;
4808 break;}
9dc8a5c1 4809case 573:
885824d3 4810{
c05aefaa 4811 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
885824d3 4812
4813 ;
4814 break;}
9dc8a5c1 4815case 574:
c05aefaa 4816{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 4817 break;}
9dc8a5c1 4818case 575:
885824d3 4819{ nextIterParam (); ;
4820 break;}
9dc8a5c1 4821case 576:
c05aefaa 4822{ yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
885824d3 4823 break;}
9dc8a5c1 4824case 577:
885824d3 4825{ yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
4826 break;}
9dc8a5c1 4827case 578:
885824d3 4828{ yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
4829 break;}
9dc8a5c1 4830case 579:
c05aefaa 4831{ uentry ue = coerceIterId (yyvsp[0].cname);
885824d3 4832
4833 if (uentry_isValid (ue))
4834 {
4835 yyval.expr = exprNode_iterId (ue);
4836 }
4837 else
4838 {
4839 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
4840 }
4841 ;
4842 break;}
9dc8a5c1 4843case 580:
fafc64cf 4844{ yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
c05aefaa 4845 break;}
9dc8a5c1 4846case 582:
fafc64cf 4847{ yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4848 break;}
9dc8a5c1 4849case 584:
fafc64cf 4850{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
885824d3 4851 break;}
077d4458 4852case 586:
9dc8a5c1 4853{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
885824d3 4854 break;}
077d4458 4855case 587:
9dc8a5c1 4856{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
885824d3 4857 break;}
077d4458 4858case 588:
9dc8a5c1 4859{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
885824d3 4860 break;}
077d4458 4861case 589:
9dc8a5c1 4862{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
fafc64cf 4863 break;}
077d4458 4864case 590:
9dc8a5c1 4865{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 4866 break;}
077d4458 4867case 591:
9dc8a5c1 4868{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 4869 break;}
077d4458 4870case 592:
86d93ed3 4871{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
885824d3 4872 break;}
9dc8a5c1 4873case 593:
4874{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
077d4458 4875 break;}
c05aefaa 4876case 595:
885824d3 4877{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4878 break;}
c05aefaa 4879case 596:
885824d3 4880{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4881 break;}
c05aefaa 4882case 597:
fafc64cf 4883{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4884 break;}
4885case 598:
fafc64cf 4886{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4887 break;}
c05aefaa 4888case 599:
2e127cb8 4889{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4890 break;}
4891case 600:
86d93ed3 4892{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4893 break;}
4894case 601:
4895{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4896 break;}
2e127cb8 4897case 602:
9dc8a5c1 4898{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4899 break;}
4900case 603:
86d93ed3 4901{ yyval.expr = yyvsp[0].expr; ;
1ac6313d 4902 break;}
9dc8a5c1 4903case 605:
86d93ed3 4904{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
885824d3 4905 break;}
86d93ed3 4906case 607:
885824d3 4907{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4908 break;}
c05aefaa 4909case 608:
885824d3 4910{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4911 break;}
9dc8a5c1 4912case 609:
885824d3 4913{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4914 break;}
c05aefaa 4915case 611:
885824d3 4916{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4917 break;}
9dc8a5c1 4918case 612:
885824d3 4919{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4920 break;}
c05aefaa 4921case 614:
fafc64cf 4922{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4923 break;}
9dc8a5c1 4924case 615:
885824d3 4925{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4926 break;}
86d93ed3 4927case 617:
885824d3 4928{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4929 break;}
86d93ed3 4930case 618:
885824d3 4931{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4932 break;}
c05aefaa 4933case 619:
885824d3 4934{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4935 break;}
9dc8a5c1 4936case 620:
885824d3 4937{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4938 break;}
2e127cb8 4939case 622:
885824d3 4940{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4941 break;}
9dc8a5c1 4942case 623:
885824d3 4943{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4944 break;}
9dc8a5c1 4945case 625:
fafc64cf 4946{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4947 break;}
9dc8a5c1 4948case 627:
2e127cb8 4949{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
1ac6313d 4950 break;}
9dc8a5c1 4951case 629:
86d93ed3 4952{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4953 break;}
9dc8a5c1 4954case 631:
86d93ed3 4955{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4956 break;}
9dc8a5c1 4957case 633:
4958{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
1ac6313d 4959 break;}
077d4458 4960case 635:
9dc8a5c1 4961{ context_enterTrueClause (yyvsp[-1].expr); ;
885824d3 4962 break;}
077d4458 4963case 636:
9dc8a5c1 4964{ context_enterFalseClause (yyvsp[-4].expr); ;
885824d3 4965 break;}
9dc8a5c1 4966case 637:
4967{ yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
077d4458 4968 break;}
c05aefaa 4969case 639:
885824d3 4970{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4971 break;}
c05aefaa 4972case 640:
885824d3 4973{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4974 break;}
c05aefaa 4975case 641:
885824d3 4976{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4977 break;}
c05aefaa 4978case 642:
885824d3 4979{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4980 break;}
c05aefaa 4981case 643:
885824d3 4982{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4983 break;}
c05aefaa 4984case 644:
fafc64cf 4985{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4986 break;}
c05aefaa 4987case 645:
fafc64cf 4988{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4989 break;}
c05aefaa 4990case 646:
2e127cb8 4991{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4992 break;}
c05aefaa 4993case 647:
86d93ed3 4994{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4995 break;}
c05aefaa 4996case 648:
86d93ed3 4997{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4998 break;}
c05aefaa 4999case 649:
9dc8a5c1 5000{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5001 break;}
077d4458 5002case 650:
9dc8a5c1 5003{ yyval.entry = yyvsp[0].entry; ;
885824d3 5004 break;}
077d4458 5005case 651:
9dc8a5c1 5006{ yyval.entry = uentry_undefined; ;
885824d3 5007 break;}
077d4458 5008case 652:
9dc8a5c1 5009{ context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
885824d3 5010 break;}
077d4458 5011case 653:
9dc8a5c1 5012{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5013 break;}
077d4458 5014case 654:
9dc8a5c1 5015{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
885824d3 5016 break;}
077d4458 5017case 655:
9dc8a5c1 5018{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5019 break;}
077d4458 5020case 656:
9dc8a5c1 5021{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5022 break;}
077d4458 5023case 657:
9dc8a5c1 5024{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
885824d3 5025 break;}
077d4458 5026case 658:
9dc8a5c1 5027{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
885824d3 5028 break;}
077d4458 5029case 659:
9dc8a5c1 5030{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5031 break;}
077d4458 5032case 660:
9dc8a5c1 5033{ yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
885824d3 5034 break;}
077d4458 5035case 661:
9dc8a5c1 5036{ yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
885824d3 5037 break;}
077d4458 5038case 662:
9dc8a5c1 5039{ yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
fafc64cf 5040 break;}
077d4458 5041case 663:
9dc8a5c1 5042{ yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
885824d3 5043 break;}
077d4458 5044case 664:
9dc8a5c1 5045{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
2e127cb8 5046 break;}
077d4458 5047case 665:
9dc8a5c1 5048{ yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
86d93ed3 5049 break;}
077d4458 5050case 666:
9dc8a5c1 5051{ yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
fafc64cf 5052 break;}
077d4458 5053case 667:
9dc8a5c1 5054{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
86d93ed3 5055 break;}
077d4458 5056case 668:
9dc8a5c1 5057{ yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5058 break;}
5059case 669:
86d93ed3 5060{ yyval.expr = exprNode_return (yyvsp[-1].expr); ;
885824d3 5061 break;}
9dc8a5c1 5062case 671:
86d93ed3 5063{ ; ;
5064 break;}
5065case 674:
885824d3 5066{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5067 break;}
86d93ed3 5068case 675:
885824d3 5069{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5070 break;}
86d93ed3 5071case 676:
9dc8a5c1 5072{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5073 break;}
5074case 677:
c05aefaa 5075{ yyval.cname = yyvsp[0].cname; ;
5076 break;}
9dc8a5c1 5077case 679:
c05aefaa 5078{ yyval.ctyp = ctype_unknown; ;
5079 break;}
885824d3 5080}
a889b5ee 5081 /* the action file gets copied in in place of this dollarsign */
3e3ec469 5082
885824d3 5083\f
5084 yyvsp -= yylen;
5085 yyssp -= yylen;
a889b5ee 5086#ifdef YYLSP_NEEDED
885824d3 5087 yylsp -= yylen;
5088#endif
5089
a889b5ee 5090#if YYDEBUG != 0
885824d3 5091 if (yydebug)
5092 {
5093 short *ssp1 = yyss - 1;
5094 fprintf (stderr, "state stack now");
5095 while (ssp1 != yyssp)
5096 fprintf (stderr, " %d", *++ssp1);
5097 fprintf (stderr, "\n");
5098 }
5099#endif
5100
5101 *++yyvsp = yyval;
a889b5ee 5102
5103#ifdef YYLSP_NEEDED
5104 yylsp++;
5105 if (yylen == 0)
5106 {
5107 yylsp->first_line = yylloc.first_line;
5108 yylsp->first_column = yylloc.first_column;
5109 yylsp->last_line = (yylsp-1)->last_line;
5110 yylsp->last_column = (yylsp-1)->last_column;
5111 yylsp->text = 0;
5112 }
5113 else
5114 {
5115 yylsp->last_line = (yylsp+yylen-1)->last_line;
5116 yylsp->last_column = (yylsp+yylen-1)->last_column;
5117 }
885824d3 5118#endif
5119
a889b5ee 5120 /* Now "shift" the result of the reduction.
5121 Determine what state that goes to,
5122 based on the state we popped back to
5123 and the rule number reduced by. */
885824d3 5124
5125 yyn = yyr1[yyn];
5126
5127 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5128 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5129 yystate = yytable[yystate];
5130 else
5131 yystate = yydefgoto[yyn - YYNTBASE];
5132
5133 goto yynewstate;
5134
a889b5ee 5135yyerrlab: /* here on detecting error */
885824d3 5136
a889b5ee 5137 if (! yyerrstatus)
5138 /* If not already recovering from an error, report this error. */
885824d3 5139 {
5140 ++yynerrs;
5141
5142#ifdef YYERROR_VERBOSE
5143 yyn = yypact[yystate];
5144
5145 if (yyn > YYFLAG && yyn < YYLAST)
5146 {
5147 int size = 0;
5148 char *msg;
5149 int x, count;
5150
5151 count = 0;
5152 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5153 for (x = (yyn < 0 ? -yyn : 0);
a889b5ee 5154 x < (sizeof(yytname) / sizeof(char *)); x++)
885824d3 5155 if (yycheck[x + yyn] == x)
a889b5ee 5156 size += strlen(yytname[x]) + 15, count++;
5157 msg = (char *) malloc(size + 15);
885824d3 5158 if (msg != 0)
5159 {
a889b5ee 5160 strcpy(msg, "parse error");
885824d3 5161
5162 if (count < 5)
5163 {
5164 count = 0;
5165 for (x = (yyn < 0 ? -yyn : 0);
a889b5ee 5166 x < (sizeof(yytname) / sizeof(char *)); x++)
885824d3 5167 if (yycheck[x + yyn] == x)
5168 {
a889b5ee 5169 strcat(msg, count == 0 ? ", expecting `" : " or `");
5170 strcat(msg, yytname[x]);
5171 strcat(msg, "'");
885824d3 5172 count++;
5173 }
5174 }
a889b5ee 5175 yyerror(msg);
5176 free(msg);
885824d3 5177 }
5178 else
5179 yyerror ("parse error; also virtual memory exceeded");
5180 }
5181 else
5182#endif /* YYERROR_VERBOSE */
a889b5ee 5183 yyerror("parse error");
885824d3 5184 }
885824d3 5185
a889b5ee 5186 goto yyerrlab1;
5187yyerrlab1: /* here on error raised explicitly by an action */
e55c0c6d 5188
885824d3 5189 if (yyerrstatus == 3)
5190 {
a889b5ee 5191 /* if just tried and failed to reuse lookahead token after an error, discard it. */
885824d3 5192
5193 /* return failure if at end of input */
5194 if (yychar == YYEOF)
5195 YYABORT;
a889b5ee 5196
5197#if YYDEBUG != 0
5198 if (yydebug)
5199 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5200#endif
5201
885824d3 5202 yychar = YYEMPTY;
5203 }
5204
a889b5ee 5205 /* Else will try to reuse lookahead token
5206 after shifting the error token. */
885824d3 5207
5208 yyerrstatus = 3; /* Each real token shifted decrements this */
5209
5210 goto yyerrhandle;
5211
a889b5ee 5212yyerrdefault: /* current state does not do anything special for the error token. */
885824d3 5213
5214#if 0
5215 /* This is wrong; only states that explicitly want error tokens
5216 should shift them. */
a889b5ee 5217 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5218 if (yyn) goto yydefault;
885824d3 5219#endif
5220
a889b5ee 5221yyerrpop: /* pop the current state because it cannot handle the error token */
885824d3 5222
a889b5ee 5223 if (yyssp == yyss) YYABORT;
885824d3 5224 yyvsp--;
5225 yystate = *--yyssp;
a889b5ee 5226#ifdef YYLSP_NEEDED
885824d3 5227 yylsp--;
5228#endif
5229
a889b5ee 5230#if YYDEBUG != 0
885824d3 5231 if (yydebug)
5232 {
5233 short *ssp1 = yyss - 1;
5234 fprintf (stderr, "Error: state stack now");
5235 while (ssp1 != yyssp)
5236 fprintf (stderr, " %d", *++ssp1);
5237 fprintf (stderr, "\n");
5238 }
5239#endif
5240
5241yyerrhandle:
a889b5ee 5242
885824d3 5243 yyn = yypact[yystate];
5244 if (yyn == YYFLAG)
5245 goto yyerrdefault;
5246
5247 yyn += YYTERROR;
5248 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5249 goto yyerrdefault;
5250
5251 yyn = yytable[yyn];
5252 if (yyn < 0)
5253 {
5254 if (yyn == YYFLAG)
5255 goto yyerrpop;
5256 yyn = -yyn;
5257 goto yyreduce;
5258 }
5259 else if (yyn == 0)
5260 goto yyerrpop;
5261
5262 if (yyn == YYFINAL)
5263 YYACCEPT;
5264
a889b5ee 5265#if YYDEBUG != 0
5266 if (yydebug)
5267 fprintf(stderr, "Shifting error token, ");
5268#endif
885824d3 5269
5270 *++yyvsp = yylval;
a889b5ee 5271#ifdef YYLSP_NEEDED
885824d3 5272 *++yylsp = yylloc;
5273#endif
5274
5275 yystate = yyn;
5276 goto yynewstate;
c05aefaa 5277
a889b5ee 5278 yyacceptlab:
5279 /* YYACCEPT comes here. */
c05aefaa 5280 if (yyfree_stacks)
5281 {
5282 free (yyss);
5283 free (yyvs);
a889b5ee 5284#ifdef YYLSP_NEEDED
c05aefaa 5285 free (yyls);
5286#endif
5287 }
5288 return 0;
5289
a889b5ee 5290 yyabortlab:
5291 /* YYABORT comes here. */
c05aefaa 5292 if (yyfree_stacks)
5293 {
5294 free (yyss);
5295 free (yyvs);
a889b5ee 5296#ifdef YYLSP_NEEDED
c05aefaa 5297 free (yyls);
5298#endif
5299 }
5300 return 1;
885824d3 5301}
885824d3 5302
5303
c05aefaa 5304/*@-redecl@*/ /*@-namechecks@*/
885824d3 5305extern char *yytext;
c05aefaa 5306/*@=redecl@*/ /*@=namechecks@*/
885824d3 5307
5308# include "bison.reset"
5309
5310void yyerror (/*@unused@*/ char *s)
5311{
5312 static bool givehint = FALSE;
5313
5314 if (context_inIterDef ())
5315 {
5316 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5317 context_inFunctionName ()));
5318 }
5319 else if (context_inIterEnd ())
5320 {
5321 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5322 context_inFunctionName ()));
5323 }
5324 else if (context_inMacro ())
5325 {
5326 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5327 context_inFunctionName ()));
5328
c05aefaa 5329 if (context_inUnknownMacro ())
885824d3 5330 {
5331 if (!givehint)
5332 {
5333 llhint (cstring_makeLiteral
5334 ("Precede macro definition with /*@notfunction@*/ "
5335 "to suppress checking and force expansion"));
5336 givehint = TRUE;
5337 }
5338 }
5339
5340 swallowMacro ();
c05aefaa 5341 context_exitAllClausesQuiet ();
885824d3 5342 }
5343 else
5344 {
5345 llparseerror (cstring_undefined);
5346 }
5347}
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
c05aefaa 5360/*
5361** Resets all flags in bison.head
5362*/
5363
885824d3 5364
c05aefaa 5365/*@=allmacros@*/
5366/*@=boolint@*/
5367/*@=charint@*/
5368/*@=macroparams@*/
5369/*@=macroundef@*/
5370/*@=unreachable@*/
5371/*@=macrospec@*/
5372/*@=varuse@*/
5373/*@=ignorequals@*/
5374/*@=macrostmt@*/
5375/*@=noeffect@*/
5376/*@=shadow@*/
5377/*@=exitarg@*/
5378/*@=macroredef@*/
5379/*@=uniondef@*/
5380/*@=compdef@*/
5381/*@=matchfields@*/
5382/*@=exportlocal@*/
5383/*@=evalorderuncon@*/
5384/*@=exportheader@*/
5385/*@=typeuse@*/
5386/*@=redecl@*/
5387/*@=redef@*/
5388/*@=noparams@*/
5389/*@=ansireserved@*/
5390/*@=fielduse@*/
5391/*@=ifblock@*/
5392/*@=elseifcomplete@*/
5393/*@=whileblock@*/
5394/*@=forblock@*/
5395/*@=branchstate@*/
5396/*@=readonlytrans@*/
5397/*@=namechecks@*/
5398/*@=usedef@*/
5399/*@=systemunrecog@*/
5400/*@=dependenttrans@*/
5401/*@=unqualifiedtrans@*/
5402/*@=declundef@*/
5403
5404
5405/*drl added 11/27/2001*/
bb7c2085 5406/*@=bounds@*/
This page took 1.02279 seconds and 5 git commands to generate.