]> andersk Git - splint.git/blame_incremental - src/cgrammar.c.der
Fixed bugs in the constant removal code for binary expressions.
[splint.git] / src / cgrammar.c.der
... / ...
CommitLineData
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
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
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
273#line 59 "cgrammar.y"
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;
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
310#define YYFINAL 1150
311#define YYFLAG -32768
312#define YYNTBASE 181
313
314#define YYTRANSLATE(x) ((unsigned)(x) <= 435 ? yytranslate[x] : 407)
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,
360 176, 177, 178, 179, 180
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,
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
428};
429
430static const short yyrhs[] = { -1,
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
630};
631
632#endif
633
634#if YYDEBUG != 0
635static const short yyrline[] = { 0,
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
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",
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",
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,
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,
799 289, 289, 289, 289, 289, 289, 289, 289, 289, 289,
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
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,
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,
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,
863 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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
897};
898
899static const short yydefact[] = { 0,
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
1015};
1016
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
1041};
1042
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,
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,
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,
1067-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
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,
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,
1096-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
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,
1118-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
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,
1156-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1157-32768,-32768,-32768,-32768, 1215,-32768,-32768, 396,-32768,-32768,
1158 1156,-32768,-32768,-32768,-32768,-32768,-32768, 1244, 1245,-32768
1159};
1160
1161static const short yypgoto[] = {-32768,
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,
1166-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
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,
1182-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1183-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1321,-32768,-32768,
1184 1367, -302, -255, 68,-32768
1185};
1186
1187
1188#define YYLAST 6296
1189
1190
1191static const short yytable[] = { 94,
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,
1357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 0, 0, 0, 0, 0, 0, 0, 0, -349, -349,
1398 -349, 0, 4, 0, 0, 0, 5, 6, 7, 0,
1399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1433 0, 0, 0, -241, -241, -241, 144, 0, 0, 0,
1434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, -241, -241, -241, 144, 0, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1474 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1475 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1476 -454, 146, 147, 148, 149, 150, 151, 0, 0, 0,
1477 0, 0, 0, 0, 0, 152, 0, 0, 0, 153,
1478 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1497 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1511 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523 0, 0, 0, 0, 0, 0, 0, 144, 4, 0,
1524 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1525 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1557 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1558 0, 0, 0, 0, 0, 0, 0, 144, 4, 0,
1559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1577 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1581 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
1648 33, 34, 35, 36, 37, 38, 0, 39, 40, 41,
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,
1652 72, 73, 74, 289, 0, 0, 0, 0, 79, 80,
1653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
1664 37, 38, 0, 39, 40, 41, 42, 43, 44, 45,
1665 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1666 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1667 66, 67, 68, 69, 70, 71, 72, 73, 74, 0,
1668 0, -111, 0, 0, 79, 80, -111, 0, 0, 0,
1669 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1674 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 3, 0, 325, 326, 156, 0, 0, 0, 158,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
1706 70, 71, 72, 73, 74, 0, 0, 0, 0, 0,
1707 79, 80, 0, 0, 11, 12, 13, 0, 14, 15,
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,
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,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1758 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1759 0, 0, 0, 0, 0, -349, -349, -349, 0, 4,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1772 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
1773 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1775 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
1796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1797 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
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,
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,
1821 0, 0, 0, 0, 79, 80
1822};
1823
1824static const short yycheck[] = { 0,
1825 0, 105, 3, 460, 0, 361, 299, 615, 492, 363,
1826 11, 12, 2, 316, 410, 546, 470, 18, 19, 20,
1827 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1828 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1829 41, 42, 43, 122, 408, 648, 409, 48, 49, 50,
1830 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
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,
1990 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2029 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2030 -1, -1, -1, -1, -1, -1, -1, -1, 66, 67,
2031 68, -1, 70, -1, -1, -1, 74, 75, 76, -1,
2032 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2039 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2040 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
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,
2047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
2049 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2065 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2066 -1, -1, -1, 66, 67, 68, 69, -1, -1, -1,
2067 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2083 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2084 -1, -1, -1, 66, 67, 68, 69, -1, -1, -1,
2085 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
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,
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,
2121 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
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,
2126 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2133 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
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,
2137 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
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,
2155 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2169 17, 18, 19, 20, -1, -1, -1, 24, -1, -1,
2170 -1, -1, 29, 30, 31, 32, 33, 34, -1, -1,
2171 -1, -1, -1, -1, -1, 42, -1, 44, 45, 46,
2172 47, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2178 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2179 117, 118, 119, 120, -1, 122, 123, 124, 125, 126,
2180 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2181 -1, 138, 139, 140, 141, 142, 143, 144, 145, 146,
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,
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,
2190 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, 69, 70, -1,
2192 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2208 15, 16, 17, 18, 19, 20, -1, -1, -1, 24,
2209 -1, -1, 69, -1, 29, 30, 31, 32, 33, 34,
2210 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2214 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2221 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18,
2222 19, 20, -1, -1, -1, 24, -1, -1, -1, -1,
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,
2232 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, 174, 175, 176, 177, 178,
2238 -1, 180, -1, -1, -1, 6, 7, 8, -1, 10,
2239 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
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,
2250 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2257 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
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,
2267 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2268 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2269 -1, 92, 93, 94, 95, 96, 97, 18, -1, -1,
2270 -1, -1, -1, -1, -1, 106, -1, -1, -1, 110,
2271 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2275 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2276 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2289 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2290 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1,
2291 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2292 -1, -1, 87, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2302 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2307 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2318 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2319 -1, 44, -1, 174, 175, 176, -1, -1, -1, 180,
2320 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2321 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1,
2322 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2323 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2376 -1, 174, 175, 176, -1, 110, -1, 180, -1, -1,
2377 -1, 42, -1, -1, -1, -1, -1, -1, -1, -1,
2378 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2379 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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,
2391 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2392 -1, -1, -1, -1, -1, 66, 67, 68, -1, 70,
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,
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,
2404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2405 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70,
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,
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,
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,
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,
2429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
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
2455};
2456/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
2457#line 3 "/usr/share/bison.simple"
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
2650#line 196 "/usr/share/bison.simple"
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:
2955#line 223 "cgrammar.y"
2956{ uentry_clearDecl (); ;
2957 break;}
2958case 6:
2959#line 224 "cgrammar.y"
2960{ uentry_clearDecl (); ;
2961 break;}
2962case 7:
2963#line 225 "cgrammar.y"
2964{ uentry_clearDecl (); ;
2965 break;}
2966case 8:
2967#line 226 "cgrammar.y"
2968{ uentry_clearDecl (); ;
2969 break;}
2970case 9:
2971#line 227 "cgrammar.y"
2972{ uentry_clearDecl (); ;
2973 break;}
2974case 10:
2975#line 228 "cgrammar.y"
2976{ uentry_checkDecl (); exprNode_free (yyvsp[0].expr); ;
2977 break;}
2978case 11:
2979#line 229 "cgrammar.y"
2980{ uentry_clearDecl (); ;
2981 break;}
2982case 12:
2983#line 233 "cgrammar.y"
2984{ checkConstant (yyvsp[-6].qtyp, yyvsp[-4].ntyp); ;
2985 break;}
2986case 13:
2987#line 235 "cgrammar.y"
2988{ checkValueConstant (yyvsp[-9].qtyp, yyvsp[-7].ntyp, yyvsp[-3].expr) ; ;
2989 break;}
2990case 14:
2991#line 238 "cgrammar.y"
2992{ context_enterFunctionDecl (); ;
2993 break;}
2994case 15:
2995#line 239 "cgrammar.y"
2996{ declareStaticFunction (yyvsp[-2].ntyp); context_quietExitFunction ();
2997 context_exitFunctionDecl (); ;
2998 break;}
2999case 16:
3000#line 244 "cgrammar.y"
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:
3008#line 250 "cgrammar.y"
3009{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3010 break;}
3011case 19:
3012#line 255 "cgrammar.y"
3013{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
3014 break;}
3015case 20:
3016#line 258 "cgrammar.y"
3017{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3018 break;}
3019case 21:
3020#line 260 "cgrammar.y"
3021{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3022 break;}
3023case 22:
3024#line 262 "cgrammar.y"
3025{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3026 break;}
3027case 23:
3028#line 264 "cgrammar.y"
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:
3046#line 280 "cgrammar.y"
3047{ setCurrentParams (uentryList_missingParams);
3048 ;
3049 break;}
3050case 25:
3051#line 283 "cgrammar.y"
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:
3061#line 291 "cgrammar.y"
3062{ setCurrentParams (yyvsp[-1].entrylist);
3063 ;
3064 break;}
3065case 27:
3066#line 294 "cgrammar.y"
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:
3073#line 300 "cgrammar.y"
3074{ yyval.ntyp = idDecl_create (yyvsp[0].cname, qtype_unknown ()); ;
3075 break;}
3076case 29:
3077#line 302 "cgrammar.y"
3078{ yyval.ntyp = idDecl_expectFunction (yyvsp[-2].ntyp); ;
3079 break;}
3080case 30:
3081#line 304 "cgrammar.y"
3082{ yyval.ntyp = idDecl_replaceCtype (yyvsp[-2].ntyp, ctype_makeArray (idDecl_getCtype (yyvsp[-2].ntyp))); ;
3083 break;}
3084case 31:
3085#line 306 "cgrammar.y"
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:
3103#line 322 "cgrammar.y"
3104{ setCurrentParams (uentryList_missingParams);
3105 ;
3106 break;}
3107case 33:
3108#line 325 "cgrammar.y"
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:
3118#line 333 "cgrammar.y"
3119{ setCurrentParams (yyvsp[-1].entrylist);
3120 ;
3121 break;}
3122case 35:
3123#line 336 "cgrammar.y"
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:
3130#line 343 "cgrammar.y"
3131{ setCurrentParams (yyvsp[-1].entrylist); ;
3132 break;}
3133case 37:
3134#line 344 "cgrammar.y"
3135{ clearCurrentParams (); ;
3136 break;}
3137case 38:
3138#line 345 "cgrammar.y"
3139{ declareCIter (yyvsp[-8].cname, yyvsp[-6].entrylist); ;
3140 break;}
3141case 39:
3142#line 348 "cgrammar.y"
3143{ exprNode_checkMacroBody (yyvsp[-1].expr); ;
3144 break;}
3145case 40:
3146#line 349 "cgrammar.y"
3147{ exprNode_checkIterBody (yyvsp[-1].expr); ;
3148 break;}
3149case 41:
3150#line 350 "cgrammar.y"
3151{ exprNode_checkIterEnd (yyvsp[-1].expr); ;
3152 break;}
3153case 42:
3154#line 351 "cgrammar.y"
3155{ exprChecks_checkEmptyMacroBody (); ;
3156 break;}
3157case 43:
3158#line 354 "cgrammar.y"
3159{ declareFunction (yyvsp[0].ntyp); ;
3160 break;}
3161case 44:
3162#line 357 "cgrammar.y"
3163{ setProcessingGlobMods (); ;
3164 break;}
3165case 45:
3166#line 358 "cgrammar.y"
3167{ clearProcessingGlobMods (); ;
3168 break;}
3169case 46:
3170#line 361 "cgrammar.y"
3171{ setProcessingGlobMods (); ;
3172 break;}
3173case 47:
3174#line 362 "cgrammar.y"
3175{ clearProcessingGlobMods (); ;
3176 break;}
3177case 54:
3178#line 377 "cgrammar.y"
3179{ ; ;
3180 break;}
3181case 55:
3182#line 378 "cgrammar.y"
3183{ ; ;
3184 break;}
3185case 56:
3186#line 381 "cgrammar.y"
3187{ globListAdd (yyvsp[0].sr, yyvsp[-1].tquallist); ;
3188 break;}
3189case 57:
3190#line 384 "cgrammar.y"
3191{ yyval.sr = uentry_getSref (yyvsp[0].entry); ;
3192 break;}
3193case 58:
3194#line 385 "cgrammar.y"
3195{ yyval.sr = globListUnrecognized (yyvsp[0].cname); ;
3196 break;}
3197case 59:
3198#line 388 "cgrammar.y"
3199{ yyval.typequal = qual_createUndef (); ;
3200 break;}
3201case 60:
3202#line 389 "cgrammar.y"
3203{ yyval.typequal = qual_createKilled (); ;
3204 break;}
3205case 61:
3206#line 390 "cgrammar.y"
3207{ yyval.typequal = qual_createOut (); ;
3208 break;}
3209case 62:
3210#line 391 "cgrammar.y"
3211{ yyval.typequal = qual_createIn (); ;
3212 break;}
3213case 63:
3214#line 392 "cgrammar.y"
3215{ yyval.typequal = qual_createPartial (); ;
3216 break;}
3217case 64:
3218#line 395 "cgrammar.y"
3219{ yyval.tquallist = qualList_undefined; ;
3220 break;}
3221case 65:
3222#line 396 "cgrammar.y"
3223{ yyval.tquallist = qualList_add (yyvsp[0].tquallist, yyvsp[-1].typequal); ;
3224 break;}
3225case 66:
3226#line 399 "cgrammar.y"
3227{ setProcessingGlobalsList (); ;
3228 break;}
3229case 67:
3230#line 401 "cgrammar.y"
3231{ unsetProcessingGlobals (); ;
3232 break;}
3233case 68:
3234#line 402 "cgrammar.y"
3235{ setProcessingGlobalsList (); ;
3236 break;}
3237case 69:
3238#line 404 "cgrammar.y"
3239{ unsetProcessingGlobals (); ;
3240 break;}
3241case 70:
3242#line 406 "cgrammar.y"
3243{ setFunctionNoGlobals ();
3244 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3245 ;
3246 break;}
3247case 73:
3248#line 413 "cgrammar.y"
3249{ setProcessingGlobalsList (); ;
3250 break;}
3251case 74:
3252#line 415 "cgrammar.y"
3253{ unsetProcessingGlobals (); ;
3254 break;}
3255case 75:
3256#line 416 "cgrammar.y"
3257{ setProcessingGlobalsList (); ;
3258 break;}
3259case 76:
3260#line 418 "cgrammar.y"
3261{ unsetProcessingGlobals (); ;
3262 break;}
3263case 77:
3264#line 420 "cgrammar.y"
3265{ setFunctionNoGlobals ();
3266 setFunctionModifies (sRefSet_single (sRef_makeNothing ()));
3267 ;
3268 break;}
3269case 82:
3270#line 432 "cgrammar.y"
3271{
3272 context_setProtectVars (); enterParamsTemp ();
3273 sRef_setGlobalScopeSafe ();
3274 ;
3275 break;}
3276case 83:
3277#line 437 "cgrammar.y"
3278{
3279 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3280 sRef_clearGlobalScopeSafe ();
3281 context_releaseVars ();
3282 ;
3283 break;}
3284case 84:
3285#line 445 "cgrammar.y"
3286{
3287 context_setProtectVars (); enterParamsTemp ();
3288 sRef_setGlobalScopeSafe ();
3289 ;
3290 break;}
3291case 85:
3292#line 450 "cgrammar.y"
3293{
3294 setFunctionModifies (yyvsp[0].srset); exitParamsTemp ();
3295 sRef_clearGlobalScopeSafe ();
3296 context_releaseVars ();
3297 ;
3298 break;}
3299case 95:
3300#line 474 "cgrammar.y"
3301{ yyval.sck = SP_ISONLY; ;
3302 break;}
3303case 96:
3304#line 475 "cgrammar.y"
3305{ yyval.sck = SP_ISOBSERVER; ;
3306 break;}
3307case 97:
3308#line 476 "cgrammar.y"
3309{ yyval.sck = SP_ISEXPOSED; ;
3310 break;}
3311case 98:
3312#line 477 "cgrammar.y"
3313{ yyval.sck = SP_ISDEPENDENT; ;
3314 break;}
3315case 99:
3316#line 478 "cgrammar.y"
3317{ yyval.sck = SP_ISOWNED; ;
3318 break;}
3319case 100:
3320#line 479 "cgrammar.y"
3321{ yyval.sck = SP_ISSHARED; ;
3322 break;}
3323case 101:
3324#line 480 "cgrammar.y"
3325{ yyval.sck = SP_ISNULL; ;
3326 break;}
3327case 102:
3328#line 481 "cgrammar.y"
3329{ yyval.sck = SP_ISNOTNULL; ;
3330 break;}
3331case 103:
3332#line 485 "cgrammar.y"
3333{
3334 context_setProtectVars ();
3335 enterParamsTemp ();
3336 sRef_setGlobalScopeSafe ();
3337 ;
3338 break;}
3339case 104:
3340#line 491 "cgrammar.y"
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:
3349#line 498 "cgrammar.y"
3350{
3351 context_setProtectVars ();
3352 enterParamsTemp ();
3353 sRef_setGlobalScopeSafe ();
3354 ;
3355 break;}
3356case 106:
3357#line 504 "cgrammar.y"
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:
3366#line 513 "cgrammar.y"
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:
3374#line 519 "cgrammar.y"
3375{ yyval.ntyp = idDecl_fixBase (yyvsp[0].ntyp, yyvsp[-2].qtyp); ;
3376 break;}
3377case 109:
3378#line 522 "cgrammar.y"
3379{ checkDoneParams (); context_enterInnerContext (); ;
3380 break;}
3381case 110:
3382#line 524 "cgrammar.y"
3383{
3384 exprNode_checkFunctionBody (yyvsp[0].expr); yyval.expr = yyvsp[0].expr;
3385 context_exitInner (yyvsp[0].expr);
3386 ;
3387 break;}
3388case 111:
3389#line 529 "cgrammar.y"
3390{ doneParams (); context_enterInnerContext (); ;
3391 break;}
3392case 112:
3393#line 531 "cgrammar.y"
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:
3401#line 539 "cgrammar.y"
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:
3409#line 546 "cgrammar.y"
3410{ yyval.srset = yyvsp[-2].srset; ;
3411 break;}
3412case 115:
3413#line 547 "cgrammar.y"
3414{ yyval.srset = sRefSet_new (); ;
3415 break;}
3416case 116:
3417#line 550 "cgrammar.y"
3418{ yyval.srset = yyvsp[-1].srset; ;
3419 break;}
3420case 117:
3421#line 551 "cgrammar.y"
3422{ yyval.srset = sRefSet_new (); ;
3423 break;}
3424case 118:
3425#line 554 "cgrammar.y"
3426{ yyval.sr = uentry_getSref (yyvsp[0].entry); checkModifiesId (yyvsp[0].entry); ;
3427 break;}
3428case 119:
3429#line 555 "cgrammar.y"
3430{ yyval.sr = fixModifiesId (yyvsp[0].cname); ;
3431 break;}
3432case 120:
3433#line 556 "cgrammar.y"
3434{ yyval.sr = modListArrayFetch (yyvsp[-2].sr, sRef_undefined); ;
3435 break;}
3436case 121:
3437#line 557 "cgrammar.y"
3438{ yyval.sr = modListArrayFetch (yyvsp[-3].sr, yyvsp[-1].sr); ;
3439 break;}
3440case 122:
3441#line 558 "cgrammar.y"
3442{ yyval.sr = modListPointer (yyvsp[0].sr); ;
3443 break;}
3444case 123:
3445#line 559 "cgrammar.y"
3446{ yyval.sr = yyvsp[-1].sr; ;
3447 break;}
3448case 124:
3449#line 560 "cgrammar.y"
3450{ yyval.sr = modListFieldAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3451 break;}
3452case 125:
3453#line 561 "cgrammar.y"
3454{ yyval.sr = modListArrowAccess (yyvsp[-2].sr, yyvsp[0].cname); ;
3455 break;}
3456case 126:
3457#line 565 "cgrammar.y"
3458{ yyval.sr = yyvsp[0].sr; ;
3459 break;}
3460case 127:
3461#line 566 "cgrammar.y"
3462{ yyval.sr = sRef_makeUnknown (); /* sRef_makeConstant ($1); ? */ ;
3463 break;}
3464case 128:
3465#line 570 "cgrammar.y"
3466{ yyval.srset = sRefSet_single (yyvsp[0].sr); ;
3467 break;}
3468case 129:
3469#line 571 "cgrammar.y"
3470{ yyval.srset = sRefSet_insert (yyvsp[-2].srset, yyvsp[0].sr); ;
3471 break;}
3472case 130:
3473#line 575 "cgrammar.y"
3474{ yyval.sr = checkSpecClausesId (yyvsp[0].entry); ;
3475 break;}
3476case 131:
3477#line 577 "cgrammar.y"
3478{ yyval.sr = fixSpecClausesId (yyvsp[0].cname); ;
3479 break;}
3480case 132:
3481#line 578 "cgrammar.y"
3482{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-2].sr); ;
3483 break;}
3484case 133:
3485#line 579 "cgrammar.y"
3486{ yyval.sr = sRef_makeAnyArrayFetch (yyvsp[-3].sr); ;
3487 break;}
3488case 134:
3489#line 580 "cgrammar.y"
3490{ yyval.sr = sRef_constructPointer (yyvsp[0].sr); ;
3491 break;}
3492case 135:
3493#line 581 "cgrammar.y"
3494{ yyval.sr = yyvsp[-1].sr; ;
3495 break;}
3496case 136:
3497#line 582 "cgrammar.y"
3498{ cstring_markOwned (yyvsp[0].cname);
3499 yyval.sr = sRef_buildField (yyvsp[-2].sr, yyvsp[0].cname); ;
3500 break;}
3501case 137:
3502#line 584 "cgrammar.y"
3503{ cstring_markOwned (yyvsp[0].cname);
3504 yyval.sr = sRef_makeArrow (yyvsp[-2].sr, yyvsp[0].cname); ;
3505 break;}
3506case 138:
3507#line 589 "cgrammar.y"
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:
3513#line 593 "cgrammar.y"
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:
3525#line 604 "cgrammar.y"
3526{ yyval.expr = exprNode_fromIdentifier (yyvsp[0].entry); ;
3527 break;}
3528case 141:
3529#line 605 "cgrammar.y"
3530{ yyval.expr = exprNode_fromUIO (yyvsp[0].cname); ;
3531 break;}
3532case 143:
3533#line 607 "cgrammar.y"
3534{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
3535 break;}
3536case 144:
3537#line 608 "cgrammar.y"
3538{ yyval.expr = exprNode_fromIdentifier (coerceId (yyvsp[0].ctyp)); ;
3539 break;}
3540case 145:
3541#line 609 "cgrammar.y"
3542{ yyval.expr = exprNode_makeError (); ;
3543 break;}
3544case 147:
3545#line 613 "cgrammar.y"
3546{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
3547 break;}
3548case 148:
3549#line 614 "cgrammar.y"
3550{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
3551 break;}
3552case 149:
3553#line 615 "cgrammar.y"
3554{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
3555 break;}
3556case 150:
3557#line 616 "cgrammar.y"
3558{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
3559 break;}
3560case 151:
3561#line 617 "cgrammar.y"
3562{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3563 break;}
3564case 152:
3565#line 618 "cgrammar.y"
3566{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
3567 break;}
3568case 153:
3569#line 619 "cgrammar.y"
3570{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3571 break;}
3572case 154:
3573#line 620 "cgrammar.y"
3574{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
3575 break;}
3576case 155:
3577#line 623 "cgrammar.y"
3578{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3579 break;}
3580case 156:
3581#line 624 "cgrammar.y"
3582{ yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3583 break;}
3584case 158:
3585#line 628 "cgrammar.y"
3586{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3587 break;}
3588case 159:
3589#line 629 "cgrammar.y"
3590{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3591 break;}
3592case 160:
3593#line 630 "cgrammar.y"
3594{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3595 break;}
3596case 161:
3597#line 631 "cgrammar.y"
3598{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3599 break;}
3600case 162:
3601#line 632 "cgrammar.y"
3602{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3603 break;}
3604case 163:
3605#line 633 "cgrammar.y"
3606{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3607 break;}
3608case 164:
3609#line 634 "cgrammar.y"
3610{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3611 break;}
3612case 165:
3613#line 635 "cgrammar.y"
3614{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
3615 break;}
3616case 166:
3617#line 636 "cgrammar.y"
3618{ yyval.expr = yyvsp[0].expr; ;
3619 break;}
3620case 167:
3621#line 637 "cgrammar.y"
3622{ yyval.expr = yyvsp[0].expr; ;
3623 break;}
3624case 168:
3625#line 641 "cgrammar.y"
3626{ yyval.expr = exprNode_offsetof (yyvsp[-5].qtyp, yyvsp[-2].cname); ;
3627 break;}
3628case 169:
3629#line 644 "cgrammar.y"
3630{ context_setProtectVars (); ;
3631 break;}
3632case 170:
3633#line 645 "cgrammar.y"
3634{ context_sizeofReleaseVars (); yyval.expr = yyvsp[0].expr; ;
3635 break;}
3636case 171:
3637#line 648 "cgrammar.y"
3638{ yyval.expr = exprNode_sizeofType (yyvsp[-1].qtyp); ;
3639 break;}
3640case 172:
3641#line 649 "cgrammar.y"
3642{ yyval.expr = exprNode_sizeofExpr (yyvsp[0].expr); ;
3643 break;}
3644case 174:
3645#line 654 "cgrammar.y"
3646{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
3647 break;}
3648case 176:
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); ;
3655 break;}
3656case 178:
3657#line 660 "cgrammar.y"
3658{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3659 break;}
3660case 180:
3661#line 664 "cgrammar.y"
3662{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3663 break;}
3664case 181:
3665#line 665 "cgrammar.y"
3666{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3667 break;}
3668case 183:
3669#line 669 "cgrammar.y"
3670{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3671 break;}
3672case 184:
3673#line 670 "cgrammar.y"
3674{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3675 break;}
3676case 186:
3677#line 674 "cgrammar.y"
3678{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3679 break;}
3680case 187:
3681#line 675 "cgrammar.y"
3682{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3683 break;}
3684case 188:
3685#line 676 "cgrammar.y"
3686{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3687 break;}
3688case 189:
3689#line 677 "cgrammar.y"
3690{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3691 break;}
3692case 191:
3693#line 681 "cgrammar.y"
3694{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3695 break;}
3696case 192:
3697#line 682 "cgrammar.y"
3698{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3699 break;}
3700case 194:
3701#line 686 "cgrammar.y"
3702{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3703 break;}
3704case 196:
3705#line 690 "cgrammar.y"
3706{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3707 break;}
3708case 198:
3709#line 695 "cgrammar.y"
3710{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3711 break;}
3712case 200:
3713#line 700 "cgrammar.y"
3714{ exprNode_produceGuards (yyvsp[-1].expr);
3715 context_enterAndClause (yyvsp[-1].expr);
3716 ;
3717 break;}
3718case 201:
3719#line 704 "cgrammar.y"
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;}
3725case 203:
3726#line 712 "cgrammar.y"
3727{
3728 exprNode_produceGuards (yyvsp[-1].expr);
3729 context_enterOrClause (yyvsp[-1].expr);
3730 ;
3731 break;}
3732case 204:
3733#line 717 "cgrammar.y"
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;}
3739case 206:
3740#line 724 "cgrammar.y"
3741{ exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
3742 break;}
3743case 207:
3744#line 725 "cgrammar.y"
3745{ context_enterFalseClause (yyvsp[-4].expr); ;
3746 break;}
3747case 208:
3748#line 726 "cgrammar.y"
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;}
3751case 210:
3752#line 730 "cgrammar.y"
3753{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3754 break;}
3755case 211:
3756#line 731 "cgrammar.y"
3757{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3758 break;}
3759case 212:
3760#line 732 "cgrammar.y"
3761{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3762 break;}
3763case 213:
3764#line 733 "cgrammar.y"
3765{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3766 break;}
3767case 214:
3768#line 734 "cgrammar.y"
3769{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3770 break;}
3771case 215:
3772#line 735 "cgrammar.y"
3773{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3774 break;}
3775case 216:
3776#line 736 "cgrammar.y"
3777{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3778 break;}
3779case 217:
3780#line 737 "cgrammar.y"
3781{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3782 break;}
3783case 218:
3784#line 738 "cgrammar.y"
3785{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3786 break;}
3787case 219:
3788#line 739 "cgrammar.y"
3789{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3790 break;}
3791case 220:
3792#line 740 "cgrammar.y"
3793{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
3794 break;}
3795case 222:
3796#line 744 "cgrammar.y"
3797{ yyval.expr = exprNode_comma (yyvsp[-2].expr, yyvsp[0].expr); ;
3798 break;}
3799case 223:
3800#line 747 "cgrammar.y"
3801{ yyval.expr = exprNode_undefined; ;
3802 break;}
3803case 226:
3804#line 756 "cgrammar.y"
3805{ yyval.expr = yyvsp[0].expr; ;
3806 break;}
3807case 227:
3808#line 757 "cgrammar.y"
3809{ doVaDcl (); yyval.expr = exprNode_makeError (); ;
3810 break;}
3811case 228:
3812#line 758 "cgrammar.y"
3813{ yyval.expr = exprNode_makeError (); ;
3814 break;}
3815case 229:
3816#line 761 "cgrammar.y"
3817{ yyval.expr = exprNode_makeError (); ;
3818 break;}
3819case 230:
3820#line 775 "cgrammar.y"
3821{
3822 setProcessingVars (yyvsp[-3].qtyp);
3823 processNamedDecl (yyvsp[-1].ntyp); ;
3824 break;}
3825case 231:
3826#line 778 "cgrammar.y"
3827{ unsetProcessingVars (); yyval.expr = yyvsp[-2].expr; ;
3828 break;}
3829case 232:
3830#line 780 "cgrammar.y"
3831{ setProcessingVars (yyvsp[-4].qtyp); processNamedDecl (yyvsp[-2].ntyp);
3832 ;
3833 break;}
3834case 233:
3835#line 783 "cgrammar.y"
3836{ yyval.expr = exprNode_concat (yyvsp[-2].expr, exprNode_makeInitialization (yyvsp[-8].ntyp, yyvsp[-3].expr));
3837 unsetProcessingVars ();
3838 ;
3839 break;}
3840case 234:
3841#line 787 "cgrammar.y"
3842{ processNamedDecl (yyvsp[-1].ntyp); yyval.expr = exprNode_makeError (); ;
3843 break;}
3844case 235:
3845#line 788 "cgrammar.y"
3846{ processNamedDecl (yyvsp[-2].ntyp); ;
3847 break;}
3848case 236:
3849#line 789 "cgrammar.y"
3850{ yyval.expr = exprNode_makeInitialization (yyvsp[-5].ntyp, yyvsp[0].expr); ;
3851 break;}
3852case 237:
3853#line 793 "cgrammar.y"
3854{ setProcessingTypedef (yyvsp[0].qtyp); ;
3855 break;}
3856case 238:
3857#line 794 "cgrammar.y"
3858{ unsetProcessingTypedef (); ;
3859 break;}
3860case 239:
3861#line 795 "cgrammar.y"
3862{ /* in the ANSI grammar, semantics unclear */ ;
3863 break;}
3864case 240:
3865#line 796 "cgrammar.y"
3866{ /* in the ANSI grammar, semantics unclear */ ;
3867 break;}
3868case 241:
3869#line 799 "cgrammar.y"
3870{ g_expectingTypeName = TRUE; ;
3871 break;}
3872case 242:
3873#line 802 "cgrammar.y"
3874{ g_expectingTypeName = TRUE; context_pushLoc (); ;
3875 break;}
3876case 243:
3877#line 805 "cgrammar.y"
3878{ ; ;
3879 break;}
3880case 244:
3881#line 808 "cgrammar.y"
3882{ ; ;
3883 break;}
3884case 245:
3885#line 809 "cgrammar.y"
3886{ ; ;
3887 break;}
3888case 246:
3889#line 812 "cgrammar.y"
3890{ yyval.expr = exprNode_makeError (); ;
3891 break;}
3892case 247:
3893#line 813 "cgrammar.y"
3894{ yyval.expr = exprNode_concat (yyvsp[-3].expr, yyvsp[0].expr); ;
3895 break;}
3896case 249:
3897#line 817 "cgrammar.y"
3898{ yyval.expr = exprNode_makeInitBlock (yyvsp[-2].tok, yyvsp[-1].alist); ;
3899 break;}
3900case 250:
3901#line 818 "cgrammar.y"
3902{ yyval.expr = exprNode_makeInitBlock (yyvsp[-3].tok, yyvsp[-2].alist); ;
3903 break;}
3904case 251:
3905#line 823 "cgrammar.y"
3906{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
3907 break;}
3908case 252:
3909#line 825 "cgrammar.y"
3910{ yyval.alist = exprNodeList_push (yyvsp[-2].alist, yyvsp[0].expr); ;
3911 break;}
3912case 253:
3913#line 833 "cgrammar.y"
3914{ setStorageClass (SCEXTERN); yyval.typequal = qual_createExtern (); ;
3915 break;}
3916case 254:
3917#line 834 "cgrammar.y"
3918{ yyval.typequal = qual_createInline (); ;
3919 break;}
3920case 255:
3921#line 835 "cgrammar.y"
3922{ setStorageClass (SCSTATIC); yyval.typequal = qual_createStatic (); ;
3923 break;}
3924case 256:
3925#line 836 "cgrammar.y"
3926{ yyval.typequal = qual_createAuto (); ;
3927 break;}
3928case 257:
3929#line 837 "cgrammar.y"
3930{ yyval.typequal = qual_createRegister (); ;
3931 break;}
3932case 258:
3933#line 840 "cgrammar.y"
3934{ yyval.typequal = qual_createConst (); ;
3935 break;}
3936case 259:
3937#line 841 "cgrammar.y"
3938{ yyval.typequal = qual_createVolatile (); ;
3939 break;}
3940case 260:
3941#line 842 "cgrammar.y"
3942{ yyval.typequal = qual_createOut (); ;
3943 break;}
3944case 261:
3945#line 843 "cgrammar.y"
3946{ yyval.typequal = qual_createIn (); ;
3947 break;}
3948case 262:
3949#line 844 "cgrammar.y"
3950{ yyval.typequal = qual_createPartial (); ;
3951 break;}
3952case 263:
3953#line 845 "cgrammar.y"
3954{ yyval.typequal = qual_createSpecial (); ;
3955 break;}
3956case 264:
3957#line 846 "cgrammar.y"
3958{ yyval.typequal = qual_createOwned (); ;
3959 break;}
3960case 265:
3961#line 847 "cgrammar.y"
3962{ yyval.typequal = qual_createDependent (); ;
3963 break;}
3964case 266:
3965#line 848 "cgrammar.y"
3966{ yyval.typequal = qual_createYield (); ;
3967 break;}
3968case 267:
3969#line 849 "cgrammar.y"
3970{ yyval.typequal = qual_createTemp (); ;
3971 break;}
3972case 268:
3973#line 850 "cgrammar.y"
3974{ yyval.typequal = qual_createOnly (); ;
3975 break;}
3976case 269:
3977#line 851 "cgrammar.y"
3978{ yyval.typequal = qual_createKeep (); ;
3979 break;}
3980case 270:
3981#line 852 "cgrammar.y"
3982{ yyval.typequal = qual_createKept (); ;
3983 break;}
3984case 271:
3985#line 853 "cgrammar.y"
3986{ yyval.typequal = qual_createShared (); ;
3987 break;}
3988case 272:
3989#line 854 "cgrammar.y"
3990{ yyval.typequal = qual_createUnique (); ;
3991 break;}
3992case 273:
3993#line 855 "cgrammar.y"
3994{ yyval.typequal = qual_createExits (); ;
3995 break;}
3996case 274:
3997#line 856 "cgrammar.y"
3998{ yyval.typequal = qual_createMayExit (); ;
3999 break;}
4000case 275:
4001#line 857 "cgrammar.y"
4002{ yyval.typequal = qual_createTrueExit (); ;
4003 break;}
4004case 276:
4005#line 858 "cgrammar.y"
4006{ yyval.typequal = qual_createFalseExit (); ;
4007 break;}
4008case 277:
4009#line 859 "cgrammar.y"
4010{ yyval.typequal = qual_createNeverExit (); ;
4011 break;}
4012case 278:
4013#line 860 "cgrammar.y"
4014{ yyval.typequal = qual_createNull (); ;
4015 break;}
4016case 279:
4017#line 861 "cgrammar.y"
4018{ yyval.typequal = qual_createRelNull (); ;
4019 break;}
4020case 280:
4021#line 862 "cgrammar.y"
4022{ yyval.typequal = qual_createReturned (); ;
4023 break;}
4024case 281:
4025#line 863 "cgrammar.y"
4026{ yyval.typequal = qual_createExposed (); ;
4027 break;}
4028case 282:
4029#line 864 "cgrammar.y"
4030{ yyval.typequal = qual_createObserver (); ;
4031 break;}
4032case 283:
4033#line 865 "cgrammar.y"
4034{ yyval.typequal = qual_createChecked (); ;
4035 break;}
4036case 284:
4037#line 866 "cgrammar.y"
4038{ yyval.typequal = qual_createCheckMod (); ;
4039 break;}
4040case 285:
4041#line 867 "cgrammar.y"
4042{ yyval.typequal = qual_createUnchecked (); ;
4043 break;}
4044case 286:
4045#line 868 "cgrammar.y"
4046{ yyval.typequal = qual_createCheckedStrict (); ;
4047 break;}
4048case 287:
4049#line 869 "cgrammar.y"
4050{ yyval.typequal = qual_createTrueNull (); ;
4051 break;}
4052case 288:
4053#line 870 "cgrammar.y"
4054{ yyval.typequal = qual_createFalseNull (); ;
4055 break;}
4056case 289:
4057#line 871 "cgrammar.y"
4058{ yyval.typequal = qual_createUnused (); ;
4059 break;}
4060case 290:
4061#line 872 "cgrammar.y"
4062{ yyval.typequal = qual_createExternal (); ;
4063 break;}
4064case 291:
4065#line 873 "cgrammar.y"
4066{ yyval.typequal = qual_createSef (); ;
4067 break;}
4068case 292:
4069#line 874 "cgrammar.y"
4070{ yyval.typequal = qual_createAbstract (); ;
4071 break;}
4072case 293:
4073#line 875 "cgrammar.y"
4074{ yyval.typequal = qual_createConcrete (); ;
4075 break;}
4076case 294:
4077#line 876 "cgrammar.y"
4078{ yyval.typequal = qual_createMutable (); ;
4079 break;}
4080case 295:
4081#line 877 "cgrammar.y"
4082{ yyval.typequal = qual_createImmutable (); ;
4083 break;}
4084case 296:
4085#line 878 "cgrammar.y"
4086{ yyval.typequal = qual_createNotNull (); ;
4087 break;}
4088case 297:
4089#line 879 "cgrammar.y"
4090{ yyval.typequal = qual_createRefCounted (); ;
4091 break;}
4092case 298:
4093#line 880 "cgrammar.y"
4094{ yyval.typequal = qual_createRefs (); ;
4095 break;}
4096case 299:
4097#line 881 "cgrammar.y"
4098{ yyval.typequal = qual_createKillRef (); ;
4099 break;}
4100case 300:
4101#line 882 "cgrammar.y"
4102{ yyval.typequal = qual_createRelDef (); ;
4103 break;}
4104case 301:
4105#line 883 "cgrammar.y"
4106{ yyval.typequal = qual_createNewRef (); ;
4107 break;}
4108case 302:
4109#line 884 "cgrammar.y"
4110{ yyval.typequal = qual_createTempRef (); ;
4111 break;}
4112case 303:
4113#line 887 "cgrammar.y"
4114{ yyval.typequal = qual_createShort (); ;
4115 break;}
4116case 304:
4117#line 888 "cgrammar.y"
4118{ yyval.typequal = qual_createLong (); ;
4119 break;}
4120case 305:
4121#line 889 "cgrammar.y"
4122{ yyval.typequal = qual_createSigned (); ;
4123 break;}
4124case 306:
4125#line 890 "cgrammar.y"
4126{ yyval.typequal = qual_createUnsigned (); ;
4127 break;}
4128case 313:
4129#line 899 "cgrammar.y"
4130{ yyval.ctyp = ctype_unknown; ;
4131 break;}
4132case 314:
4133#line 900 "cgrammar.y"
4134{ yyval.ctyp = ctype_anyintegral; ;
4135 break;}
4136case 315:
4137#line 901 "cgrammar.y"
4138{ yyval.ctyp = ctype_unsignedintegral; ;
4139 break;}
4140case 316:
4141#line 902 "cgrammar.y"
4142{ yyval.ctyp = ctype_signedintegral; ;
4143 break;}
4144case 320:
4145#line 906 "cgrammar.y"
4146{ yyval.ctyp = ctype_fromQual (yyvsp[-1].typequal); ;
4147 break;}
4148case 321:
4149#line 910 "cgrammar.y"
4150{ yyval.qtyp = qtype_resolve (yyvsp[-1].qtyp); ;
4151 break;}
4152case 322:
4153#line 913 "cgrammar.y"
4154{ yyval.qtyp = yyvsp[0].qtyp; ;
4155 break;}
4156case 323:
4157#line 915 "cgrammar.y"
4158{ yyval.qtyp = qtype_mergeAlt (yyvsp[-3].qtyp, yyvsp[-1].qtyp); ;
4159 break;}
4160case 325:
4161#line 920 "cgrammar.y"
4162{ yyval.qtyp = qtype_mergeAlt (yyvsp[-2].qtyp, yyvsp[0].qtyp); ;
4163 break;}
4164case 326:
4165#line 923 "cgrammar.y"
4166{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4167 break;}
4168case 327:
4169#line 924 "cgrammar.y"
4170{ yyval.qtyp = qtype_addQual (yyvsp[0].qtyp, yyvsp[-1].typequal); ;
4171 break;}
4172case 328:
4173#line 925 "cgrammar.y"
4174{ yyval.qtyp = qtype_combine (yyvsp[0].qtyp, yyvsp[-1].ctyp); ;
4175 break;}
4176case 329:
4177#line 928 "cgrammar.y"
4178{ yyval.qtyp = qtype_unknown (); ;
4179 break;}
4180case 330:
4181#line 929 "cgrammar.y"
4182{ yyval.qtyp = yyvsp[0].qtyp; ;
4183 break;}
4184case 331:
4185#line 932 "cgrammar.y"
4186{ sRef_setGlobalScopeSafe (); ;
4187 break;}
4188case 332:
4189#line 934 "cgrammar.y"
4190{ sRef_clearGlobalScopeSafe (); ;
4191 break;}
4192case 333:
4193#line 936 "cgrammar.y"
4194{ yyval.ctyp = declareStruct (yyvsp[-8].cname, yyvsp[-3].flist); ;
4195 break;}
4196case 334:
4197#line 937 "cgrammar.y"
4198{ sRef_setGlobalScopeSafe (); ;
4199 break;}
4200case 335:
4201#line 939 "cgrammar.y"
4202{ sRef_clearGlobalScopeSafe (); ;
4203 break;}
4204case 336:
4205#line 941 "cgrammar.y"
4206{ yyval.ctyp = declareUnion (yyvsp[-8].cname, yyvsp[-3].flist); ;
4207 break;}
4208case 337:
4209#line 943 "cgrammar.y"
4210{ yyval.ctyp = declareStruct (yyvsp[-3].cname, uentryList_new ()); ;
4211 break;}
4212case 338:
4213#line 945 "cgrammar.y"
4214{ yyval.ctyp = declareUnion (yyvsp[-3].cname, uentryList_new ()); ;
4215 break;}
4216case 339:
4217#line 946 "cgrammar.y"
4218{ sRef_setGlobalScopeSafe (); ;
4219 break;}
4220case 340:
4221#line 948 "cgrammar.y"
4222{ sRef_clearGlobalScopeSafe (); ;
4223 break;}
4224case 341:
4225#line 950 "cgrammar.y"
4226{ yyval.ctyp = declareUnnamedStruct (yyvsp[-3].flist); ;
4227 break;}
4228case 342:
4229#line 951 "cgrammar.y"
4230{ sRef_setGlobalScopeSafe (); ;
4231 break;}
4232case 343:
4233#line 953 "cgrammar.y"
4234{ sRef_clearGlobalScopeSafe (); ;
4235 break;}
4236case 344:
4237#line 955 "cgrammar.y"
4238{ yyval.ctyp = declareUnnamedUnion (yyvsp[-3].flist); ;
4239 break;}
4240case 345:
4241#line 957 "cgrammar.y"
4242{ yyval.ctyp = ctype_createUnnamedStruct (uentryList_new ()); ;
4243 break;}
4244case 346:
4245#line 959 "cgrammar.y"
4246{ yyval.ctyp = ctype_createUnnamedUnion (uentryList_new ()); ;
4247 break;}
4248case 347:
4249#line 960 "cgrammar.y"
4250{ yyval.ctyp = handleStruct (yyvsp[-1].cname); ;
4251 break;}
4252case 348:
4253#line 961 "cgrammar.y"
4254{ yyval.ctyp = handleUnion (yyvsp[-1].cname); ;
4255 break;}
4256case 349:
4257#line 964 "cgrammar.y"
4258{ g_expectingTypeName = FALSE; ;
4259 break;}
4260case 351:
4261#line 968 "cgrammar.y"
4262{ yyval.flist = uentryList_undefined; /* bogus! */ ;
4263 break;}
4264case 352:
4265#line 969 "cgrammar.y"
4266{ yyval.flist = uentryList_mergeFields (yyvsp[-1].flist, yyvsp[0].flist); ;
4267 break;}
4268case 353:
4269#line 973 "cgrammar.y"
4270{ yyval.flist = fixUentryList (yyvsp[-2].ntyplist, yyvsp[-4].qtyp); ;
4271 break;}
4272case 354:
4273#line 975 "cgrammar.y"
4274{ yyval.flist = fixUnnamedDecl (yyvsp[-2].qtyp); ;
4275 break;}
4276case 355:
4277#line 979 "cgrammar.y"
4278{ yyval.ntyplist = idDeclList_singleton (yyvsp[-1].ntyp); ;
4279 break;}
4280case 356:
4281#line 981 "cgrammar.y"
4282{ yyval.ntyplist = idDeclList_add (yyvsp[-3].ntyplist, yyvsp[-1].ntyp); ;
4283 break;}
4284case 357:
4285#line 984 "cgrammar.y"
4286{ yyval.ntyp = yyvsp[0].ntyp; ;
4287 break;}
4288case 358:
4289#line 985 "cgrammar.y"
4290{ yyval.ntyp = idDecl_undefined; ;
4291 break;}
4292case 359:
4293#line 986 "cgrammar.y"
4294{ yyval.ntyp = yyvsp[-2].ntyp; ;
4295 break;}
4296case 360:
4297#line 990 "cgrammar.y"
4298{ yyval.ctyp = declareUnnamedEnum (yyvsp[-2].enumnamelist); ;
4299 break;}
4300case 361:
4301#line 991 "cgrammar.y"
4302{ context_pushLoc (); ;
4303 break;}
4304case 362:
4305#line 992 "cgrammar.y"
4306{ context_popLoc (); yyval.ctyp = declareEnum (yyvsp[-5].cname, yyvsp[-2].enumnamelist); ;
4307 break;}
4308case 363:
4309#line 993 "cgrammar.y"
4310{ yyval.ctyp = handleEnum (yyvsp[-1].cname); ;
4311 break;}
4312case 364:
4313#line 997 "cgrammar.y"
4314{ yyval.enumnamelist = enumNameList_single (yyvsp[0].cname); ;
4315 break;}
4316case 365:
4317#line 999 "cgrammar.y"
4318{ yyval.enumnamelist = enumNameList_push (yyvsp[-2].enumnamelist, yyvsp[0].cname); ;
4319 break;}
4320case 367:
4321#line 1004 "cgrammar.y"
4322{ uentry ue = uentry_makeEnumConstant (yyvsp[0].cname, ctype_unknown);
4323 usymtab_supGlobalEntry (ue);
4324 yyval.cname = yyvsp[0].cname;
4325 ;
4326 break;}
4327case 368:
4328#line 1009 "cgrammar.y"
4329{ uentry ue = uentry_makeEnumConstant (yyvsp[-3].cname, ctype_unknown);
4330 usymtab_supGlobalEntry (ue);
4331 yyval.cname = yyvsp[-3].cname;
4332 ;
4333 break;}
4334case 370:
4335#line 1016 "cgrammar.y"
4336{ yyval.ntyp = idDecl_create (cstring_undefined, qtype_create (yyvsp[0].ctyp)); ;
4337 break;}
4338case 371:
4339#line 1018 "cgrammar.y"
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;}
4347case 372:
4348#line 1025 "cgrammar.y"
4349{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4350 break;}
4351case 374:
4352#line 1030 "cgrammar.y"
4353{ yyval.ntyp = yyvsp[0].ntyp; qtype_adjustPointers (yyvsp[-1].count, idDecl_getTyp (yyval.ntyp)); ;
4354 break;}
4355case 375:
4356#line 1033 "cgrammar.y"
4357{ yyval.entrylist = handleParamTypeList (yyvsp[0].entrylist); ;
4358 break;}
4359case 376:
4360#line 1034 "cgrammar.y"
4361{ yyval.entrylist = handleParamIdList (yyvsp[0].entrylist); ;
4362 break;}
4363case 377:
4364#line 1037 "cgrammar.y"
4365{ /* ignored for now */; ;
4366 break;}
4367case 378:
4368#line 1038 "cgrammar.y"
4369{ ; ;
4370 break;}
4371case 379:
4372#line 1041 "cgrammar.y"
4373{ ; ;
4374 break;}
4375case 380:
4376#line 1042 "cgrammar.y"
4377{ ; ;
4378 break;}
4379case 381:
4380#line 1045 "cgrammar.y"
4381{ yyval.count = 1; ;
4382 break;}
4383case 382:
4384#line 1046 "cgrammar.y"
4385{ yyval.count = 1; ;
4386 break;}
4387case 383:
4388#line 1047 "cgrammar.y"
4389{ yyval.count = 1 + yyvsp[0].count; ;
4390 break;}
4391case 384:
4392#line 1048 "cgrammar.y"
4393{ yyval.count = 1 + yyvsp[0].count; ;
4394 break;}
4395case 386:
4396#line 1052 "cgrammar.y"
4397{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4398 break;}
4399case 387:
4400#line 1055 "cgrammar.y"
4401{ yyval.entrylist = uentryList_single (uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4402 break;}
4403case 388:
4404#line 1056 "cgrammar.y"
4405{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeVariableLoc (yyvsp[0].cname, ctype_int)); ;
4406 break;}
4407case 389:
4408#line 1059 "cgrammar.y"
4409{ yyval.entrylist = uentryList_single (uentry_makeElipsisMarker ()); ;
4410 break;}
4411case 391:
4412#line 1061 "cgrammar.y"
4413{ yyval.entrylist = uentryList_add (yyvsp[-2].entrylist, uentry_makeElipsisMarker ()); ;
4414 break;}
4415case 392:
4416#line 1064 "cgrammar.y"
4417{ storeLoc (); ;
4418 break;}
4419case 393:
4420#line 1064 "cgrammar.y"
4421{ yyval.entrylist = uentryList_single (yyvsp[0].oentry); ;
4422 break;}
4423case 394:
4424#line 1065 "cgrammar.y"
4425{ storeLoc (); ;
4426 break;}
4427case 395:
4428#line 1066 "cgrammar.y"
4429{ yyval.entrylist = uentryList_add (yyvsp[-3].entrylist, yyvsp[0].oentry); ;
4430 break;}
4431case 396:
4432#line 1070 "cgrammar.y"
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;}
4445case 397:
4446#line 1082 "cgrammar.y"
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;}
4461case 399:
4462#line 1098 "cgrammar.y"
4463{ yyval.qtyp = qtype_newBase (yyvsp[-1].qtyp, yyvsp[0].ctyp); ;
4464 break;}
4465case 400:
4466#line 1101 "cgrammar.y"
4467{ yyval.ctyp = ctype_adjustPointers (yyvsp[0].count, ctype_unknown); ;
4468 break;}
4469case 402:
4470#line 1103 "cgrammar.y"
4471{ yyval.ctyp = ctype_adjustPointers (yyvsp[-1].count, yyvsp[0].ctyp); ;
4472 break;}
4473case 403:
4474#line 1106 "cgrammar.y"
4475{ yyval.ctyp = ctype_unknown; ;
4476 break;}
4477case 405:
4478#line 1111 "cgrammar.y"
4479{ yyval.ctyp = ctype_expectFunction (yyvsp[-1].ctyp); ;
4480 break;}
4481case 406:
4482#line 1112 "cgrammar.y"
4483{ yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4484 break;}
4485case 407:
4486#line 1113 "cgrammar.y"
4487{ yyval.ctyp = ctype_makeArray (ctype_unknown); ;
4488 break;}
4489case 408:
4490#line 1114 "cgrammar.y"
4491{ yyval.ctyp = ctype_makeArray (yyvsp[-2].ctyp); ;
4492 break;}
4493case 409:
4494#line 1115 "cgrammar.y"
4495{ yyval.ctyp = ctype_makeArray (yyvsp[-3].ctyp); ;
4496 break;}
4497case 410:
4498#line 1117 "cgrammar.y"
4499{ yyval.ctyp = ctype_makeFunction (ctype_unknown, uentryList_makeMissingParams ()); ;
4500 break;}
4501case 411:
4502#line 1119 "cgrammar.y"
4503{ yyval.ctyp = ctype_makeParamsFunction (ctype_unknown, yyvsp[-1].entrylist); ;
4504 break;}
4505case 412:
4506#line 1121 "cgrammar.y"
4507{ yyval.ctyp = ctype_makeFunction (yyvsp[-3].ctyp, uentryList_makeMissingParams ()); ;
4508 break;}
4509case 413:
4510#line 1123 "cgrammar.y"
4511{ yyval.ctyp = ctype_makeParamsFunction (yyvsp[-4].ctyp, yyvsp[-1].entrylist); ;
4512 break;}
4513case 423:
4514#line 1139 "cgrammar.y"
4515{ yyval.expr = yyvsp[0].expr; ;
4516 break;}
4517case 426:
4518#line 1147 "cgrammar.y"
4519{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4520 break;}
4521case 427:
4522#line 1151 "cgrammar.y"
4523{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); ;
4524 break;}
4525case 428:
4526#line 1153 "cgrammar.y"
4527{ yyval.expr = exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr); ;
4528 break;}
4529case 429:
4530#line 1155 "cgrammar.y"
4531{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
4532 break;}
4533case 430:
4534#line 1157 "cgrammar.y"
4535{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); ;
4536 break;}
4537case 431:
4538#line 1161 "cgrammar.y"
4539{ context_setProtectVars (); ;
4540 break;}
4541case 432:
4542#line 1161 "cgrammar.y"
4543{ context_sizeofReleaseVars (); ;
4544 break;}
4545case 433:
4546#line 1163 "cgrammar.y"
4547{ yyval.expr = exprNode_forPred (yyvsp[-7].expr, yyvsp[-5].expr, yyvsp[-2].expr);
4548 context_enterForClause (yyvsp[-5].expr); ;
4549 break;}
4550case 434:
4551#line 1168 "cgrammar.y"
4552{ setProcessingIterVars (yyvsp[-2].entry); ;
4553 break;}
4554case 435:
4555#line 1170 "cgrammar.y"
4556{ yyval.expr = exprNode_iterStart (yyvsp[-5].entry, yyvsp[-1].alist); ;
4557 break;}
4558case 436:
4559#line 1171 "cgrammar.y"
4560{ yyval.expr = exprNode_createId (yyvsp[0].entry); ;
4561 break;}
4562case 440:
4563#line 1177 "cgrammar.y"
4564{ yyval.expr = yyvsp[0].expr; ;
4565 break;}
4566case 448:
4567#line 1185 "cgrammar.y"
4568{ yyval.expr = yyvsp[-1].expr; ;
4569 break;}
4570case 449:
4571#line 1186 "cgrammar.y"
4572{ yyval.expr = exprNode_makeError (); ;
4573 break;}
4574case 450:
4575#line 1190 "cgrammar.y"
4576{ /* don't: context_exitTrueClause ($1, $2); */
4577 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4578 ;
4579 break;}
4580case 451:
4581#line 1195 "cgrammar.y"
4582{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4583 break;}
4584case 452:
4585#line 1198 "cgrammar.y"
4586{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4587 break;}
4588case 463:
4589#line 1213 "cgrammar.y"
4590{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4591 break;}
4592case 465:
4593#line 1215 "cgrammar.y"
4594{ yyval.expr = exprNode_makeError (); ;
4595 break;}
4596case 466:
4597#line 1218 "cgrammar.y"
4598{ yyval.expr = exprNode_labelStatement (yyvsp[-2].cname, yyvsp[0].expr); ;
4599 break;}
4600case 467:
4601#line 1219 "cgrammar.y"
4602{ yyval.expr = exprNode_notReached (yyvsp[0].expr); ;
4603 break;}
4604case 468:
4605#line 1225 "cgrammar.y"
4606{ context_enterCaseClause (yyvsp[0].expr); ;
4607 break;}
4608case 469:
4609#line 1226 "cgrammar.y"
4610{ yyval.expr = exprNode_caseStatement (yyvsp[-3].expr, yyvsp[0].expr, FALSE); ;
4611 break;}
4612case 470:
4613#line 1227 "cgrammar.y"
4614{ context_enterCaseClause (yyvsp[0].expr); ;
4615 break;}
4616case 471:
4617#line 1228 "cgrammar.y"
4618{ yyval.expr = exprNode_caseStatement (yyvsp[-3].expr, yyvsp[0].expr, TRUE); ;
4619 break;}
4620case 472:
4621#line 1231 "cgrammar.y"
4622{ context_enterCaseClause (exprNode_undefined); ;
4623 break;}
4624case 473:
4625#line 1232 "cgrammar.y"
4626{ yyval.expr = exprNode_defaultStatement (yyvsp[-3].tok, yyvsp[0].expr, FALSE); ;
4627 break;}
4628case 474:
4629#line 1233 "cgrammar.y"
4630{ context_enterCaseClause (exprNode_undefined); ;
4631 break;}
4632case 475:
4633#line 1234 "cgrammar.y"
4634{ yyval.expr = exprNode_defaultStatement (yyvsp[-3].tok, yyvsp[0].expr, TRUE); ;
4635 break;}
4636case 476:
4637#line 1237 "cgrammar.y"
4638{ yyval.expr = yyvsp[-1].expr; ;
4639 break;}
4640case 477:
4641#line 1239 "cgrammar.y"
4642{ yyval.expr = yyvsp[0].expr; context_exitInner (yyvsp[0].expr); ;
4643 break;}
4644case 478:
4645#line 1242 "cgrammar.y"
4646{ yyval.expr = yyvsp[-1].expr; ;
4647 break;}
4648case 479:
4649#line 1245 "cgrammar.y"
4650{ context_enterInnerContext (); ;
4651 break;}
4652case 480:
4653#line 1248 "cgrammar.y"
4654{ context_exitInnerPlain (); ;
4655 break;}
4656case 481:
4657#line 1251 "cgrammar.y"
4658{ context_enterStructInnerContext (); ;
4659 break;}
4660case 482:
4661#line 1254 "cgrammar.y"
4662{ context_exitStructInnerContext (); ;
4663 break;}
4664case 483:
4665#line 1257 "cgrammar.y"
4666{ context_exitInnerSafe (); ;
4667 break;}
4668case 484:
4669#line 1260 "cgrammar.y"
4670{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4671 break;}
4672case 485:
4673#line 1261 "cgrammar.y"
4674{ yyval.expr = exprNode_notReached (exprNode_createTok (yyvsp[0].tok)); ;
4675 break;}
4676case 486:
4677#line 1262 "cgrammar.y"
4678{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4679 break;}
4680case 487:
4681#line 1264 "cgrammar.y"
4682{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4683 break;}
4684case 488:
4685#line 1265 "cgrammar.y"
4686{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4687 break;}
4688case 489:
4689#line 1267 "cgrammar.y"
4690{ yyval.expr = exprNode_notReached (exprNode_updateLocation (yyvsp[-2].expr, lltok_getLoc (yyvsp[0].tok))); ;
4691 break;}
4692case 490:
4693#line 1269 "cgrammar.y"
4694{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4695 break;}
4696case 491:
4697#line 1271 "cgrammar.y"
4698{ yyval.expr = exprNode_notReached (exprNode_updateLocation (exprNode_concat (yyvsp[-3].expr, yyvsp[-2].expr),
4699 lltok_getLoc (yyvsp[-1].tok)));
4700 ;
4701 break;}
4702case 492:
4703#line 1278 "cgrammar.y"
4704{ yyval.expr = exprNode_makeBlock (yyvsp[0].expr); ;
4705 break;}
4706case 493:
4707#line 1282 "cgrammar.y"
4708{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4709 break;}
4710case 494:
4711#line 1284 "cgrammar.y"
4712{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4713 break;}
4714case 495:
4715#line 1286 "cgrammar.y"
4716{ yyval.expr = exprNode_updateLocation (yyvsp[-1].expr, lltok_getLoc (yyvsp[0].tok)); ;
4717 break;}
4718case 496:
4719#line 1288 "cgrammar.y"
4720{ yyval.expr = exprNode_updateLocation (exprNode_concat (yyvsp[-2].expr, yyvsp[-1].expr), lltok_getLoc (yyvsp[0].tok)); ;
4721 break;}
4722case 498:
4723#line 1292 "cgrammar.y"
4724{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4725 break;}
4726case 499:
4727#line 1295 "cgrammar.y"
4728{ yyval.expr = yyvsp[0].expr; ;
4729 break;}
4730case 500:
4731#line 1296 "cgrammar.y"
4732{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4733 break;}
4734case 501:
4735#line 1299 "cgrammar.y"
4736{ yyval.expr = yyvsp[0].expr; ;
4737 break;}
4738case 502:
4739#line 1300 "cgrammar.y"
4740{ yyval.expr = exprNode_concat (yyvsp[-1].expr, yyvsp[0].expr); ;
4741 break;}
4742case 503:
4743#line 1303 "cgrammar.y"
4744{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4745 break;}
4746case 504:
4747#line 1304 "cgrammar.y"
4748{ yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
4749 break;}
4750case 505:
4751#line 1307 "cgrammar.y"
4752{ yyval.expr = exprNode_createTok (yyvsp[0].tok); ;
4753 break;}
4754case 506:
4755#line 1308 "cgrammar.y"
4756{ yyval.expr = exprNode_statement (yyvsp[-1].expr); ;
4757 break;}
4758case 507:
4759#line 1309 "cgrammar.y"
4760{ yyval.expr = exprNode_checkExpr (yyvsp[0].expr); ;
4761 break;}
4762case 508:
4763#line 1313 "cgrammar.y"
4764{ yyval.expr = yyvsp[-1].expr; exprNode_produceGuards (yyvsp[-1].expr); context_enterTrueClause (yyvsp[-1].expr); ;
4765 break;}
4766case 509:
4767#line 1321 "cgrammar.y"
4768{
4769 context_exitTrueClause (yyvsp[-1].expr, yyvsp[0].expr);
4770 yyval.expr = exprNode_if (yyvsp[-1].expr, yyvsp[0].expr);
4771 ;
4772 break;}
4773case 510:
4774#line 1325 "cgrammar.y"
4775{ context_enterFalseClause (yyvsp[-2].expr); ;
4776 break;}
4777case 511:
4778#line 1326 "cgrammar.y"
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;}
4784case 512:
4785#line 1330 "cgrammar.y"
4786{ context_enterSwitch (yyvsp[0].expr); ;
4787 break;}
4788case 513:
4789#line 1331 "cgrammar.y"
4790{ yyval.expr = exprNode_switch (yyvsp[-3].expr, yyvsp[0].expr); ;
4791 break;}
4792case 514:
4793#line 1335 "cgrammar.y"
4794{ yyval.expr = exprNode_whilePred (yyvsp[-1].expr); context_enterWhileClause (yyvsp[-1].expr); ;
4795 break;}
4796case 515:
4797#line 1339 "cgrammar.y"
4798{ yyval.expr = exprNode_whilePred(yyvsp[-1].expr); ;
4799 break;}
4800case 516:
4801#line 1342 "cgrammar.y"
4802{ context_enterIterClause (); ;
4803 break;}
4804case 517:
4805#line 1343 "cgrammar.y"
4806{ setProcessingIterVars (yyvsp[-3].entry); ;
4807 break;}
4808case 518:
4809#line 1346 "cgrammar.y"
4810{
4811 yyval.expr = exprNode_iter (yyvsp[-9].entry, yyvsp[-4].alist, yyvsp[-2].expr, yyvsp[-1].entry);
4812
4813 ;
4814 break;}
4815case 519:
4816#line 1352 "cgrammar.y"
4817{ yyval.alist = exprNodeList_singleton (yyvsp[0].expr); ;
4818 break;}
4819case 520:
4820#line 1353 "cgrammar.y"
4821{ nextIterParam (); ;
4822 break;}
4823case 521:
4824#line 1354 "cgrammar.y"
4825{ yyval.alist = exprNodeList_push (yyvsp[-3].alist, yyvsp[0].expr); ;
4826 break;}
4827case 522:
4828#line 1357 "cgrammar.y"
4829{ yyval.expr = exprNode_iterExpr (yyvsp[0].expr); ;
4830 break;}
4831case 523:
4832#line 1358 "cgrammar.y"
4833{ yyval.expr = exprNode_iterId (yyvsp[0].entry); ;
4834 break;}
4835case 524:
4836#line 1359 "cgrammar.y"
4837{ uentry ue = coerceIterId (yyvsp[0].ctyp);
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;}
4849case 525:
4850#line 1370 "cgrammar.y"
4851{ yyval.expr = exprNode_iterNewId (yyvsp[0].cname); ;
4852 break;}
4853case 527:
4854#line 1378 "cgrammar.y"
4855{ yyval.expr = exprNode_addParens (yyvsp[-2].tok, yyvsp[-1].expr); ;
4856 break;}
4857case 529:
4858#line 1382 "cgrammar.y"
4859{ yyval.expr = exprNode_arrayFetch (yyvsp[-3].expr, yyvsp[-1].expr); ;
4860 break;}
4861case 530:
4862#line 1383 "cgrammar.y"
4863{ yyval.expr = exprNode_functionCall (yyvsp[-2].expr, exprNodeList_new ()); ;
4864 break;}
4865case 531:
4866#line 1384 "cgrammar.y"
4867{ yyval.expr = exprNode_functionCall (yyvsp[-3].expr, yyvsp[-1].alist); ;
4868 break;}
4869case 532:
4870#line 1386 "cgrammar.y"
4871{ yyval.expr = exprNode_vaArg (yyvsp[-5].tok, yyvsp[-3].expr, yyvsp[-1].qtyp); ;
4872 break;}
4873case 533:
4874#line 1387 "cgrammar.y"
4875{ yyval.expr = exprNode_fieldAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
4876 break;}
4877case 534:
4878#line 1388 "cgrammar.y"
4879{ yyval.expr = exprNode_arrowAccess (yyvsp[-4].expr, yyvsp[-1].cname); ;
4880 break;}
4881case 535:
4882#line 1389 "cgrammar.y"
4883{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4884 break;}
4885case 536:
4886#line 1390 "cgrammar.y"
4887{ yyval.expr = exprNode_postOp (yyvsp[-1].expr, yyvsp[0].tok); ;
4888 break;}
4889case 538:
4890#line 1394 "cgrammar.y"
4891{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4892 break;}
4893case 539:
4894#line 1395 "cgrammar.y"
4895{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4896 break;}
4897case 540:
4898#line 1396 "cgrammar.y"
4899{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4900 break;}
4901case 541:
4902#line 1397 "cgrammar.y"
4903{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4904 break;}
4905case 542:
4906#line 1398 "cgrammar.y"
4907{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4908 break;}
4909case 543:
4910#line 1399 "cgrammar.y"
4911{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4912 break;}
4913case 544:
4914#line 1400 "cgrammar.y"
4915{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4916 break;}
4917case 545:
4918#line 1401 "cgrammar.y"
4919{ yyval.expr = exprNode_preOp (yyvsp[0].expr, yyvsp[-1].tok); ;
4920 break;}
4921case 546:
4922#line 1402 "cgrammar.y"
4923{ yyval.expr = yyvsp[0].expr; ;
4924 break;}
4925case 548:
4926#line 1406 "cgrammar.y"
4927{ yyval.expr = exprNode_cast (yyvsp[-3].tok, yyvsp[0].expr, yyvsp[-2].qtyp); ;
4928 break;}
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;}
4941case 554:
4942#line 1416 "cgrammar.y"
4943{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4944 break;}
4945case 555:
4946#line 1417 "cgrammar.y"
4947{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4948 break;}
4949case 557:
4950#line 1421 "cgrammar.y"
4951{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4952 break;}
4953case 558:
4954#line 1422 "cgrammar.y"
4955{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4956 break;}
4957case 560:
4958#line 1426 "cgrammar.y"
4959{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4960 break;}
4961case 561:
4962#line 1427 "cgrammar.y"
4963{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4964 break;}
4965case 562:
4966#line 1428 "cgrammar.y"
4967{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4968 break;}
4969case 563:
4970#line 1429 "cgrammar.y"
4971{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4972 break;}
4973case 565:
4974#line 1433 "cgrammar.y"
4975{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4976 break;}
4977case 566:
4978#line 1434 "cgrammar.y"
4979{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4980 break;}
4981case 568:
4982#line 1438 "cgrammar.y"
4983{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4984 break;}
4985case 570:
4986#line 1442 "cgrammar.y"
4987{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4988 break;}
4989case 572:
4990#line 1447 "cgrammar.y"
4991{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4992 break;}
4993case 574:
4994#line 1451 "cgrammar.y"
4995{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
4996 break;}
4997case 576:
4998#line 1455 "cgrammar.y"
4999{ yyval.expr = exprNode_op (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5000 break;}
5001case 578:
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); ;
5008 break;}
5009case 580:
5010#line 1461 "cgrammar.y"
5011{ yyval.expr = exprNode_cond (yyvsp[-6].expr, yyvsp[-3].expr, yyvsp[0].expr); ;
5012 break;}
5013case 582:
5014#line 1465 "cgrammar.y"
5015{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5016 break;}
5017case 583:
5018#line 1466 "cgrammar.y"
5019{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5020 break;}
5021case 584:
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); ;
5028 break;}
5029case 586:
5030#line 1469 "cgrammar.y"
5031{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5032 break;}
5033case 587:
5034#line 1470 "cgrammar.y"
5035{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5036 break;}
5037case 588:
5038#line 1471 "cgrammar.y"
5039{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5040 break;}
5041case 589:
5042#line 1472 "cgrammar.y"
5043{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5044 break;}
5045case 590:
5046#line 1473 "cgrammar.y"
5047{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5048 break;}
5049case 591:
5050#line 1474 "cgrammar.y"
5051{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5052 break;}
5053case 592:
5054#line 1475 "cgrammar.y"
5055{ yyval.expr = exprNode_assign (yyvsp[-2].expr, yyvsp[0].expr, yyvsp[-1].tok); ;
5056 break;}
5057case 593:
5058#line 1478 "cgrammar.y"
5059{ yyval.entry = yyvsp[0].entry; ;
5060 break;}
5061case 594:
5062#line 1479 "cgrammar.y"
5063{ yyval.entry = uentry_undefined; ;
5064 break;}
5065case 595:
5066#line 1482 "cgrammar.y"
5067{ context_enterDoWhileClause (); yyval.tok = yyvsp[0].tok; ;
5068 break;}
5069case 596:
5070#line 1486 "cgrammar.y"
5071{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5072 break;}
5073case 597:
5074#line 1488 "cgrammar.y"
5075{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
5076 break;}
5077case 598:
5078#line 1490 "cgrammar.y"
5079{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5080 break;}
5081case 599:
5082#line 1493 "cgrammar.y"
5083{ yyval.expr = exprNode_while (yyvsp[-1].expr, yyvsp[0].expr); context_exitWhileClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5084 break;}
5085case 600:
5086#line 1495 "cgrammar.y"
5087{ yyval.expr = exprNode_statement (exprNode_doWhile (yyvsp[-5].expr, yyvsp[-2].expr)); ;
5088 break;}
5089case 601:
5090#line 1497 "cgrammar.y"
5091{ yyval.expr = exprNode_doWhile (yyvsp[-4].expr, yyvsp[-1].expr); ;
5092 break;}
5093case 602:
5094#line 1498 "cgrammar.y"
5095{ yyval.expr = exprNode_for (yyvsp[-1].expr, yyvsp[0].expr); context_exitForClause (yyvsp[-1].expr, yyvsp[0].expr); ;
5096 break;}
5097case 603:
5098#line 1501 "cgrammar.y"
5099{ yyval.expr = exprNode_goto (yyvsp[-1].cname); ;
5100 break;}
5101case 604:
5102#line 1502 "cgrammar.y"
5103{ yyval.expr = exprNode_continue (yyvsp[-1].tok, BADTOK); ;
5104 break;}
5105case 605:
5106#line 1504 "cgrammar.y"
5107{ yyval.expr = exprNode_continue (yyvsp[-2].tok, QINNERCONTINUE); ;
5108 break;}
5109case 606:
5110#line 1505 "cgrammar.y"
5111{ yyval.expr = exprNode_break (yyvsp[-1].tok, BADTOK); ;
5112 break;}
5113case 607:
5114#line 1506 "cgrammar.y"
5115{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSWITCHBREAK); ;
5116 break;}
5117case 608:
5118#line 1507 "cgrammar.y"
5119{ yyval.expr = exprNode_break (yyvsp[-1].tok, QLOOPBREAK); ;
5120 break;}
5121case 609:
5122#line 1508 "cgrammar.y"
5123{ yyval.expr = exprNode_break (yyvsp[-1].tok, QINNERBREAK); ;
5124 break;}
5125case 610:
5126#line 1509 "cgrammar.y"
5127{ yyval.expr = exprNode_break (yyvsp[-1].tok, QSAFEBREAK); ;
5128 break;}
5129case 611:
5130#line 1510 "cgrammar.y"
5131{ yyval.expr = exprNode_nullReturn (yyvsp[-1].tok); ;
5132 break;}
5133case 612:
5134#line 1511 "cgrammar.y"
5135{ yyval.expr = exprNode_return (yyvsp[-1].expr); ;
5136 break;}
5137case 614:
5138#line 1515 "cgrammar.y"
5139{ ; ;
5140 break;}
5141case 617:
5142#line 1522 "cgrammar.y"
5143{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5144 break;}
5145case 618:
5146#line 1523 "cgrammar.y"
5147{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5148 break;}
5149case 619:
5150#line 1524 "cgrammar.y"
5151{ yyval.cname = uentry_getName (yyvsp[0].entry); ;
5152 break;}
5153}
5154 /* the action file gets copied in in place of this dollarsign */
5155#line 498 "/usr/share/bison.simple"
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}
5351#line 1530 "cgrammar.y"
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.266193 seconds and 5 git commands to generate.