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