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