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