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