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