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