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