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