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