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