]> andersk Git - splint.git/blame - src/cgrammar.c.der
Added files for the splint.sf.net repository as part of the merge process.
[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
495af944 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;
495af944 323
c05aefaa 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
495af944 370#define YYFINAL 1233
885824d3 371#define YYFLAG -32768
495af944 372#define YYNTBASE 194
885824d3 373
495af944 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,
495af944 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,
495af944 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,
495af944 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,
abd7f895 536 0, 82, 0, 83, 0, 84, 0, 85, 0, 86,
495af944 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,
f9264521 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,
495af944 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,
495af944 722 374, 375, 378, 380, 384, 384, 391, 397, 401, 402,
723 406, 407, 409, 411, 426, 429, 439, 442, 450, 451,
724 453, 455, 471, 474, 482, 485, 493, 495, 495, 499,
725 500, 501, 502, 505, 510, 514, 514, 517, 517, 522,
726 523, 526, 531, 532, 535, 536, 539, 544, 545, 548,
727 549, 550, 553, 554, 555, 560, 561, 564, 566, 568,
728 570, 579, 581, 583, 585, 601, 605, 606, 613, 614,
729 622, 624, 628, 629, 630, 631, 632, 633, 636, 637,
730 638, 639, 640, 641, 644, 647, 648, 655, 658, 661,
731 667, 675, 677, 681, 684, 685, 688, 691, 697, 701,
732 702, 705, 708, 709, 712, 713, 714, 717, 718, 719,
733 720, 721, 724, 725, 726, 727, 728, 731, 732, 735,
734 742, 746, 748, 752, 753, 755, 762, 772, 773, 776,
735 777, 778, 779, 780, 781, 782, 783, 787, 788, 792,
736 793, 796, 798, 800, 801, 802, 803, 804, 806, 810,
737 811, 814, 818, 830, 831, 832, 833, 834, 835, 836,
738 837, 841, 842, 843, 844, 845, 846, 847, 848, 849,
739 850, 854, 855, 858, 859, 860, 861, 862, 863, 864,
740 865, 866, 867, 868, 871, 872, 875, 879, 880, 883,
741 884, 885, 886, 889, 890, 894, 895, 896, 897, 900,
742 901, 902, 905, 906, 907, 910, 911, 912, 913, 914,
743 917, 918, 919, 922, 923, 926, 927, 931, 932, 935,
744 936, 941, 947, 948, 954, 960, 961, 961, 963, 966,
745 967, 968, 969, 970, 971, 972, 973, 974, 975, 976,
746 977, 980, 981, 984, 985, 988, 993, 994, 995, 998,
747 1016, 1021, 1034, 1036, 1049, 1054, 1054, 1058, 1059, 1070,
748 1071, 1074, 1077, 1080, 1083, 1084, 1087, 1088, 1091, 1092,
749 1093, 1094, 1101, 1102, 1106, 1107, 1110, 1111, 1114, 1116,
750 1125, 1126, 1127, 1128, 1129, 1132, 1135, 1141, 1150, 1153,
751 1156, 1163, 1170, 1176, 1201, 1202, 1205, 1206, 1207, 1208,
752 1209, 1212, 1213, 1214, 1215, 1218, 1219, 1220, 1221, 1222,
753 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232,
754 1233, 1234, 1238, 1239, 1242, 1243, 1246, 1247, 1250, 1251,
755 1252, 1253, 1256, 1257, 1258, 1259, 1260, 1261, 1264, 1265,
756 1266, 1267, 1270, 1271, 1272, 1273, 1276, 1277, 1278, 1279,
757 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1293, 1294, 1295,
758 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305,
759 1306, 1309, 1313, 1314, 1318, 1319, 1323, 1324, 1325, 1328,
760 1329, 1333, 1340, 1342, 1344, 1346, 1348, 1350, 1351, 1353,
761 1355, 1357, 1359, 1360, 1361, 1364, 1365, 1367, 1369, 1370,
762 1373, 1376, 1377, 1378, 1381, 1383, 1387, 1389, 1393, 1394,
763 1395, 1399, 1401, 1401, 1403, 1406, 1408, 1410, 1413, 1418,
764 1425, 1426, 1427, 1434, 1438, 1439, 1443, 1444, 1447, 1448,
765 1451, 1452, 1455, 1456, 1457, 1458, 1461, 1462, 1465, 1466,
766 1469, 1470, 1471, 1474, 1474, 1475, 1476, 1479, 1491, 1507,
767 1508, 1511, 1512, 1513, 1516, 1517, 1520, 1522, 1523, 1525,
768 1526, 1528, 1530, 1532, 1534, 1540, 1541, 1542, 1543, 1544,
769 1545, 1546, 1547, 1548, 1552, 1555, 1558, 1559, 1563, 1565,
770 1567, 1569, 1573, 1574, 1576, 1580, 1582, 1584, 1587, 1588,
771 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598,
772 1599, 1602, 1603, 1608, 1611, 1614, 1615, 1618, 1619, 1620,
773 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1631, 1632,
774 1639, 1640, 1646, 1647, 1648, 1649, 1652, 1653, 1654, 1655,
775 1658, 1659, 1663, 1666, 1669, 1672, 1675, 1678, 1681, 1682,
776 1683, 1684, 1686, 1687, 1689, 1691, 1697, 1701, 1703, 1705,
777 1707, 1711, 1712, 1715, 1716, 1719, 1720, 1723, 1724, 1727,
778 1728, 1731, 1732, 1735, 1736, 1737, 1740, 1753, 1758, 1759,
779 1763, 1764, 1767, 1772, 1775, 1776, 1777, 1785, 1786, 1786,
780 1790, 1791, 1792, 1803, 1810, 1811, 1814, 1815, 1818, 1819,
781 1820, 1821, 1822, 1824, 1825, 1826, 1827, 1830, 1831, 1832,
782 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1842, 1843, 1846,
783 1847, 1848, 1849, 1852, 1853, 1854, 1857, 1858, 1859, 1862,
784 1863, 1864, 1865, 1866, 1869, 1870, 1871, 1874, 1875, 1878,
785 1879, 1883, 1884, 1887, 1888, 1891, 1892, 1895, 1896, 1897,
786 1898, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909,
787 1910, 1911, 1912, 1915, 1916, 1919, 1922, 1924, 1926, 1930,
788 1931, 1933, 1935, 1938, 1939, 1940, 1942, 1943, 1944, 1945,
789 1946, 1947, 1948, 1951, 1952, 1955, 1956, 1959, 1963, 1964,
790 1965, 1966, 1967, 1970, 1971, 1972, 1973
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",
495af944 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",
a889b5ee 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,
495af944 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,
495af944 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,
495af944 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,
495af944 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,
495af944 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
495af944 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
495af944 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,
a889b5ee 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,
495af944 1182 694,-32768,-32768,-32768,-32768, 2309,-32768,-32768,-32768, 272,
1183-32768,-32768, 109,-32768, 126,-32768,-32768,-32768, 141, 6074,
f9264521 1184-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
495af944 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,
495af944 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,
495af944 1326-32768,-32768,-32768,-32768,-32768, 1443,-32768,-32768, 1527, -246,
1327 548, 0, 442,-32768
885824d3 1328};
1329
1330
495af944 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,
a889b5ee 1529 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
a889b5ee 1535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
a889b5ee 1571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1572 0, 0, 0, 0, 0, 0, -411, -411, -411, 0,
1573 6, 0, 0, 0, 1079, 7, 8, 9, 0, 0,
abd7f895 1574 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
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,
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,
abd7f895 1590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1591 0, 0, 0, 0, -411, -411, -411, 162, 6, 0,
a889b5ee 1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
9dc8a5c1 1609 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1610 0, 0, 0, 0, 0, 0, -272, -272, -272, 162,
f9264521 1611 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
f9264521 1612 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1628 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1629 0, 0, 0, 0, 0, 0, 0, 0, -272, -272,
1630 -272, 162, 0, 0, 0, 0, 0, 0, 0, 0,
ce7034f0 1631 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1645 -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
495af944 1646 -168, -168, -168, -168, -168, -168, 0, -168, 0, -168,
f9264521 1647 -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
495af944 1648 -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
1649 0, 0, 0, -168, 0, 0, 0, 0, 0, 0,
9dc8a5c1 1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
9dc8a5c1 1665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
9dc8a5c1 1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
9dc8a5c1 1703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
495af944 1723 0, 0, 0, 0, 0, 162, 6, 0, 0, 0,
a889b5ee 1724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
a889b5ee 1725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
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,
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,
495af944 1742 0, 0, 162, 6, 0, 0, 0, 0, 0, 0,
ce7034f0 1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1781 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1817 79, 172, 173, 0, 174, 175, 84, 0, 0, 0,
1818 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
ce7034f0 1819 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
abd7f895 1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
abd7f895 1832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
ce7034f0 1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
abd7f895 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,
495af944 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,
a889b5ee 1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1852 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
ce7034f0 1853 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
f9264521 1854 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1859 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
a889b5ee 1860 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
ce7034f0 1861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1862 0, 79, 292, 293, 0, 174, 0, 0, 0, 0,
a889b5ee 1863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
495af944 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,
a889b5ee 1910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
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,
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,
abd7f895 1923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
abd7f895 1924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
a889b5ee 1925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1926 0, 0, 0, 0, 13, 14, 15, 0, 16, 17,
1927 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
f9264521 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,
495af944 1933 77, 78, 4, 0, 5, 0, 0, 0, 0, 0,
1934 134, 82, 0, 0, 0, 85, 0, 0, 0, 0,
a889b5ee 1935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1936 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1214340e 1937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
a889b5ee 1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
a889b5ee 1951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
abd7f895 1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
ce7034f0 1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
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,
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,
f9264521 1976 0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
1977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 1980 0, 0, 0, 0, 13, 14, 15, 0, 16, 17,
1981 18, 19, 20, 21, 22, 23, 24, 25, 0, 26,
f9264521 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,
495af944 1987 77, 78, 4, 0, 0, 0, 0, 0, 0, 0,
1988 134, 82, 0, 0, 0, 85, 0, 0, 0, 0,
ce7034f0 1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
a889b5ee 1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495af944 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,
495af944 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,
ce7034f0 2200 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
a889b5ee 2206 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
495af944 2243 -1, -1, -1, -1, -1, -1, 68, 69, 70, -1,
2244 72, -1, -1, -1, 1006, 77, 78, 79, -1, -1,
2245 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
a889b5ee 2261 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2262 -1, -1, -1, -1, 68, 69, 70, 71, 72, -1,
abd7f895 2263 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2264 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
2277 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
2278 32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
2279 42, 43, 44, -1, -1, 47, 48, 49, -1, -1,
a889b5ee 2280 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2281 -1, -1, -1, -1, -1, -1, 68, 69, 70, 71,
f9264521 2282 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2283 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2284 -1, -1, -1, -1, 96, 97, 98, 99, 100, 101,
2285 -1, -1, -1, -1, -1, -1, -1, -1, 110, 111,
2286 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2287 122, 123, 124, -1, 126, 127, 128, 129, 130, 131,
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,
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,
2295 -1, 11, 12, 13, 14, 15, 16, 17, 18, 19,
2296 20, -1, -1, -1, 24, -1, -1, -1, -1, 29,
f9264521 2297 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
2298 -1, -1, 42, 43, 44, -1, -1, 47, 48, 49,
2299 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2300 -1, -1, -1, -1, -1, -1, -1, -1, 68, 69,
2301 70, 71, -1, -1, -1, -1, -1, -1, -1, -1,
2302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
2304 100, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2305 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
495af944 2306 120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
f9264521 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,
495af944 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,
ce7034f0 2321 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
ce7034f0 2325 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
f9264521 2326 -1, 24, -1, -1, -1, -1, 29, 30, 31, 32,
495af944 2327 33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
f9264521 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,
495af944 2331 -1, 29, 30, 31, 32, 33, 34, 185, 186, 187,
2332 -1, 189, 190, 191, 42, 43, -1, -1, -1, 47,
f9264521 2333 48, 49, 95, 96, 97, 98, 99, 100, 101, -1,
495af944 2334 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
2335 -1, 114, -1, 71, -1, -1, -1, -1, -1, -1,
2336 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
f9264521 2351 -1, -1, 24, -1, -1, -1, -1, 29, 30, 31,
495af944 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,
2366 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
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,
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,
2395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2396 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
f9264521 2397 96, 97, 98, 99, 100, 101, -1, -1, -1, -1,
495af944 2398 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,
2399 116, 117, 118, 119, 120, 121, 122, 123, 124, -1,
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,
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,
495af944 2413 -1, -1, 71, 72, -1, -1, -1, -1, -1, -1,
a889b5ee 2414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
f9264521 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,
495af944 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,
f9264521 2437 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
f9264521 2452 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
ce7034f0 2456 14, 15, 16, 17, 18, 19, 20, -1, -1, -1,
2457 24, -1, -1, -1, -1, 29, 30, 31, 32, 33,
495af944 2458 34, -1, 185, 186, 187, -1, 189, 190, 191, -1,
2459 -1, -1, -1, 47, 48, 49, 6, 7, 8, -1,
2460 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
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,
ce7034f0 2464 -1, -1, 96, 97, 98, 99, 100, 101, -1, -1,
495af944 2465 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
2466 114, 71, -1, -1, 19, -1, -1, -1, -1, 24,
f9264521 2467 -1, -1, -1, -1, 29, 30, 31, 32, 33, 34,
f9264521 2468 -1, -1, -1, -1, -1, -1, 96, 97, 98, 99,
495af944 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,
1214340e 2482 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
1214340e 2487 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
ce7034f0 2491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
2505 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2506 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
ce7034f0 2507 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2508 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
ce7034f0 2522 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2523 -1, -1, -1, -1, -1, -1, -1, -1, 71, -1,
ce7034f0 2524 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
abd7f895 2525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
abd7f895 2530 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2531 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1214340e 2532 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2533 -1, 185, 186, 187, -1, 189, -1, -1, -1, -1,
abd7f895 2534 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
abd7f895 2574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
ce7034f0 2580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
a889b5ee 2581 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
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,
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,
a889b5ee 2595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2596 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 2597 -1, -1, -1, -1, 111, 112, 113, -1, 115, 116,
2598 117, 118, 119, 120, 121, 122, 123, 124, -1, 126,
f9264521 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,
495af944 2604 177, 178, 44, -1, 46, -1, -1, -1, -1, -1,
2605 187, 188, -1, -1, -1, 192, -1, -1, -1, -1,
a889b5ee 2606 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
495af944 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,
a889b5ee 2622 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
f9264521 2623 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
f9264521 2633 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2634 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
f9264521 2635 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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,
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,
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,
f9264521 2647 -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
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,
495af944 2651 -1, -1, -1, -1, 111, 112, 113, -1, 115, 116,
2652 117, 118, 119, 120, 121, 122, 123, 124, -1, 126,
f9264521 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,
495af944 2658 177, 178, 44, -1, -1, -1, -1, -1, -1, -1,
2659 187, 188, -1, -1, -1, 192, -1, -1, -1, -1,
9dc8a5c1 2660 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2661 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
abd7f895 2662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
f9264521 2663 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
495af944 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:
495af944 3240{ //drl added 04/02/2002
3241 if (willOutputCode )
3242 {
3243 exprNode_unparse(yyvsp[0].expr);
3244
3245 if (exprNode_isDefined(yyvsp[0].expr) && ( (yyvsp[0].expr)->kind == XPR_INIT) )
3246 {
3247 if ( ctype_isFunctionPointer ((yyvsp[0].expr)->edata->init->id->typ->type ) )
3248 {
3249 outputCode(message("%s;\n", ctype_unparseFunctionPointer ((yyvsp[0].expr)->edata->init->id->typ->type, qualList_unparse((yyvsp[0].expr)->edata->init->id->typ->quals), cstring_copy( (yyvsp[0].expr)->edata->init->id->id ) ))
3250 );
3251 }
3252 else if ( ctype_isFunction ((yyvsp[0].expr)->edata->init->id->typ->type ) )
3253 {
3254 outputCode(message("%s;\n", ctype_unparseFunction ((yyvsp[0].expr)->edata->init->id->typ->type, cstring_copy( (yyvsp[0].expr)->edata->init->id->id ) ))
3255 );
3256 }
3257 else
3258 {
3259 outputCode(message("%s;\n", exprNode_unparse((yyvsp[0].expr) ) ));
3260 }
3261 }
3262
3263 else if (exprNode_isDefined(yyvsp[0].expr) )
3264 {
3265 outputCode(message("%s;\n", exprNode_unparse((yyvsp[0].expr) ) ));
3266 }
3267 else
3268 {
3269 /*drl try outputing nothing so that there is not an unnecessary semicolon*/
3270 // outputCode(message("%s;\n", exprNode_unparse(($1) ) ));
3271 }
3272
3273 }
3274
3275uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
885824d3 3276 break;}
3277case 11:
9dc8a5c1 3278{ uentry_clearDecl (); /* evans 2002-02-08: okay to have a null statement */ ;
885824d3 3279 break;}
3280case 12:
9dc8a5c1 3281{ uentry_clearDecl (); ;
885824d3 3282 break;}
3283case 13:
9dc8a5c1 3284{ checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
885824d3 3285 break;}
3286case 14:
9dc8a5c1 3287{ checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
885824d3 3288 break;}
3289case 15:
9dc8a5c1 3290{ context_enterFunctionHeader (); ;
3291 break;}
3292case 16:
c05aefaa 3293{
3294 declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
3295 context_exitFunctionHeader ();
3296 ;
885824d3 3297 break;}
9dc8a5c1 3298case 17:
885824d3 3299{
3300 qtype qint = qtype_create (ctype_int);
3301 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3302 qtype_free (qint);
3303 ;
3304 break;}
9dc8a5c1 3305case 18:
885824d3 3306{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3307 break;}
9dc8a5c1 3308case 20:
495af944 3309{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
885824d3 3310 break;}
9dc8a5c1 3311case 21:
885824d3 3312{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3313 break;}
9dc8a5c1 3314case 22:
885824d3 3315{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3316 break;}
9dc8a5c1 3317case 23:
393e573f 3318{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
885824d3 3319 break;}
9dc8a5c1 3320case 24:
c05aefaa 3321{
e8b84478 3322 exprNode_findValue (yyvsp[-2].expr);
3323 idDecl_notExpectingFunction (yyvsp[-5].ntyp);
3324
c05aefaa 3325 if (exprNode_hasValue (yyvsp[-2].expr))
885824d3 3326 {
077d4458 3327 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp),
3328 exprNode_getLongValue (yyvsp[-2].expr)));
c05aefaa 3329 }
885824d3 3330 else
3331 {
393e573f 3332 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-5].ntyp)));
885824d3 3333 }
885824d3 3334 ;
3335 break;}
9dc8a5c1 3336case 25:
c05aefaa 3337{ setCurrentParams (uentryList_missingParams); ;
885824d3 3338 break;}
9dc8a5c1 3339case 26:
885824d3 3340{ /* need to support globals and modifies here! */
3341 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3342 uentryList_makeMissingParams ());
c05aefaa 3343
885824d3 3344 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
c05aefaa 3345 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
3346 context_popLoc ();
3347 /*drl 7/25/01 added*/
3348 setImplictfcnConstraints();
885824d3 3349 ;
3350 break;}
9dc8a5c1 3351case 27:
c05aefaa 3352{ setCurrentParams (yyvsp[-1].entrylist); ;
885824d3 3353 break;}
9dc8a5c1 3354case 28:
c05aefaa 3355{ setImplictfcnConstraints ();
3356 clearCurrentParams ();
885824d3 3357 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
c05aefaa 3358 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3359 context_popLoc ();
3360 ;
3361 break;}
9dc8a5c1 3362case 29:
885824d3 3363{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3364 break;}
9dc8a5c1 3365case 30:
885824d3 3366{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3367 break;}
9dc8a5c1 3368case 31:
393e573f 3369{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeInnerArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
885824d3 3370 break;}
9dc8a5c1 3371case 32:
885824d3 3372{
3373 int value;
3374
3375 if (exprNode_hasValue (yyvsp[-2].expr)
3376 && multiVal_isInt (exprNode_getValue (yyvsp[-2].expr)))
3377 {
3378 value = (int) multiVal_forceInt (exprNode_getValue (yyvsp[-2].expr));
3379 }
3380 else
3381 {
3382 value = 0;
3383 }
3384
393e573f 3385 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ctype_makeInnerFixedArray (idDecl_getCtype (yyvsp[-5].ntyp), value));
885824d3 3386 ;
3387 break;}
9dc8a5c1 3388case 33:
c05aefaa 3389{ setCurrentParams (uentryList_missingParams); ;
885824d3 3390 break;}
9dc8a5c1 3391case 34:
c05aefaa 3392{
885824d3 3393 ctype ct = ctype_makeFunction (idDecl_getCtype (yyvsp[-5].ntyp),
3394 uentryList_makeMissingParams ());
c05aefaa 3395
885824d3 3396 yyval.ntyp = idDecl_replaceCtype (yyvsp[-5].ntyp, ct);
c05aefaa 3397 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3398 context_popLoc ();
3399 ;
3400 break;}
9dc8a5c1 3401case 35:
c05aefaa 3402{ setCurrentParams (yyvsp[-1].entrylist); ;
885824d3 3403 break;}
9dc8a5c1 3404case 36:
c05aefaa 3405{
3406 clearCurrentParams ();
885824d3 3407 yyval.ntyp = idDecl_replaceCtype (yyvsp[-6].ntyp, ctype_makeFunction (idDecl_getCtype (yyvsp[-6].ntyp), yyvsp[-3].entrylist));
c05aefaa 3408 idDecl_addClauses (yyval.ntyp, yyvsp[0].funcclauselist);
885824d3 3409 context_popLoc ();
3410 ;
3411 break;}
9dc8a5c1 3412case 37:
885824d3 3413{ setCurrentParams (yyvsp[-1].entrylist); ;
3414 break;}
9dc8a5c1 3415case 38:
885824d3 3416{ clearCurrentParams (); ;
3417 break;}
9dc8a5c1 3418case 39:
885824d3 3419{ declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3420 break;}
9dc8a5c1 3421case 40:
885824d3 3422{ exprNode_checkMacroBody (yyvsp[-1].expr); ;
3423 break;}
9dc8a5c1 3424case 41:
885824d3 3425{ exprNode_checkIterBody (yyvsp[-1].expr); ;
3426 break;}
9dc8a5c1 3427case 42:
885824d3 3428{ exprNode_checkIterEnd (yyvsp[-1].expr); ;
3429 break;}
9dc8a5c1 3430case 43:
885824d3 3431{ exprChecks_checkEmptyMacroBody (); ;
3432 break;}
9dc8a5c1 3433case 44:
495af944 3434{ clabstract_declareFunction (yyvsp[0].ntyp);
3435 DPRINTF (message ("fcnDefHdr is: %s", idDecl_unparseC(yyvsp[0].ntyp) ) );
3436 yyval.ntyp = yyvsp[0].ntyp; ;
885824d3 3437 break;}
9dc8a5c1 3438case 45:
c05aefaa 3439{ yyval.msconstraint = metaStateConstraint_create (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
885824d3 3440 break;}
9dc8a5c1 3441case 46:
c05aefaa 3442{ cscanner_expectingMetaStateName (); ;
885824d3 3443 break;}
9dc8a5c1 3444case 47:
c05aefaa 3445{ cscanner_clearExpectingMetaStateName ();
3446 yyval.msspec = metaStateSpecifier_create (yyvsp[-3].sr, yyvsp[0].msinfo); ;
885824d3 3447 break;}
9dc8a5c1 3448case 48:
c05aefaa 3449{ cscanner_expectingMetaStateName (); ;
885824d3 3450 break;}
9dc8a5c1 3451case 49:
c05aefaa 3452{ cscanner_clearExpectingMetaStateName ();
3453 yyval.msspec = metaStateSpecifier_createElipsis (yyvsp[0].msinfo); ;
885824d3 3454 break;}
9dc8a5c1 3455case 50:
c05aefaa 3456{ yyval.msexpr = metaStateExpression_create (yyvsp[0].msspec); ;
885824d3 3457 break;}
9dc8a5c1 3458case 51:
c05aefaa 3459{ yyval.msexpr = metaStateExpression_createMerge (yyvsp[-2].msspec, yyvsp[0].msexpr); ;
885824d3 3460 break;}
9dc8a5c1 3461case 55:
c05aefaa 3462{ yyval.conL = constraintList_add (yyvsp[0].conL, yyvsp[-2].con); ;
885824d3 3463 break;}
9dc8a5c1 3464case 56:
c05aefaa 3465{ yyval.conL = constraintList_single (yyvsp[0].con); ;
885824d3 3466 break;}
9dc8a5c1 3467case 57:
c05aefaa 3468{
495af944 3469 yyval.con = constraint_makeConstraintLltok (yyvsp[-2].conE, yyvsp[-1].tok, yyvsp[0].conE);
c05aefaa 3470 DPRINTF(("Done BufConstraint1\n")); ;
885824d3 3471 break;}
9dc8a5c1 3472case 64:
c05aefaa 3473{yyval.conE = constraintExpr_parseMakeUnaryOp (yyvsp[-3].tok, yyvsp[-1].conE); DPRINTF( ("Got BufConstraintExpr UNary Op ") ); ;
885824d3 3474 break;}
9dc8a5c1 3475case 65:
c05aefaa 3476{
3477 DPRINTF( ("Got BufConstraintExpr BINary Op ") );
3478 yyval.conE = constraintExpr_parseMakeBinaryOp (yyvsp[-3].conE, yyvsp[-2].tok, yyvsp[-1].conE); ;
885824d3 3479 break;}
9dc8a5c1 3480case 66:
c05aefaa 3481{ yyval.conE = constraintExpr_makeTermsRef (yyvsp[0].sr);;
885824d3 3482 break;}
9dc8a5c1 3483case 67:
c05aefaa 3484{ yyval.conE = constraintExpr_makeIntLiteral (exprNode_getLongValue (yyvsp[0].expr)); ;
885824d3 3485 break;}
9dc8a5c1 3486case 68:
c05aefaa 3487{ /*@-onlytrans@*/ yyval.sr = checkbufferConstraintClausesId (yyvsp[0].entry); /*@=onlytrans@*/ /*@i523@*/ ;
885824d3 3488 break;}
9dc8a5c1 3489case 69:
c05aefaa 3490{ yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
885824d3 3491 break;}
9dc8a5c1 3492case 70:
c05aefaa 3493{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
885824d3 3494 break;}
9dc8a5c1 3495case 71:
c05aefaa 3496{
3497 /*
3498 char *t; int c;
3499 t = cstring_toCharsSafe (exprNode_unparse($3));
3500 c = atoi( t );
3501 */
3502 yyval.sr = sRef_makeArrayFetchKnown (yyvsp[-3].sr, exprNode_getLongValue (yyvsp[-1].expr));
3503 ;
885824d3 3504 break;}
9dc8a5c1 3505case 72:
c05aefaa 3506{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
885824d3 3507 break;}
9dc8a5c1 3508case 73:
c05aefaa 3509{ yyval.sr = yyvsp[-1].sr; ;
885824d3 3510 break;}
9dc8a5c1 3511case 74:
c05aefaa 3512{ cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
885824d3 3513 break;}
9dc8a5c1 3514case 75:
c05aefaa 3515{ cstring_markOwned (yyvsp[0].cname); yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
885824d3 3516 break;}
86d93ed3 3517case 79:
9dc8a5c1 3518{ yyval.funcclauselist = functionClauseList_new (); ;
c05aefaa 3519 break;}
86d93ed3 3520case 80:
9dc8a5c1 3521{ yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
c05aefaa 3522 break;}
86d93ed3 3523case 81:
9dc8a5c1 3524{ yyval.funcclauselist = functionClauseList_new (); ;
c05aefaa 3525 break;}
86d93ed3 3526case 82:
9dc8a5c1 3527{ yyval.funcclauselist = functionClauseList_prepend (yyvsp[0].funcclauselist, yyvsp[-1].funcclause); ;
c05aefaa 3528 break;}
86d93ed3 3529case 83:
9dc8a5c1 3530{ yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
885824d3 3531 break;}
86d93ed3 3532case 84:
c05aefaa 3533{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
885824d3 3534 break;}
86d93ed3 3535case 85:
9dc8a5c1 3536{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
885824d3 3537 break;}
86d93ed3 3538case 86:
9dc8a5c1 3539{ yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
885824d3 3540 break;}
86d93ed3 3541case 87:
9dc8a5c1 3542{ yyval.funcclause = yyvsp[0].funcclause; ;
c05aefaa 3543 break;}
86d93ed3 3544case 88:
9dc8a5c1 3545{ yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
c05aefaa 3546 break;}
86d93ed3 3547case 89:
9dc8a5c1 3548{ yyval.funcclause = functionClause_createGlobals (yyvsp[0].globsclause); ;
c05aefaa 3549 break;}
86d93ed3 3550case 90:
c05aefaa 3551{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
3552 break;}
86d93ed3 3553case 91:
9dc8a5c1 3554{ yyval.funcclause = functionClause_createModifies (yyvsp[0].modsclause); ;
c05aefaa 3555 break;}
86d93ed3 3556case 92:
9dc8a5c1 3557{ yyval.funcclause = functionClause_createState (yyvsp[0].stateclause); ;
c05aefaa 3558 break;}
86d93ed3 3559case 93:
9dc8a5c1 3560{ yyval.funcclause = yyvsp[0].funcclause; ;
c05aefaa 3561 break;}
86d93ed3 3562case 94:
9dc8a5c1 3563{ yyval.funcclause = functionClause_createWarn (yyvsp[0].warnclause); ;
c05aefaa 3564 break;}
86d93ed3 3565case 95:
9dc8a5c1 3566{ yyval.globsclause = yyvsp[-1].globsclause; ;
c05aefaa 3567 break;}
86d93ed3 3568case 96:
9dc8a5c1 3569{ setProcessingGlobalsList (); ;
3570 break;}
3571case 97:
885824d3 3572{
c05aefaa 3573 unsetProcessingGlobals ();
3574 yyval.globsclause = globalsClause_create (yyvsp[-3].tok, yyvsp[-1].globset);
885824d3 3575 ;
3576 break;}
9dc8a5c1 3577case 98:
c05aefaa 3578{ yyval.modsclause = modifiesClause_createNoMods (yyvsp[0].tok); ;
885824d3 3579 break;}
9dc8a5c1 3580case 99:
c05aefaa 3581{ yyval.modsclause = yyvsp[-1].modsclause; ;
885824d3 3582 break;}
9dc8a5c1 3583case 100:
c05aefaa 3584{
3585 context_setProtectVars (); enterParamsTemp ();
3586 sRef_setGlobalScopeSafe ();
3587 ;
885824d3 3588 break;}
9dc8a5c1 3589case 101:
c05aefaa 3590{
3591 exitParamsTemp ();
3592 sRef_clearGlobalScopeSafe ();
3593 context_releaseVars ();
3594 yyval.modsclause = modifiesClause_create (yyvsp[-2].tok, yyvsp[0].srset);
3595 ;
885824d3 3596 break;}
9dc8a5c1 3597case 102:
c05aefaa 3598{ yyval.flagspec = flagSpec_createPlain (yyvsp[0].cname); ;
885824d3 3599 break;}
9dc8a5c1 3600case 103:
c05aefaa 3601{ yyval.flagspec = flagSpec_createOr (yyvsp[-2].cname, yyvsp[0].flagspec); ;
885824d3 3602 break;}
9dc8a5c1 3603case 106:
c05aefaa 3604{ yyval.warnclause = warnClause_undefined; ;
885824d3 3605 break;}
9dc8a5c1 3606case 107:
c05aefaa 3607{ yyval.warnclause = yyvsp[-1].warnclause; ;
885824d3 3608 break;}
9dc8a5c1 3609case 108:
c05aefaa 3610{
3611 llassert (exprNode_knownStringValue (yyvsp[0].expr));
3612 yyval.warnclause = warnClause_create (yyvsp[-2].tok, yyvsp[-1].flagspec, cstring_copy (multiVal_forceString (exprNode_getValue (yyvsp[0].expr))));
3613 exprNode_free (yyvsp[0].expr);
3614 ;
885824d3 3615 break;}
9dc8a5c1 3616case 109:
c05aefaa 3617{ yyval.warnclause = warnClause_create (yyvsp[-1].tok, yyvsp[0].flagspec, cstring_undefined); ;
885824d3 3618 break;}
9dc8a5c1 3619case 110:
c05aefaa 3620{ yyval.globset = globSet_single (yyvsp[0].sr); ;
3621 break;}
9dc8a5c1 3622case 111:
c05aefaa 3623{ yyval.globset = globSet_insert (yyvsp[-2].globset, yyvsp[0].sr); ;
3624 break;}
9dc8a5c1 3625case 112:
c05aefaa 3626{ yyval.sr = clabstract_createGlobal (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3627 break;}
9dc8a5c1 3628case 113:
c05aefaa 3629{ yyval.tquallist = qualList_undefined; ;
3630 break;}
9dc8a5c1 3631case 114:
c05aefaa 3632{ yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3633 break;}
9dc8a5c1 3634case 115:
c05aefaa 3635{ yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3636 break;}
9dc8a5c1 3637case 116:
c05aefaa 3638{ yyval.sr = clabstract_unrecognizedGlobal (yyvsp[0].cname); ;
3639 break;}
9dc8a5c1 3640case 117:
c05aefaa 3641{ yyval.sr = clabstract_checkGlobal (yyvsp[0].expr); ;
3642 break;}
9dc8a5c1 3643case 118:
c05aefaa 3644{ yyval.typequal = qual_createUndef (); ;
3645 break;}
9dc8a5c1 3646case 119:
c05aefaa 3647{ yyval.typequal = qual_createKilled (); ;
3648 break;}
9dc8a5c1 3649case 120:
c05aefaa 3650{ yyval.typequal = qual_createOut (); ;
3651 break;}
9dc8a5c1 3652case 121:
c05aefaa 3653{ yyval.typequal = qual_createIn (); ;
3654 break;}
9dc8a5c1 3655case 122:
c05aefaa 3656{ yyval.typequal = qual_createPartial (); ;
3657 break;}
9dc8a5c1 3658case 130:
885824d3 3659{
01a8227e 3660 /**!!! deal with fred; fred (int); declarations! **/
3661 qtype qint = qtype_create (ctype_int);
885824d3 3662 yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, qint);
3663 qtype_free (qint);
3664 ;
3665 break;}
9dc8a5c1 3666case 131:
885824d3 3667{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3668 break;}
9dc8a5c1 3669case 132:
885824d3 3670{ checkDoneParams (); context_enterInnerContext (); ;
3671 break;}
9dc8a5c1 3672case 133:
885824d3 3673{
3674 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3675 context_exitInner (yyvsp[0].expr);
3676 ;
3677 break;}
9dc8a5c1 3678case 134:
c05aefaa 3679{ context_enterOldStyleScope (); ;
885824d3 3680 break;}
9dc8a5c1 3681case 135:
c05aefaa 3682{ oldStyleDoneParams (); context_enterInnerContext (); ;
3683 break;}
9dc8a5c1 3684case 136:
885824d3 3685{
885824d3 3686 exprNode_checkFunctionBody (yyvsp[0].expr);
c05aefaa 3687 yyval.expr = yyvsp[0].expr; /* oldstyle */
3688 context_exitInner (yyvsp[0].expr);
885824d3 3689 ;
3690 break;}
9dc8a5c1 3691case 137:
885824d3 3692{
3693 context_setFunctionDefined (exprNode_loc (yyvsp[0].expr));
c05aefaa 3694 exprNode_checkFunction (context_getHeader (), yyvsp[0].expr);
3695 /* DRL 8 8 2000 */
495af944 3696 DPRINTF(message ("Header: %s\n", idDecl_unparseC(yyvsp[-1].ntyp) ) );
885824d3 3697 context_exitFunction ();
3698 ;
3699 break;}
9dc8a5c1 3700case 138:
885824d3 3701{ yyval.srset = yyvsp[-1].srset; ;
3702 break;}
9dc8a5c1 3703case 139:
885824d3 3704{ yyval.srset = sRefSet_new (); ;
3705 break;}
9dc8a5c1 3706case 140:
885824d3 3707{ yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3708 break;}
9dc8a5c1 3709case 141:
885824d3 3710{ yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3711 break;}
9dc8a5c1 3712case 142:
885824d3 3713{ yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3714 break;}
9dc8a5c1 3715case 143:
885824d3 3716{ yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3717 break;}
9dc8a5c1 3718case 144:
885824d3 3719{ yyval.sr = modListPointer (yyvsp[0].sr); ;
3720 break;}
9dc8a5c1 3721case 145:
885824d3 3722{ yyval.sr = yyvsp[-1].sr; ;
3723 break;}
9dc8a5c1 3724case 146:
885824d3 3725{ yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3726 break;}
9dc8a5c1 3727case 147:
885824d3 3728{ yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3729 break;}
9dc8a5c1 3730case 148:
885824d3 3731{ yyval.sr = yyvsp[0].sr; ;
3732 break;}
9dc8a5c1 3733case 149:
885824d3 3734{ yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3735 break;}
9dc8a5c1 3736case 150:
885824d3 3737{ yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3738 break;}
9dc8a5c1 3739case 151:
885824d3 3740{ yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3741 break;}
9dc8a5c1 3742case 152:
c05aefaa 3743{ yyval.sr = checkStateClausesId (yyvsp[0].entry); ;
885824d3 3744 break;}
9dc8a5c1 3745case 153:
c05aefaa 3746{ yyval.sr = fixStateClausesId (yyvsp[0].cname); ;
885824d3 3747 break;}
9dc8a5c1 3748case 154:
885824d3 3749{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3750 break;}
9dc8a5c1 3751case 155:
885824d3 3752{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3753 break;}
9dc8a5c1 3754case 156:
885824d3 3755{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3756 break;}
9dc8a5c1 3757case 157:
885824d3 3758{ yyval.sr = yyvsp[-1].sr; ;
3759 break;}
9dc8a5c1 3760case 158:
885824d3 3761{ cstring_markOwned (yyvsp[0].cname);
3762 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3763 break;}
9dc8a5c1 3764case 159:
885824d3 3765{ cstring_markOwned (yyvsp[0].cname);
3766 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3767 break;}
9dc8a5c1 3768case 160:
c05aefaa 3769{ yyval.srset = sRefSet_undefined ;
3770 break;}
9dc8a5c1 3771case 162:
885824d3 3772{ if (sRef_isValid (yyvsp[0].sr)) { yyval.srset = sRefSet_single (yyvsp[0].sr); }
3773 else { yyval.srset = sRefSet_undefined; }
3774 ;
3775 break;}
9dc8a5c1 3776case 163:
885824d3 3777{ if (sRef_isValid (yyvsp[0].sr))
3778 {
3779 yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr);
3780 }
3781 else
3782 {
3783 yyval.srset = yyvsp[-2].srset;
3784 }
3785 ;
3786 break;}
9dc8a5c1 3787case 164:
495af944 3788{ int tmpMark1; yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
885824d3 3789 break;}
9dc8a5c1 3790case 165:
885824d3 3791{ yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3792 break;}
9dc8a5c1 3793case 167:
885824d3 3794{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3795 break;}
9dc8a5c1 3796case 168:
c05aefaa 3797{ yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].cname)); ;
885824d3 3798 break;}
9dc8a5c1 3799case 169:
885824d3 3800{ yyval.expr = exprNode_makeError (); ;
3801 break;}
abd7f895 3802case 170:
3803{ exprChecks_inCompoundStatementExpression (); ;
885824d3 3804 break;}
abd7f895 3805case 171:
3806{ exprChecks_leaveCompoundStatementExpression (); yyval.expr = exprNode_compoundStatementExpression (yyvsp[-3].tok, yyvsp[-1].expr); ;
885824d3 3807 break;}
86d93ed3 3808case 173:
abd7f895 3809{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
885824d3 3810 break;}
86d93ed3 3811case 174:
abd7f895 3812{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
885824d3 3813 break;}
86d93ed3 3814case 175:
abd7f895 3815{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
885824d3 3816 break;}
86d93ed3 3817case 176:
abd7f895 3818{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
885824d3 3819 break;}
86d93ed3 3820case 177:
495af944 3821{int tmpMark2; yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 3822 break;}
86d93ed3 3823case 178:
abd7f895 3824{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 3825 break;}
c05aefaa 3826case 179:
abd7f895 3827{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
885824d3 3828 break;}
9dc8a5c1 3829case 180:
abd7f895 3830{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3831 break;}
3832case 181:
3833{ /* added for C99 */ yyval.expr = exprNode_undefined; /*@i87 no checking */ ;
885824d3 3834 break;}
c05aefaa 3835case 182:
abd7f895 3836{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 3837 break;}
c05aefaa 3838case 183:
abd7f895 3839{ yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
885824d3 3840 break;}
c05aefaa 3841case 185:
885824d3 3842{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3843 break;}
c05aefaa 3844case 186:
885824d3 3845{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3846 break;}
c05aefaa 3847case 187:
86d93ed3 3848{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3849 break;}
c05aefaa 3850case 188:
86d93ed3 3851{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3852 break;}
c05aefaa 3853case 189:
9dc8a5c1 3854{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3855 break;}
c05aefaa 3856case 190:
abd7f895 3857{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
c05aefaa 3858 break;}
3859case 191:
abd7f895 3860{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
c05aefaa 3861 break;}
3862case 192:
abd7f895 3863{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 3864 break;}
c05aefaa 3865case 193:
abd7f895 3866{ yyval.expr = yyvsp[0].expr; ;
885824d3 3867 break;}
c05aefaa 3868case 194:
abd7f895 3869{ yyval.expr = yyvsp[0].expr; ;
885824d3 3870 break;}
c05aefaa 3871case 195:
abd7f895 3872{ yyval.cstringlist = cstringList_add (yyvsp[-2].cstringlist, yyvsp[0].cname); ;
885824d3 3873 break;}
c05aefaa 3874case 196:
ce7034f0 3875{ yyval.cstringlist = cstringList_single (yyvsp[0].cname); ;
86d93ed3 3876 break;}
495af944 3877case 197:
ce7034f0 3878{ yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cstringlist); ;
c05aefaa 3879 break;}
495af944 3880case 198:
ce7034f0 3881{ context_setProtectVars (); ;
9dc8a5c1 3882 break;}
495af944 3883case 199:
ce7034f0 3884{ context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
abd7f895 3885 break;}
495af944 3886case 200:
ce7034f0 3887{ yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
885824d3 3888 break;}
495af944 3889case 201:
ce7034f0 3890{ yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
1ac6313d 3891 break;}
495af944 3892case 202:
ce7034f0 3893{ yyval.expr = exprNode_alignofType (yyvsp[-1].qtyp); ;
3894 break;}
495af944 3895case 203:
abd7f895 3896{ yyval.expr = exprNode_alignofExpr (yyvsp[0].expr); ;
885824d3 3897 break;}
495af944 3898case 205:
abd7f895 3899{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
885824d3 3900 break;}
495af944 3901case 207:
3902{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3903 break;}
c05aefaa 3904case 208:
885824d3 3905{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3906 break;}
9dc8a5c1 3907case 209:
885824d3 3908{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3909 break;}
495af944 3910case 211:
885824d3 3911{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3912 break;}
9dc8a5c1 3913case 212:
885824d3 3914{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3915 break;}
495af944 3916case 214:
86d93ed3 3917{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3918 break;}
3919case 215:
885824d3 3920{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3921 break;}
495af944 3922case 217:
885824d3 3923{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3924 break;}
abd7f895 3925case 218:
885824d3 3926{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3927 break;}
c05aefaa 3928case 219:
885824d3 3929{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3930 break;}
9dc8a5c1 3931case 220:
885824d3 3932{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3933 break;}
495af944 3934case 222:
885824d3 3935{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3936 break;}
abd7f895 3937case 223:
86d93ed3 3938{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3939 break;}
495af944 3940case 225:
9dc8a5c1 3941{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3942 break;}
495af944 3943case 227:
abd7f895 3944{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3945 break;}
495af944 3946case 229:
abd7f895 3947{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3948 break;}
495af944 3949case 231:
885824d3 3950{ exprNode_produceGuards (yyvsp[-1].expr);
3951 context_enterAndClause (yyvsp[-1].expr);
3952 ;
3953 break;}
495af944 3954case 232:
885824d3 3955{
3956 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3957 context_exitAndClause (yyval.expr, yyvsp[0].expr);
3958 ;
3959 break;}
495af944 3960case 234:
885824d3 3961{
3962 exprNode_produceGuards (yyvsp[-1].expr);
3963 context_enterOrClause (yyvsp[-1].expr);
3964 ;
3965 break;}
495af944 3966case 235:
885824d3 3967{
3968 yyval.expr = exprNode_op (yyvsp[-3].expr, yyvsp[0].expr, yyvsp[-2].tok);
3969 context_exitOrClause (yyval.expr, yyvsp[0].expr);
3970 ;
3971 break;}
495af944 3972case 237:
885824d3 3973{ exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3974 break;}
495af944 3975case 238:
abd7f895 3976{ context_enterFalseClause (yyvsp[-4].expr); ;
885824d3 3977 break;}
495af944 3978case 239:
abd7f895 3979{ 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 3980 break;}
495af944 3981case 241:
3982{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3983 break;}
c05aefaa 3984case 242:
885824d3 3985{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3986 break;}
c05aefaa 3987case 243:
885824d3 3988{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3989 break;}
c05aefaa 3990case 244:
885824d3 3991{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3992 break;}
c05aefaa 3993case 245:
86d93ed3 3994{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3995 break;}
3996case 246:
885824d3 3997{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3998 break;}
c05aefaa 3999case 247:
86d93ed3 4000{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4001 break;}
9dc8a5c1 4002case 248:
abd7f895 4003{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4004 break;}
4005case 249:
9dc8a5c1 4006{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4007 break;}
86d93ed3 4008case 250:
abd7f895 4009{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 4010 break;}
9dc8a5c1 4011case 251:
abd7f895 4012{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4013 break;}
495af944 4014case 253:
ce7034f0 4015{ yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
abd7f895 4016 break;}
495af944 4017case 254:
ce7034f0 4018{ yyval.expr = exprNode_undefined; ;
885824d3 4019 break;}
495af944 4020case 257:
ce7034f0 4021{ yyval.expr = yyvsp[0].expr; ;
885824d3 4022 break;}
495af944 4023case 258:
ce7034f0 4024{ doVaDcl (); yyval.expr = exprNode_makeError (); ;
885824d3 4025 break;}
495af944 4026case 259:
9dc8a5c1 4027{ yyval.expr = exprNode_makeError (); ;
4028 break;}
495af944 4029case 260:
4030{
4031 if (willOutputCode )
4032 outputCode(message( "%s;\n", qtypetryToPrintStruct(yyvsp[-2].qtyp) ));
4033
4034 yyval.expr = exprNode_makeError (); ;
ce7034f0 4035 break;}
495af944 4036case 261:
885824d3 4037{
c05aefaa 4038 setProcessingVars (yyvsp[-3].qtyp);
4039 processNamedDecl (yyvsp[-1].ntyp);
4040 ;
885824d3 4041 break;}
495af944 4042case 262:
4043{
4044 ctype ct;
4045
4046 ct = idDecl_getCtype (yyvsp[-6].ntyp);
4047 idDecl_setTyp (yyvsp[-6].ntyp, qtype_copy (yyvsp[-8].qtyp) );
4048 idDecl_replaceCtype(yyvsp[-6].ntyp, ct);
4049
4050 unsetProcessingVars ();
4051 /*drl 04-17-2002 added exprNode_concat */
4052 yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeEmptyInitialization (yyvsp[-6].ntyp) );
c05aefaa 4053 DPRINTF (("Empty initialization: %s", exprNode_unparse (yyval.expr)));
4054 ;
885824d3 4055 break;}
495af944 4056case 263:
c05aefaa 4057{ setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp); ;
885824d3 4058 break;}
495af944 4059case 264:
4060{
4061 ctype ct;
4062
4063 ct = idDecl_getCtype (yyvsp[-8].ntyp);
4064 idDecl_setTyp (yyvsp[-8].ntyp, qtype_copy (yyvsp[-10].qtyp) );
4065 idDecl_replaceCtype(yyvsp[-8].ntyp, ct);
4066
4067 yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
885824d3 4068 unsetProcessingVars ();
4069 ;
4070 break;}
495af944 4071case 265:
c05aefaa 4072{
4073 processNamedDecl (yyvsp[-1].ntyp);
4074 yyval.expr = exprNode_makeEmptyInitialization (yyvsp[-1].ntyp);
4075 ;
885824d3 4076 break;}
495af944 4077case 266:
ce7034f0 4078{ processNamedDecl (yyvsp[-2].ntyp); ;
885824d3 4079 break;}
495af944 4080case 267:
ce7034f0 4081{ yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
885824d3 4082 break;}
495af944 4083case 268:
ce7034f0 4084{ setProcessingTypedef (yyvsp[0].qtyp); ;
885824d3 4085 break;}
495af944 4086case 269:
4087{
4088 if ( willOutputCode )
4089 {
4090 outputCode(message( "typedef %s;",
4091 // qtypetryToPrintStruct($2),
4092 exprNode_unparse(exprNodeList_head (yyvsp[-3].exprlist) )
4093 )
4094 );
4095 }
4096 clabstract_declareType (yyvsp[-3].exprlist, yyvsp[-1].warnclause); ;
4097 break;}
abd7f895 4098case 270:
495af944 4099{ /* in the ANSI grammar, semantics unclear */ ;
885824d3 4100 break;}
abd7f895 4101case 271:
9dc8a5c1 4102{ /* in the ANSI grammar, semantics unclear */ ;
885824d3 4103 break;}
abd7f895 4104case 272:
ce7034f0 4105{ g_expectingTypeName = TRUE; ;
885824d3 4106 break;}
495af944 4107case 273:
ce7034f0 4108{ g_expectingTypeName = TRUE; context_pushLoc (); ;
885824d3 4109 break;}
495af944 4110case 274:
ce7034f0 4111{ yyval.exprlist = yyvsp[-1].exprlist; ;
885824d3 4112 break;}
495af944 4113case 275:
ce7034f0 4114{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 4115 break;}
495af944 4116case 276:
ce7034f0 4117{ yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
885824d3 4118 break;}
495af944 4119case 277:
ce7034f0 4120{ yyval.expr = exprNode_makeError (); ;
4121 break;}
495af944 4122case 278:
9dc8a5c1 4123{ yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
885824d3 4124 break;}
495af944 4125case 280:
9dc8a5c1 4126{ yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].exprlist); ;
885824d3 4127 break;}
495af944 4128case 281:
9dc8a5c1 4129{ yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].exprlist); ;
885824d3 4130 break;}
495af944 4131case 282:
1214340e 4132{ yyval.expr = exprNode_undefined; ;
885824d3 4133 break;}
495af944 4134case 283:
1214340e 4135{ yyval.expr = yyvsp[-1].expr; ;
885824d3 4136 break;}
495af944 4137case 284:
1214340e 4138{ yyval.expr = exprNode_undefined;
4139 /* gcc extension, obsolete since 2.5 */ ;
885824d3 4140 break;}
495af944 4141case 285:
4142{ yyval.expr = exprNode_undefined; ;
4143 break;}
abd7f895 4144case 286:
1214340e 4145{ yyval.expr = exprNode_undefined; ;
885824d3 4146 break;}
abd7f895 4147case 287:
1214340e 4148{ yyval.expr = exprNode_undefined; ;
885824d3 4149 break;}
abd7f895 4150case 288:
1214340e 4151{ yyval.expr = exprNode_undefined; ;
885824d3 4152 break;}
abd7f895 4153case 289:
ce7034f0 4154{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
1214340e 4155 break;}
495af944 4156case 290:
ce7034f0 4157{ yyval.exprlist = exprNodeList_push (yyvsp[-2].exprlist, yyvsp[0].expr); ;
1214340e 4158 break;}
495af944 4159case 291:
ce7034f0 4160{ setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
1214340e 4161 break;}
495af944 4162case 292:
ce7034f0 4163{ yyval.typequal = qual_createInline (); ;
1214340e 4164 break;}
495af944 4165case 293:
ce7034f0 4166{ setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
1214340e 4167 break;}
495af944 4168case 294:
ce7034f0 4169{ yyval.typequal = qual_createAuto (); ;
1214340e 4170 break;}
495af944 4171case 295:
ce7034f0 4172{ yyval.typequal = qual_createRegister (); ;
1214340e 4173 break;}
495af944 4174case 296:
ce7034f0 4175{ yyval.stateclause = yyvsp[-1].stateclause; ;
4176 break;}
495af944 4177case 297:
c05aefaa 4178{
4179 context_setProtectVars ();
4180 enterParamsTemp ();
4181 sRef_setGlobalScopeSafe ();
4182 ;
885824d3 4183 break;}
495af944 4184case 298:
c05aefaa 4185{
4186 exitParamsTemp ();
4187 sRef_clearGlobalScopeSafe ();
4188 context_releaseVars ();
4189 yyval.stateclause = stateClause_createPlain (yyvsp[-5].tok, yyvsp[-2].srset);
4190 ;
885824d3 4191 break;}
495af944 4192case 299:
c05aefaa 4193{ yyval.funcclause = yyvsp[-1].funcclause; ;
885824d3 4194 break;}
495af944 4195case 300:
c05aefaa 4196{ yyval.tok = yyvsp[-1].tok; context_enterFunctionHeader (); ;
885824d3 4197 break;}
495af944 4198case 301:
c05aefaa 4199{
4200 context_exitFunctionHeader ();
4201 context_setProtectVars ();
4202 enterParamsTemp ();
4203 sRef_setGlobalScopeSafe ();
4204 ;
4205 break;}
495af944 4206case 302:
c05aefaa 4207{
4208 exitParamsTemp ();
4209 sRef_clearGlobalScopeSafe ();
4210 context_releaseVars ();
4211 yyval.funcclause = functionClause_createState (stateClause_create (yyvsp[-5].tok, yyvsp[-4].typequal, yyvsp[-2].srset));
4212 ;
4213 break;}
495af944 4214case 303:
c05aefaa 4215{
4216 context_setProtectVars ();
4217 enterParamsTemp ();
4218 sRef_setGlobalScopeSafe ();
4219 ;
4220 break;}
495af944 4221case 304:
c05aefaa 4222{
4223 context_exitFunctionHeader ();
4224 exitParamsTemp ();
4225 sRef_clearGlobalScopeSafe ();
4226 context_releaseVars ();
4227 DPRINTF (("done optGlobBufConstraintsAux\n"));
4228
4229 if (lltok_isEnsures (yyvsp[-4].tok))
4230 {
4231 yyval.funcclause = functionClause_createEnsures (yyvsp[-2].fcnconstraint);
4232 }
4233 else if (lltok_isRequires (yyvsp[-4].tok))
4234 {
4235 yyval.funcclause = functionClause_createRequires (yyvsp[-2].fcnconstraint);
4236 }
4237 else
4238 {
4239 BADBRANCH;
4240 }
4241
4242 DPRINTF (("FunctionclauseS: %s", functionClause_unparse (yyval.funcclause)));
4243 ;
4244 break;}
495af944 4245case 305:
ce7034f0 4246{ yyval.fcnconstraint = functionConstraint_createBufferConstraint (yyvsp[0].conL); ;
c05aefaa 4247 break;}
495af944 4248case 306:
ce7034f0 4249{ yyval.fcnconstraint = functionConstraint_createMetaStateConstraint (yyvsp[0].msconstraint); DPRINTF (("Made constraint: %s", functionConstraint_unparse (yyval.fcnconstraint))); ;
c05aefaa 4250 break;}
495af944 4251case 307:
ce7034f0 4252{ yyval.typequal = qual_createExits (); ;
c05aefaa 4253 break;}
495af944 4254case 308:
ce7034f0 4255{ yyval.typequal = qual_createMayExit (); ;
c05aefaa 4256 break;}
495af944 4257case 309:
ce7034f0 4258{ yyval.typequal = qual_createTrueExit (); ;
885824d3 4259 break;}
495af944 4260case 310:
ce7034f0 4261{ yyval.typequal = qual_createFalseExit (); ;
885824d3 4262 break;}
495af944 4263case 311:
ce7034f0 4264{ yyval.typequal = qual_createNeverExit (); ;
885824d3 4265 break;}
495af944 4266case 312:
ce7034f0 4267{ yyval.typequal = qual_createChecked (); ;
885824d3 4268 break;}
495af944 4269case 313:
ce7034f0 4270{ yyval.typequal = qual_createCheckMod (); ;
885824d3 4271 break;}
495af944 4272case 314:
ce7034f0 4273{ yyval.typequal = qual_createUnchecked (); ;
885824d3 4274 break;}
495af944 4275case 315:
ce7034f0 4276{ yyval.typequal = qual_createCheckedStrict (); ;
885824d3 4277 break;}
495af944 4278case 316:
ce7034f0 4279{ yyval.typequal = qual_createOwned (); ;
885824d3 4280 break;}
495af944 4281case 317:
ce7034f0 4282{ yyval.typequal = qual_createDependent (); ;
885824d3 4283 break;}
495af944 4284case 318:
ce7034f0 4285{ yyval.typequal = qual_createYield (); ;
885824d3 4286 break;}
495af944 4287case 319:
ce7034f0 4288{ yyval.typequal = qual_createTemp (); ;
c05aefaa 4289 break;}
495af944 4290case 320:
ce7034f0 4291{ yyval.typequal = qual_createOnly (); ;
885824d3 4292 break;}
495af944 4293case 321:
ce7034f0 4294{ yyval.typequal = qual_createKeep (); ;
885824d3 4295 break;}
495af944 4296case 322:
ce7034f0 4297{ yyval.typequal = qual_createKept (); ;
885824d3 4298 break;}
495af944 4299case 323:
ce7034f0 4300{ yyval.typequal = qual_createShared (); ;
885824d3 4301 break;}
495af944 4302case 324:
ce7034f0 4303{ yyval.typequal = qual_createUnique (); ;
885824d3 4304 break;}
495af944 4305case 325:
ce7034f0 4306{ yyval.typequal = qual_createNull (); ;
885824d3 4307 break;}
495af944 4308case 326:
ce7034f0 4309{ yyval.typequal = qual_createIsNull (); ;
885824d3 4310 break;}
495af944 4311case 327:
ce7034f0 4312{ yyval.typequal = qual_createRelNull (); ;
885824d3 4313 break;}
495af944 4314case 328:
ce7034f0 4315{ yyval.typequal = qual_createNotNull (); ;
885824d3 4316 break;}
495af944 4317case 329:
ce7034f0 4318{ yyval.typequal = qual_createExposed (); ;
885824d3 4319 break;}
495af944 4320case 330:
ce7034f0 4321{ yyval.typequal = qual_createObserver (); ;
885824d3 4322 break;}
495af944 4323case 331:
ce7034f0 4324{ yyval.typequal = qual_createNullTerminated (); ;
c05aefaa 4325 break;}
495af944 4326case 332:
ce7034f0 4327{ yyval.typequal = qual_createMetaState (yyvsp[0].annotation); ;
885824d3 4328 break;}
495af944 4329case 333:
ce7034f0 4330{ yyval.typequal = qual_createReturned (); ;
885824d3 4331 break;}
495af944 4332case 334:
ce7034f0 4333{ yyval.typequal = qual_createSef (); ;
885824d3 4334 break;}
495af944 4335case 335:
ce7034f0 4336{ yyval.typequal = qual_createUnused (); ;
885824d3 4337 break;}
495af944 4338case 336:
ce7034f0 4339{ yyval.typequal = qual_createExternal (); ;
885824d3 4340 break;}
495af944 4341case 337:
ce7034f0 4342{ yyval.typequal = qual_createTrueNull (); ;
885824d3 4343 break;}
495af944 4344case 338:
ce7034f0 4345{ yyval.typequal = qual_createFalseNull (); ;
885824d3 4346 break;}
495af944 4347case 339:
ce7034f0 4348{ yyval.typequal = qual_createAbstract (); ;
885824d3 4349 break;}
495af944 4350case 340:
ce7034f0 4351{ yyval.typequal = qual_createConcrete (); ;
885824d3 4352 break;}
495af944 4353case 341:
ce7034f0 4354{ yyval.typequal = qual_createMutable (); ;
885824d3 4355 break;}
495af944 4356case 342:
ce7034f0 4357{ yyval.typequal = qual_createImmutable (); ;
885824d3 4358 break;}
495af944 4359case 343:
ce7034f0 4360{ yyval.typequal = qual_createRefCounted (); ;
885824d3 4361 break;}
495af944 4362case 344:
ce7034f0 4363{ yyval.typequal = qual_createRefs (); ;
885824d3 4364 break;}
495af944 4365case 345:
ce7034f0 4366{ yyval.typequal = qual_createKillRef (); ;
885824d3 4367 break;}
495af944 4368case 346:
ce7034f0 4369{ yyval.typequal = qual_createRelDef (); ;
c05aefaa 4370 break;}
495af944 4371case 347:
ce7034f0 4372{ yyval.typequal = qual_createNewRef (); ;
c05aefaa 4373 break;}
495af944 4374case 348:
ce7034f0 4375{ yyval.typequal = qual_createTempRef (); ;
c05aefaa 4376 break;}
495af944 4377case 349:
ce7034f0 4378{ yyval.typequal = qual_createShort (); ;
c05aefaa 4379 break;}
495af944 4380case 350:
ce7034f0 4381{ yyval.typequal = qual_createLong (); ;
c05aefaa 4382 break;}
495af944 4383case 351:
ce7034f0 4384{ yyval.typequal = qual_createSigned (); ;
c05aefaa 4385 break;}
495af944 4386case 352:
ce7034f0 4387{ yyval.typequal = qual_createUnsigned (); ;
c05aefaa 4388 break;}
495af944 4389case 353:
ce7034f0 4390{ yyval.typequal = qual_createOut (); ;
c05aefaa 4391 break;}
495af944 4392case 354:
ce7034f0 4393{ yyval.typequal = qual_createIn (); ;
077d4458 4394 break;}
495af944 4395case 355:
ce7034f0 4396{ yyval.typequal = qual_createPartial (); ;
c05aefaa 4397 break;}
495af944 4398case 356:
ce7034f0 4399{ yyval.typequal = qual_createSpecial (); ;
c05aefaa 4400 break;}
495af944 4401case 357:
ce7034f0 4402{ yyval.typequal = qual_createConst (); ;
c05aefaa 4403 break;}
495af944 4404case 358:
ce7034f0 4405{ yyval.typequal = qual_createVolatile (); ;
c05aefaa 4406 break;}
495af944 4407case 359:
4408{ yyval.typequal = yyvsp[-1].typequal; ;
4409 break;}
1214340e 4410case 360:
495af944 4411{ yyval.typequal = yyvsp[-1].typequal; ;
c05aefaa 4412 break;}
1214340e 4413case 361:
c05aefaa 4414{ yyval.typequal = yyvsp[-1].typequal; ;
4415 break;}
1214340e 4416case 362:
c05aefaa 4417{ yyval.typequal = yyvsp[-1].typequal; ;
4418 break;}
1214340e 4419case 363:
86d93ed3 4420{ yyval.typequal = yyvsp[-1].typequal; ;
4421 break;}
1214340e 4422case 364:
9dc8a5c1 4423{ yyval.typequal = yyvsp[-1].typequal; ;
885824d3 4424 break;}
abd7f895 4425case 365:
4426{ yyval.typequal = yyvsp[-1].typequal; ;
4427 break;}
4428case 366:
4429{ yyval.typequal = yyvsp[-1].typequal; ;
4430 break;}
4431case 367:
4432{ yyval.typequal = yyvsp[-1].typequal; ;
4433 break;}
495af944 4434case 374:
f9264521 4435{ yyval.ctyp = ctype_makeAnytype (); ;
9dc8a5c1 4436 break;}
495af944 4437case 375:
f9264521 4438{ yyval.ctyp = ctype_anyintegral; ;
ce7034f0 4439 break;}
495af944 4440case 376:
f9264521 4441{ yyval.ctyp = ctype_unsignedintegral; ;
4442 break;}
495af944 4443case 377:
885824d3 4444{ yyval.ctyp = ctype_signedintegral; ;
4445 break;}
495af944 4446case 381:
885824d3 4447{ yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4448 break;}
495af944 4449case 382:
885824d3 4450{ yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4451 break;}
495af944 4452case 383:
885824d3 4453{ yyval.qtyp = yyvsp[0].qtyp; ;
4454 break;}
495af944 4455case 384:
86d93ed3 4456{ yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
885824d3 4457 break;}
495af944 4458case 386:
f9264521 4459{ yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
885824d3 4460 break;}
495af944 4461case 387:
ce7034f0 4462{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
885824d3 4463 break;}
495af944 4464case 388:
f9264521 4465{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
885824d3 4466 break;}
495af944 4467case 389:
f9264521 4468{ yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
885824d3 4469 break;}
495af944 4470case 390:
f9264521 4471{ yyval.qtyp = qtype_unknown (); ;
885824d3 4472 break;}
495af944 4473case 391:
f9264521 4474{ yyval.qtyp = yyvsp[0].qtyp; ;
885824d3 4475 break;}
495af944 4476case 392:
f9264521 4477{ yyval.conL = constraintList_undefined; ;
885824d3 4478 break;}
495af944 4479case 393:
f9264521 4480{ sRef_setGlobalScopeSafe (); ;
885824d3 4481 break;}
495af944 4482case 394:
f9264521 4483{ sRef_clearGlobalScopeSafe (); ;
885824d3 4484 break;}
495af944 4485case 395:
f9264521 4486{ ctype ct; ct = declareStruct (yyvsp[-9].cname, yyvsp[-4].flist); /* setGlobalStructInfo(ct, $12);*/ yyval.ctyp = ct; ;
885824d3 4487 break;}
495af944 4488case 396:
f9264521 4489{ sRef_setGlobalScopeSafe (); ;
885824d3 4490 break;}
495af944 4491case 397:
f9264521 4492{ sRef_clearGlobalScopeSafe (); ;
885824d3 4493 break;}
495af944 4494case 398:
f9264521 4495{ yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
885824d3 4496 break;}
495af944 4497case 399:
f9264521 4498{ yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
885824d3 4499 break;}
495af944 4500case 400:
f9264521 4501{ yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
885824d3 4502 break;}
495af944 4503case 401:
f9264521 4504{ sRef_setGlobalScopeSafe (); ;
885824d3 4505 break;}
495af944 4506case 402:
f9264521 4507{ sRef_clearGlobalScopeSafe (); ;
885824d3 4508 break;}
495af944 4509case 403:
f9264521 4510{ yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
885824d3 4511 break;}
495af944 4512case 404:
f9264521 4513{ sRef_setGlobalScopeSafe (); ;
885824d3 4514 break;}
495af944 4515case 405:
f9264521 4516{ sRef_clearGlobalScopeSafe (); ;
86d93ed3 4517 break;}
495af944 4518case 406:
f9264521 4519{ yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
885824d3 4520 break;}
495af944 4521case 407:
f9264521 4522{ yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
885824d3 4523 break;}
495af944 4524case 408:
f9264521 4525{ yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
9dc8a5c1 4526 break;}
495af944 4527case 409:
f9264521 4528{ yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
ce7034f0 4529 break;}
495af944 4530case 410:
f9264521 4531{ yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4532 break;}
495af944 4533case 411:
86d93ed3 4534{ g_expectingTypeName = FALSE; ;
4535 break;}
495af944 4536case 413:
86d93ed3 4537{ yyval.flist = uentryList_undefined; /* bogus! */ ;
4538 break;}
495af944 4539case 414:
885824d3 4540{ yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4541 break;}
495af944 4542case 415:
885824d3 4543{ yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4544 break;}
495af944 4545case 416:
885824d3 4546{ yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4547 break;}
495af944 4548case 417:
885824d3 4549{ yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4550 break;}
495af944 4551case 418:
885824d3 4552{ yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4553 break;}
495af944 4554case 419:
885824d3 4555{ yyval.ntyp = yyvsp[0].ntyp; ;
4556 break;}
495af944 4557case 420:
885824d3 4558{ yyval.ntyp = idDecl_undefined; ;
4559 break;}
495af944 4560case 421:
c05aefaa 4561{ yyval.ntyp = yyvsp[-3].ntyp; ;
885824d3 4562 break;}
495af944 4563case 422:
885824d3 4564{ yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4565 break;}
495af944 4566case 423:
885824d3 4567{ context_pushLoc (); ;
4568 break;}
495af944 4569case 424:
885824d3 4570{ context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4571 break;}
495af944 4572case 425:
885824d3 4573{ yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4574 break;}
495af944 4575case 426:
885824d3 4576{ yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4577 break;}
495af944 4578case 427:
885824d3 4579{ yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4580 break;}
495af944 4581case 429:
885824d3 4582{ uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4583 usymtab_supGlobalEntry (ue);
4584 yyval.cname = yyvsp[0].cname;
4585 ;
4586 break;}
495af944 4587case 430:
c05aefaa 4588{ uentry ue = uentry_makeEnumInitializedConstant (yyvsp[-3].cname, ctype_unknown, yyvsp[0].expr);
885824d3 4589 usymtab_supGlobalEntry (ue);
4590 yyval.cname = yyvsp[-3].cname;
4591 ;
4592 break;}
495af944 4593case 432:
885824d3 4594{ yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4595 break;}
495af944 4596case 433:
885824d3 4597{
4598 qtype qt = qtype_unknown ();
495af944 4599
4600 qtype_adjustPointers (yyvsp[-1].count, qt);
885824d3 4601 yyval.ntyp = idDecl_create (cstring_copy (LastIdentifier ()), qt);
4602 ;
4603 break;}
495af944 4604case 434:
4605{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4606 break;}
f9264521 4607case 436:
495af944 4608{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4609 break;}
4610case 437:
4611{ yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
885824d3 4612 break;}
abd7f895 4613case 438:
495af944 4614{ yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
885824d3 4615 break;}
abd7f895 4616case 439:
495af944 4617{setInnerConstQual(); /* ignored for now */; ;
077d4458 4618 break;}
abd7f895 4619case 440:
495af944 4620{ ; ;
885824d3 4621 break;}
abd7f895 4622case 441:
495af944 4623{ ; ;
885824d3 4624 break;}
abd7f895 4625case 442:
495af944 4626{ ; ;
885824d3 4627 break;}
abd7f895 4628case 443:
495af944 4629{ yyval.count = 1; ;
885824d3 4630 break;}
abd7f895 4631case 444:
495af944 4632{ yyval.count = 1; ;
885824d3 4633 break;}
abd7f895 4634case 445:
495af944 4635{ yyval.count = 1 + yyvsp[0].count; ;
885824d3 4636 break;}
abd7f895 4637case 446:
495af944 4638{ yyval.count = 1 + yyvsp[0].count; ;
f9264521 4639 break;}
4640case 448:
ce7034f0 4641{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
885824d3 4642 break;}
495af944 4643case 449:
ce7034f0 4644{ yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
9dc8a5c1 4645 break;}
495af944 4646case 450:
ce7034f0 4647{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4648 break;}
495af944 4649case 451:
885824d3 4650{ yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4651 break;}
495af944 4652case 453:
885824d3 4653{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4654 break;}
495af944 4655case 454:
885824d3 4656{ storeLoc (); ;
4657 break;}
495af944 4658case 455:
885824d3 4659{ yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4660 break;}
495af944 4661case 456:
885824d3 4662{ storeLoc (); ;
4663 break;}
495af944 4664case 457:
885824d3 4665{ yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4666 break;}
495af944 4667case 458:
885824d3 4668{
4669 if (isFlipOldStyle ())
4670 {
4671 llparseerror (cstring_makeLiteral ("Inconsistent function parameter syntax (mixing old and new style declaration)"));
4672 }
4673 else
4674 {
4675 setNewStyle ();
4676 }
4677 yyval.oentry = makeCurrentParam (idDecl_fixParamBase (yyvsp[-1].ntyp, yyvsp[-2].qtyp));
4678 ;
4679 break;}
495af944 4680case 459:
885824d3 4681{
4682 idDecl tparam = idDecl_create (yyvsp[0].cname, qtype_unknown ());
4683
4684 if (isNewStyle ())
4685 {
4686 llparseerror (message ("Inconsistent function parameter syntax: %q",
4687 idDecl_unparse (tparam)));
4688 }
4689
4690 setFlipOldStyle ();
4691 yyval.oentry = makeCurrentParam (tparam);
4692 idDecl_free (tparam);
4693 ;
4694 break;}
495af944 4695case 461:
885824d3 4696{ yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4697 break;}
495af944 4698case 462:
4699{ yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
885824d3 4700 break;}
495af944 4701case 464:
4702{ yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
885824d3 4703 break;}
495af944 4704case 465:
f9264521 4705{ yyval.ctyp = ctype_unknown; ;
4706 break;}
495af944 4707case 467:
885824d3 4708{ yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4709 break;}
495af944 4710case 468:
885824d3 4711{ yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4712 break;}
495af944 4713case 469:
c05aefaa 4714{ yyval.ctyp = ctype_makeFixedArray (ctype_unknown, exprNode_getLongValue (yyvsp[-1].expr)); ;
885824d3 4715 break;}
495af944 4716case 470:
393e573f 4717{ yyval.ctyp = ctype_makeInnerArray (yyvsp[-2].ctyp); ;
885824d3 4718 break;}
495af944 4719case 471:
077d4458 4720{ yyval.ctyp = ctype_makeInnerFixedArray (yyvsp[-3].ctyp, exprNode_getLongValue (yyvsp[-1].expr)); ;
885824d3 4721 break;}
495af944 4722case 472:
885824d3 4723{ yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4724 break;}
495af944 4725case 473:
885824d3 4726{ yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4727 break;}
495af944 4728case 474:
885824d3 4729{ yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4730 break;}
495af944 4731case 475:
885824d3 4732{ yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4733 break;}
495af944 4734case 485:
885824d3 4735{ yyval.expr = yyvsp[0].expr; ;
4736 break;}
495af944 4737case 488:
885824d3 4738{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4739 break;}
495af944 4740case 489:
885824d3 4741{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4742 break;}
495af944 4743case 490:
885824d3 4744{ yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4745 break;}
495af944 4746case 491:
885824d3 4747{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4748 break;}
495af944 4749case 492:
885824d3 4750{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4751 break;}
495af944 4752case 493:
885824d3 4753{ context_setProtectVars (); ;
4754 break;}
495af944 4755case 494:
885824d3 4756{ context_sizeofReleaseVars (); ;
4757 break;}
495af944 4758case 495:
885824d3 4759{ yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4760 context_enterForClause (yyvsp[-5].expr); ;
4761 break;}
495af944 4762case 496:
885824d3 4763{ setProcessingIterVars (yyvsp[-2].entry); ;
4764 break;}
495af944 4765case 497:
c05aefaa 4766{ yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].exprlist); ;
885824d3 4767 break;}
495af944 4768case 498:
885824d3 4769{ yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4770 break;}
495af944 4771case 502:
c05aefaa 4772{ yyval.expr = yyvsp[-1].expr; DPRINTF (("def stmt: %s", exprNode_unparse (yyval.expr))); ;
885824d3 4773 break;}
495af944 4774case 510:
885824d3 4775{ yyval.expr = yyvsp[-1].expr; ;
4776 break;}
495af944 4777case 511:
885824d3 4778{ yyval.expr = exprNode_makeError (); ;
4779 break;}
495af944 4780case 512:
2e127cb8 4781{ exprNode_checkIfPred (yyvsp[0].expr); ;
4782 break;}
495af944 4783case 513:
885824d3 4784{ /* don't: context_exitTrueClause ($1, $2); */
2e127cb8 4785 yyval.expr = exprNode_if (yyvsp[-2].expr, yyvsp[0].expr);
885824d3 4786 ;
4787 break;}
495af944 4788case 514:
885824d3 4789{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4790 break;}
495af944 4791case 515:
885824d3 4792{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4793 break;}
495af944 4794case 526:
f9264521 4795{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
885824d3 4796 break;}
495af944 4797case 528:
f9264521 4798{ yyval.expr = exprNode_makeError (); ;
885824d3 4799 break;}
495af944 4800case 529:
f9264521 4801{ yyval.expr = exprNode_labelMarker (yyvsp[-1].cname); ;
885824d3 4802 break;}
495af944 4803case 530:
f9264521 4804{ yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
885824d3 4805 break;}
495af944 4806case 531:
f9264521 4807{ ; ;
885824d3 4808 break;}
495af944 4809case 532:
f9264521 4810{ ; ;
885824d3 4811 break;}
495af944 4812case 533:
ce7034f0 4813{ context_enterCaseClause (yyvsp[0].expr); ;
885824d3 4814 break;}
495af944 4815case 534:
f9264521 4816{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, FALSE); ;
885824d3 4817 break;}
495af944 4818case 535:
f9264521 4819{ context_enterCaseClause (yyvsp[0].expr); ;
885824d3 4820 break;}
495af944 4821case 536:
f9264521 4822{ yyval.expr = exprNode_caseMarker (yyvsp[-2].expr, TRUE); ;
885824d3 4823 break;}
495af944 4824case 537:
ce7034f0 4825{ context_enterCaseClause (exprNode_undefined); ;
885824d3 4826 break;}
495af944 4827case 538:
f9264521 4828{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, FALSE); ;
885824d3 4829 break;}
495af944 4830case 539:
f9264521 4831{ context_enterCaseClause (exprNode_undefined); ;
885824d3 4832 break;}
495af944 4833case 540:
f9264521 4834{ yyval.expr = exprNode_defaultMarker (yyvsp[-2].tok, TRUE); ;
885824d3 4835 break;}
495af944 4836case 541:
ce7034f0 4837{ yyval.expr = yyvsp[-1].expr; ;
885824d3 4838 break;}
495af944 4839case 542:
f9264521 4840{ yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
885824d3 4841 break;}
495af944 4842case 543:
f9264521 4843{ yyval.expr = yyvsp[-1].expr; ;
885824d3 4844 break;}
495af944 4845case 544:
f9264521 4846{ context_enterInnerContext (); ;
885824d3 4847 break;}
495af944 4848case 545:
f9264521 4849{ context_exitInnerPlain (); ;
885824d3 4850 break;}
495af944 4851case 546:
f9264521 4852{ context_enterStructInnerContext (); ;
885824d3 4853 break;}
495af944 4854case 547:
f9264521 4855{ context_exitStructInnerContext (); ;
885824d3 4856 break;}
495af944 4857case 548:
f9264521 4858{ context_exitInnerSafe (); ;
fafc64cf 4859 break;}
495af944 4860case 549:
f9264521 4861{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
fafc64cf 4862 break;}
495af944 4863case 550:
f9264521 4864{ yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
885824d3 4865 break;}
495af944 4866case 551:
ce7034f0 4867{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
2e127cb8 4868 break;}
495af944 4869case 552:
ce7034f0 4870{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
9dc8a5c1 4871 break;}
495af944 4872case 553:
f9264521 4873{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
ce7034f0 4874 break;}
495af944 4875case 554:
f9264521 4876{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4877 break;}
495af944 4878case 555:
f9264521 4879{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4880 break;}
495af944 4881case 556:
885824d3 4882{ yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
4883 lltok_getLoc (yyvsp[-1].tok)));
4884 ;
4885 break;}
495af944 4886case 557:
ce7034f0 4887{ yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
885824d3 4888 break;}
495af944 4889case 558:
ce7034f0 4890{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4891 break;}
495af944 4892case 559:
9dc8a5c1 4893{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4894 break;}
495af944 4895case 560:
ce7034f0 4896{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4897 break;}
495af944 4898case 561:
f9264521 4899{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
885824d3 4900 break;}
495af944 4901case 563:
2e127cb8 4902{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4903 break;}
495af944 4904case 564:
2e127cb8 4905{ yyval.expr = yyvsp[0].expr; ;
885824d3 4906 break;}
495af944 4907case 565:
f9264521 4908{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
abd7f895 4909 break;}
495af944 4910case 566:
abd7f895 4911{ yyval.expr = yyvsp[0].expr; ;
4912 break;}
495af944 4913case 567:
f9264521 4914{ yyval.expr = exprNode_concat (yyvsp[-2].expr, yyvsp[0].expr); ;
abd7f895 4915 break;}
495af944 4916case 568:
abd7f895 4917{ yyval.expr = yyvsp[0].expr; ;
4918 break;}
495af944 4919case 569:
f9264521 4920{ yyval.expr = yyvsp[-2].expr; ;
885824d3 4921 break;}
495af944 4922case 570:
f9264521 4923{ yyval.expr = yyvsp[0].expr; ;
885824d3 4924 break;}
495af944 4925case 571:
f9264521 4926{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 4927 break;}
495af944 4928case 572:
2e127cb8 4929{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
885824d3 4930 break;}
495af944 4931case 573:
2e127cb8 4932{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
fafc64cf 4933 break;}
495af944 4934case 574:
f9264521 4935{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
fafc64cf 4936 break;}
495af944 4937case 575:
f9264521 4938{ yyval.expr = exprNode_statement (yyvsp[-1].expr, yyvsp[0].tok); ;
4939 break;}
495af944 4940case 576:
f9264521 4941{ yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4942 break;}
495af944 4943case 577:
2e127cb8 4944{
4945 exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr);
4946 exprNode_checkIfPred (yyvsp[-1].expr);
4947 yyval.expr = yyvsp[-1].expr;
4948 ;
4949 break;}
495af944 4950case 578:
885824d3 4951{
4952 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4953 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4954 ;
4955 break;}
495af944 4956case 579:
885824d3 4957{ context_enterFalseClause (yyvsp[-2].expr); ;
4958 break;}
495af944 4959case 580:
885824d3 4960{
4961 context_exitClause (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4962 yyval.expr = exprNode_ifelse (yyvsp[-4].expr, yyvsp[-3].expr, yyvsp[0].expr);
4963 ;
4964 break;}
495af944 4965case 581:
885824d3 4966{ context_enterSwitch (yyvsp[0].expr); ;
4967 break;}
495af944 4968case 582:
885824d3 4969{ yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4970 break;}
495af944 4971case 583:
885824d3 4972{ yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4973 break;}
495af944 4974case 584:
885824d3 4975{ yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4976 break;}
495af944 4977case 585:
885824d3 4978{ context_enterIterClause (); ;
4979 break;}
495af944 4980case 586:
885824d3 4981{ setProcessingIterVars (yyvsp[-3].entry); ;
4982 break;}
495af944 4983case 587:
885824d3 4984{
c05aefaa 4985 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].exprlist, yyvsp[-2].expr, yyvsp[-1].entry);
885824d3 4986
4987 ;
4988 break;}
495af944 4989case 588:
c05aefaa 4990{ yyval.exprlist = exprNodeList_singleton (yyvsp[0].expr); ;
885824d3 4991 break;}
495af944 4992case 589:
885824d3 4993{ nextIterParam (); ;
4994 break;}
495af944 4995case 590:
c05aefaa 4996{ yyval.exprlist = exprNodeList_push (yyvsp[-3].exprlist, yyvsp[0].expr); ;
885824d3 4997 break;}
495af944 4998case 591:
885824d3 4999{ yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
5000 break;}
495af944 5001case 592:
885824d3 5002{ yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
5003 break;}
495af944 5004case 593:
c05aefaa 5005{ uentry ue = coerceIterId (yyvsp[0].cname);
885824d3 5006
5007 if (uentry_isValid (ue))
5008 {
5009 yyval.expr = exprNode_iterId (ue);
5010 }
5011 else
5012 {
5013 yyval.expr = exprNode_iterNewId (cstring_copy (LastIdentifier ()));
5014 }
5015 ;
5016 break;}
495af944 5017case 594:
fafc64cf 5018{ yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
c05aefaa 5019 break;}
495af944 5020case 596:
fafc64cf 5021{ yyval.expr = exprNode_combineLiterals (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5022 break;}
495af944 5023case 598:
fafc64cf 5024{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
885824d3 5025 break;}
495af944 5026case 600:
ce7034f0 5027{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
885824d3 5028 break;}
495af944 5029case 601:
ce7034f0 5030{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
885824d3 5031 break;}
495af944 5032case 602:
ce7034f0 5033{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].exprlist); ;
fafc64cf 5034 break;}
495af944 5035case 603:
ce7034f0 5036{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
885824d3 5037 break;}
495af944 5038case 604:
5039{int tmpMark1; yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 5040 break;}
495af944 5041case 605:
ce7034f0 5042{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-2].tok, yyvsp[-1].cname); ;
885824d3 5043 break;}
495af944 5044case 606:
ce7034f0 5045{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
885824d3 5046 break;}
495af944 5047case 607:
f9264521 5048{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
fafc64cf 5049 break;}
495af944 5050case 609:
5051{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5052 break;}
5053case 610:
5054{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5055 break;}
5056case 611:
5057{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5058 break;}
abd7f895 5059case 612:
fafc64cf 5060{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5061 break;}
abd7f895 5062case 613:
2e127cb8 5063{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5064 break;}
abd7f895 5065case 614:
86d93ed3 5066{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5067 break;}
abd7f895 5068case 615:
86d93ed3 5069{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5070 break;}
abd7f895 5071case 616:
9dc8a5c1 5072{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
5073 break;}
abd7f895 5074case 617:
495af944 5075{ yyval.expr = yyvsp[0].expr; ;
f9264521 5076 break;}
5077case 619:
495af944 5078{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
1ac6313d 5079 break;}
495af944 5080case 621:
5081{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5082 break;}
abd7f895 5083case 622:
495af944 5084{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5085 break;}
495af944 5086case 623:
885824d3 5087{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5088 break;}
f9264521 5089case 625:
885824d3 5090{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5091 break;}
abd7f895 5092case 626:
885824d3 5093{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5094 break;}
f9264521 5095case 628:
fafc64cf 5096{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5097 break;}
abd7f895 5098case 629:
885824d3 5099{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5100 break;}
f9264521 5101case 631:
885824d3 5102{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5103 break;}
abd7f895 5104case 632:
885824d3 5105{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5106 break;}
495af944 5107case 633:
885824d3 5108{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5109 break;}
495af944 5110case 634:
f9264521 5111{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5112 break;}
5113case 636:
885824d3 5114{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5115 break;}
abd7f895 5116case 637:
885824d3 5117{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5118 break;}
f9264521 5119case 639:
fafc64cf 5120{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5121 break;}
495af944 5122case 641:
2e127cb8 5123{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
1ac6313d 5124 break;}
495af944 5125case 643:
86d93ed3 5126{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5127 break;}
495af944 5128case 645:
86d93ed3 5129{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5130 break;}
495af944 5131case 647:
9dc8a5c1 5132{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
1ac6313d 5133 break;}
495af944 5134case 649:
5135{ context_enterTrueClause (yyvsp[-1].expr); ;
885824d3 5136 break;}
abd7f895 5137case 650:
495af944 5138{ context_enterFalseClause (yyvsp[-4].expr); ;
f9264521 5139 break;}
495af944 5140case 651:
5141{ yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
885824d3 5142 break;}
f9264521 5143case 653:
495af944 5144{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
077d4458 5145 break;}
abd7f895 5146case 654:
495af944 5147{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5148 break;}
5149case 655:
5150{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5151 break;}
abd7f895 5152case 656:
885824d3 5153{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5154 break;}
abd7f895 5155case 657:
885824d3 5156{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5157 break;}
abd7f895 5158case 658:
fafc64cf 5159{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5160 break;}
abd7f895 5161case 659:
fafc64cf 5162{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5163 break;}
abd7f895 5164case 660:
2e127cb8 5165{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5166 break;}
abd7f895 5167case 661:
86d93ed3 5168{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5169 break;}
abd7f895 5170case 662:
86d93ed3 5171{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5172 break;}
abd7f895 5173case 663:
9dc8a5c1 5174{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
885824d3 5175 break;}
abd7f895 5176case 664:
495af944 5177{ yyval.entry = yyvsp[0].entry; ;
885824d3 5178 break;}
abd7f895 5179case 665:
495af944 5180{ yyval.entry = uentry_undefined; ;
885824d3 5181 break;}
abd7f895 5182case 666:
495af944 5183{ context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
885824d3 5184 break;}
abd7f895 5185case 667:
495af944 5186{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5187 break;}
abd7f895 5188case 668:
495af944 5189{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
885824d3 5190 break;}
abd7f895 5191case 669:
495af944 5192{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5193 break;}
abd7f895 5194case 670:
f9264521 5195{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5196 break;}
abd7f895 5197case 671:
f9264521 5198{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr), yyvsp[0].tok); ;
885824d3 5199 break;}
abd7f895 5200case 672:
495af944 5201{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
885824d3 5202 break;}
abd7f895 5203case 673:
495af944 5204{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
885824d3 5205 break;}
abd7f895 5206case 674:
495af944 5207{ yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
885824d3 5208 break;}
abd7f895 5209case 675:
495af944 5210{ yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
885824d3 5211 break;}
abd7f895 5212case 676:
495af944 5213{ yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
fafc64cf 5214 break;}
abd7f895 5215case 677:
495af944 5216{ yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
885824d3 5217 break;}
abd7f895 5218case 678:
495af944 5219{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
2e127cb8 5220 break;}
abd7f895 5221case 679:
495af944 5222{ yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
86d93ed3 5223 break;}
abd7f895 5224case 680:
495af944 5225{ yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
fafc64cf 5226 break;}
abd7f895 5227case 681:
495af944 5228{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
86d93ed3 5229 break;}
abd7f895 5230case 682:
495af944 5231{ yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
9dc8a5c1 5232 break;}
abd7f895 5233case 683:
495af944 5234{ yyval.expr = exprNode_return (yyvsp[-1].expr); ;
f9264521 5235 break;}
5236case 685:
495af944 5237{ ; ;
885824d3 5238 break;}
495af944 5239case 687:
5240{ ; ;
86d93ed3 5241 break;}
ce7034f0 5242case 688:
495af944 5243{
5244 ; ;
abd7f895 5245 break;}
f9264521 5246case 690:
885824d3 5247{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5248 break;}
495af944 5249case 691:
9dc8a5c1 5250{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5251 break;}
495af944 5252case 692:
ce7034f0 5253{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5254 break;}
495af944 5255case 693:
c05aefaa 5256{ yyval.cname = yyvsp[0].cname; ;
5257 break;}
495af944 5258case 695:
c05aefaa 5259{ yyval.ctyp = ctype_unknown; ;
5260 break;}
495af944 5261case 696:
abd7f895 5262{ yyval.ctyp = exprNode_getType (yyvsp[-1].expr); exprNode_free (yyvsp[-1].expr); ;
5263 break;}
495af944 5264case 697:
abd7f895 5265{ yyval.ctyp = qtype_getType (yyvsp[-1].qtyp); ;
5266 break;}
885824d3 5267}
a889b5ee 5268 /* the action file gets copied in in place of this dollarsign */
3e3ec469 5269
885824d3 5270\f
5271 yyvsp -= yylen;
5272 yyssp -= yylen;
a889b5ee 5273#ifdef YYLSP_NEEDED
885824d3 5274 yylsp -= yylen;
5275#endif
5276
a889b5ee 5277#if YYDEBUG != 0
885824d3 5278 if (yydebug)
5279 {
5280 short *ssp1 = yyss - 1;
5281 fprintf (stderr, "state stack now");
5282 while (ssp1 != yyssp)
5283 fprintf (stderr, " %d", *++ssp1);
5284 fprintf (stderr, "\n");
5285 }
5286#endif
5287
5288 *++yyvsp = yyval;
a889b5ee 5289
5290#ifdef YYLSP_NEEDED
5291 yylsp++;
5292 if (yylen == 0)
5293 {
5294 yylsp->first_line = yylloc.first_line;
5295 yylsp->first_column = yylloc.first_column;
5296 yylsp->last_line = (yylsp-1)->last_line;
5297 yylsp->last_column = (yylsp-1)->last_column;
5298 yylsp->text = 0;
5299 }
5300 else
5301 {
5302 yylsp->last_line = (yylsp+yylen-1)->last_line;
5303 yylsp->last_column = (yylsp+yylen-1)->last_column;
5304 }
885824d3 5305#endif
5306
a889b5ee 5307 /* Now "shift" the result of the reduction.
5308 Determine what state that goes to,
5309 based on the state we popped back to
5310 and the rule number reduced by. */
885824d3 5311
5312 yyn = yyr1[yyn];
5313
5314 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
5315 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5316 yystate = yytable[yystate];
5317 else
5318 yystate = yydefgoto[yyn - YYNTBASE];
5319
5320 goto yynewstate;
5321
a889b5ee 5322yyerrlab: /* here on detecting error */
885824d3 5323
a889b5ee 5324 if (! yyerrstatus)
5325 /* If not already recovering from an error, report this error. */
885824d3 5326 {
5327 ++yynerrs;
5328
5329#ifdef YYERROR_VERBOSE
5330 yyn = yypact[yystate];
5331
5332 if (yyn > YYFLAG && yyn < YYLAST)
5333 {
5334 int size = 0;
5335 char *msg;
5336 int x, count;
5337
5338 count = 0;
5339 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
5340 for (x = (yyn < 0 ? -yyn : 0);
a889b5ee 5341 x < (sizeof(yytname) / sizeof(char *)); x++)
885824d3 5342 if (yycheck[x + yyn] == x)
a889b5ee 5343 size += strlen(yytname[x]) + 15, count++;
5344 msg = (char *) malloc(size + 15);
885824d3 5345 if (msg != 0)
5346 {
a889b5ee 5347 strcpy(msg, "parse error");
885824d3 5348
5349 if (count < 5)
5350 {
5351 count = 0;
5352 for (x = (yyn < 0 ? -yyn : 0);
a889b5ee 5353 x < (sizeof(yytname) / sizeof(char *)); x++)
885824d3 5354 if (yycheck[x + yyn] == x)
5355 {
a889b5ee 5356 strcat(msg, count == 0 ? ", expecting `" : " or `");
5357 strcat(msg, yytname[x]);
5358 strcat(msg, "'");
885824d3 5359 count++;
5360 }
5361 }
a889b5ee 5362 yyerror(msg);
5363 free(msg);
885824d3 5364 }
5365 else
5366 yyerror ("parse error; also virtual memory exceeded");
5367 }
5368 else
5369#endif /* YYERROR_VERBOSE */
a889b5ee 5370 yyerror("parse error");
885824d3 5371 }
885824d3 5372
a889b5ee 5373 goto yyerrlab1;
5374yyerrlab1: /* here on error raised explicitly by an action */
e55c0c6d 5375
885824d3 5376 if (yyerrstatus == 3)
5377 {
a889b5ee 5378 /* if just tried and failed to reuse lookahead token after an error, discard it. */
885824d3 5379
5380 /* return failure if at end of input */
5381 if (yychar == YYEOF)
5382 YYABORT;
a889b5ee 5383
5384#if YYDEBUG != 0
5385 if (yydebug)
5386 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
5387#endif
5388
885824d3 5389 yychar = YYEMPTY;
5390 }
5391
a889b5ee 5392 /* Else will try to reuse lookahead token
5393 after shifting the error token. */
885824d3 5394
5395 yyerrstatus = 3; /* Each real token shifted decrements this */
5396
5397 goto yyerrhandle;
5398
a889b5ee 5399yyerrdefault: /* current state does not do anything special for the error token. */
885824d3 5400
5401#if 0
5402 /* This is wrong; only states that explicitly want error tokens
5403 should shift them. */
a889b5ee 5404 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
5405 if (yyn) goto yydefault;
885824d3 5406#endif
5407
a889b5ee 5408yyerrpop: /* pop the current state because it cannot handle the error token */
885824d3 5409
a889b5ee 5410 if (yyssp == yyss) YYABORT;
885824d3 5411 yyvsp--;
5412 yystate = *--yyssp;
a889b5ee 5413#ifdef YYLSP_NEEDED
885824d3 5414 yylsp--;
5415#endif
5416
a889b5ee 5417#if YYDEBUG != 0
885824d3 5418 if (yydebug)
5419 {
5420 short *ssp1 = yyss - 1;
5421 fprintf (stderr, "Error: state stack now");
5422 while (ssp1 != yyssp)
5423 fprintf (stderr, " %d", *++ssp1);
5424 fprintf (stderr, "\n");
5425 }
5426#endif
5427
5428yyerrhandle:
a889b5ee 5429
885824d3 5430 yyn = yypact[yystate];
5431 if (yyn == YYFLAG)
5432 goto yyerrdefault;
5433
5434 yyn += YYTERROR;
5435 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
5436 goto yyerrdefault;
5437
5438 yyn = yytable[yyn];
5439 if (yyn < 0)
5440 {
5441 if (yyn == YYFLAG)
5442 goto yyerrpop;
5443 yyn = -yyn;
5444 goto yyreduce;
5445 }
5446 else if (yyn == 0)
5447 goto yyerrpop;
5448
5449 if (yyn == YYFINAL)
5450 YYACCEPT;
5451
a889b5ee 5452#if YYDEBUG != 0
5453 if (yydebug)
5454 fprintf(stderr, "Shifting error token, ");
5455#endif
885824d3 5456
5457 *++yyvsp = yylval;
a889b5ee 5458#ifdef YYLSP_NEEDED
885824d3 5459 *++yylsp = yylloc;
5460#endif
5461
5462 yystate = yyn;
5463 goto yynewstate;
c05aefaa 5464
a889b5ee 5465 yyacceptlab:
5466 /* YYACCEPT comes here. */
c05aefaa 5467 if (yyfree_stacks)
5468 {
5469 free (yyss);
5470 free (yyvs);
a889b5ee 5471#ifdef YYLSP_NEEDED
c05aefaa 5472 free (yyls);
5473#endif
5474 }
5475 return 0;
5476
a889b5ee 5477 yyabortlab:
5478 /* YYABORT comes here. */
c05aefaa 5479 if (yyfree_stacks)
5480 {
5481 free (yyss);
5482 free (yyvs);
a889b5ee 5483#ifdef YYLSP_NEEDED
c05aefaa 5484 free (yyls);
5485#endif
5486 }
5487 return 1;
885824d3 5488}
885824d3 5489
5490
c05aefaa 5491/*@-redecl@*/ /*@-namechecks@*/
885824d3 5492extern char *yytext;
c05aefaa 5493/*@=redecl@*/ /*@=namechecks@*/
885824d3 5494
5495# include "bison.reset"
5496
5497void yyerror (/*@unused@*/ char *s)
5498{
5499 static bool givehint = FALSE;
5500
5501 if (context_inIterDef ())
5502 {
5503 llerror (FLG_SYNTAX, message ("Iter syntax not parseable: %s",
5504 context_inFunctionName ()));
5505 }
5506 else if (context_inIterEnd ())
5507 {
5508 llerror (FLG_SYNTAX, message ("Iter finalizer syntax not parseable: %s",
5509 context_inFunctionName ()));
5510 }
5511 else if (context_inMacro ())
5512 {
5513 llerror (FLG_SYNTAX, message ("Macro syntax not parseable: %s",
5514 context_inFunctionName ()));
5515
c05aefaa 5516 if (context_inUnknownMacro ())
885824d3 5517 {
5518 if (!givehint)
5519 {
5520 llhint (cstring_makeLiteral
5521 ("Precede macro definition with /*@notfunction@*/ "
5522 "to suppress checking and force expansion"));
5523 givehint = TRUE;
5524 }
5525 }
5526
5527 swallowMacro ();
c05aefaa 5528 context_exitAllClausesQuiet ();
885824d3 5529 }
5530 else
5531 {
5532 llparseerror (cstring_undefined);
5533 }
5534}
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
c05aefaa 5547/*
5548** Resets all flags in bison.head
5549*/
5550
885824d3 5551
c05aefaa 5552/*@=allmacros@*/
5553/*@=boolint@*/
5554/*@=charint@*/
5555/*@=macroparams@*/
5556/*@=macroundef@*/
5557/*@=unreachable@*/
5558/*@=macrospec@*/
5559/*@=varuse@*/
5560/*@=ignorequals@*/
5561/*@=macrostmt@*/
5562/*@=noeffect@*/
5563/*@=shadow@*/
5564/*@=exitarg@*/
5565/*@=macroredef@*/
5566/*@=uniondef@*/
5567/*@=compdef@*/
5568/*@=matchfields@*/
5569/*@=exportlocal@*/
5570/*@=evalorderuncon@*/
5571/*@=exportheader@*/
5572/*@=typeuse@*/
5573/*@=redecl@*/
5574/*@=redef@*/
5575/*@=noparams@*/
5576/*@=ansireserved@*/
5577/*@=fielduse@*/
5578/*@=ifblock@*/
5579/*@=elseifcomplete@*/
5580/*@=whileblock@*/
5581/*@=forblock@*/
5582/*@=branchstate@*/
5583/*@=readonlytrans@*/
5584/*@=namechecks@*/
5585/*@=usedef@*/
5586/*@=systemunrecog@*/
5587/*@=dependenttrans@*/
5588/*@=unqualifiedtrans@*/
5589/*@=declundef@*/
5590
5591
5592/*drl added 11/27/2001*/
bb7c2085 5593/*@=bounds@*/
This page took 1.091796 seconds and 5 git commands to generate.