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