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