]> andersk Git - splint.git/blame - src/llgrammar.tab.c
commitng to fix cvs archive. Code works with gcc272 but not 295. Currently passed...
[splint.git] / src / llgrammar.tab.c
CommitLineData
885824d3 1
2/* A Bison parser, made from llgrammar.y
754746a0 3 by GNU Bison version 1.28 */
885824d3 4
5#define YYBISON 1 /* Identify Bison output. */
6
7#define yyparse ylparse
8#define yylex yllex
9#define yyerror ylerror
10#define yylval yllval
11#define yychar ylchar
12#define yydebug yldebug
13#define yynerrs ylnerrs
754746a0 14#define simpleOp 257
15#define PREFIX_OP 258
16#define POSTFIX_OP 259
17#define LLT_MULOP 260
18#define LLT_SEMI 261
19#define LLT_VERTICALBAR 262
20#define ITERATION_OP 263
21#define LLT_LPAR 264
22#define LLT_LBRACKET 265
23#define selectSym 266
24#define LLT_IF_THEN_ELSE 267
25#define logicalOp 268
26#define eqSepSym 269
27#define equationSym 270
28#define commentSym 271
29#define LLT_WHITESPACE 272
30#define LLT_EOL 273
31#define LLT_TYPEDEF_NAME 274
32#define quantifierSym 275
33#define openSym 276
34#define closeSym 277
35#define sepSym 278
36#define simpleId 279
37#define mapSym 280
38#define markerSym 281
39#define preSym 282
40#define postSym 283
41#define anySym 284
42#define LLT_COLON 285
43#define LLT_COMMA 286
44#define LLT_EQUALS 287
45#define LLT_LBRACE 288
46#define LLT_RBRACE 289
47#define LLT_RBRACKET 290
48#define LLT_RPAR 291
49#define LLT_QUOTE 292
50#define eqOp 293
51#define LLT_CCHAR 294
52#define LLT_CFLOAT 295
53#define LLT_CINTEGER 296
54#define LLT_LCSTRING 297
55#define LLT_ALL 298
56#define LLT_ANYTHING 299
57#define LLT_BE 300
58#define LLT_BODY 301
59#define LLT_CLAIMS 302
60#define LLT_CHECKS 303
61#define LLT_CONSTANT 304
62#define LLT_ELSE 305
63#define LLT_ENSURES 306
64#define LLT_FOR 307
65#define LLT_FRESH 308
66#define LLT_IF 309
67#define LLT_IMMUTABLE 310
68#define LLT_IMPORTS 311
69#define LLT_CONSTRAINT 312
70#define LLT_ISSUB 313
71#define LLT_LET 314
72#define LLT_MODIFIES 315
73#define LLT_MUTABLE 316
74#define LLT_NOTHING 317
75#define LLT_INTERNAL 318
76#define LLT_FILESYS 319
77#define LLT_OBJ 320
78#define LLT_OUT 321
79#define LLT_SEF 322
80#define LLT_ONLY 323
81#define LLT_PARTIAL 324
82#define LLT_OWNED 325
83#define LLT_DEPENDENT 326
84#define LLT_KEEP 327
85#define LLT_KEPT 328
86#define LLT_TEMP 329
87#define LLT_SHARED 330
88#define LLT_UNIQUE 331
89#define LLT_UNUSED 332
90#define LLT_EXITS 333
91#define LLT_MAYEXIT 334
92#define LLT_NEVEREXIT 335
93#define LLT_TRUEEXIT 336
94#define LLT_FALSEEXIT 337
95#define LLT_UNDEF 338
96#define LLT_KILLED 339
97#define LLT_CHECKMOD 340
98#define LLT_CHECKED 341
99#define LLT_UNCHECKED 342
100#define LLT_CHECKEDSTRICT 343
101#define LLT_TRUENULL 344
102#define LLT_FALSENULL 345
103#define LLT_LNULL 346
104#define LLT_LNOTNULL 347
105#define LLT_RETURNED 348
106#define LLT_OBSERVER 349
107#define LLT_EXPOSED 350
108#define LLT_REFCOUNTED 351
109#define LLT_REFS 352
110#define LLT_RELNULL 353
111#define LLT_RELDEF 354
112#define LLT_KILLREF 355
113#define LLT_NULLTERMINATED 356
114#define LLT_TEMPREF 357
115#define LLT_NEWREF 358
116#define LLT_PRIVATE 359
117#define LLT_REQUIRES 360
118#define LLT_RESULT 361
119#define LLT_SIZEOF 362
120#define LLT_SPEC 363
121#define LLT_TAGGEDUNION 364
122#define LLT_THEN 365
123#define LLT_TYPE 366
124#define LLT_TYPEDEF 367
125#define LLT_UNCHANGED 368
126#define LLT_USES 369
127#define LLT_CHAR 370
128#define LLT_CONST 371
129#define LLT_DOUBLE 372
130#define LLT_ENUM 373
131#define LLT_FLOAT 374
132#define LLT_INT 375
133#define LLT_ITER 376
134#define LLT_YIELD 377
135#define LLT_LONG 378
136#define LLT_SHORT 379
137#define LLT_SIGNED 380
138#define LLT_UNKNOWN 381
139#define LLT_STRUCT 382
140#define LLT_TELIPSIS 383
141#define LLT_UNION 384
142#define LLT_UNSIGNED 385
143#define LLT_VOID 386
144#define LLT_VOLATILE 387
145#define LLT_PRINTFLIKE 388
146#define LLT_SCANFLIKE 389
147#define LLT_MESSAGELIKE 390
885824d3 148
149#line 36 "llgrammar.y"
150
151
885824d3 152# include "lclintMacros.nf"
153# include "llbasic.h"
154# include "lclscan.h"
155# include "checking.h"
156# include "lslparse.h"
157# include "lh.h"
158# include "usymtab_interface.h"
159
160/*@-noparams@*/
161static /*@unused@*/ void yyprint ();
162/*@=noparams@*/
163
164/*@-redecl@*/
165void ylerror (char *) /*@modifies *g_msgstream@*/ ;
166/*@=redecl@*/
167
168bool g_inTypeDef = FALSE;
169
170/*@constant int YYDEBUG;@*/
171# define YYDEBUG 1
172
173/*@notfunction@*/
174# define YYPRINT(file, type, value) yyprint (file, type, value)
175
1ac6313d 176/*
177** This is necessary, or else when the bison-generated code #include's malloc.h,
178** there will be a parse error.
179**
180** Unfortunately, it means the error checking on malloc, etc. is lost for allocations
181** in bison-generated files under Win32.
182*/
183
184# ifdef WIN32
185# undef malloc
186# undef calloc
187# undef realloc
188# endif
885824d3 189
190
1ac6313d 191#line 78 "llgrammar.y"
885824d3 192typedef union
193{
194 ltoken ltok; /* a leaf is also an ltoken */
195 qual typequal;
196 unsigned int count;
197 /*@only@*/ ltokenList ltokenList;
198 /*@only@*/ abstDeclaratorNode abstDecl;
199 /*@only@*/ declaratorNode declare;
200 /*@only@*/ declaratorNodeList declarelist;
201 /*@only@*/ typeExpr typeexpr;
202 /*@only@*/ arrayQualNode array;
203 /*@only@*/ quantifierNode quantifier;
204 /*@only@*/ quantifierNodeList quantifiers;
205 /*@only@*/ varNode var;
206 /*@only@*/ varNodeList vars;
207 /*@only@*/ storeRefNode storeref;
208 /*@only@*/ storeRefNodeList storereflist;
209 /*@only@*/ termNode term;
210 /*@only@*/ termNodeList termlist;
211 /*@only@*/ programNode program;
212 /*@only@*/ stmtNode stmt;
213 /*@only@*/ claimNode claim;
214 /*@only@*/ typeNode type;
215 /*@only@*/ iterNode iter;
216 /*@only@*/ fcnNode fcn;
217 /*@only@*/ fcnNodeList fcns;
218 /*@only@*/ letDeclNode letdecl;
219 /*@only@*/ letDeclNodeList letdecls;
220 /*@only@*/ lclPredicateNode lclpredicate;
221 /*@only@*/ modifyNode modify;
222 /*@only@*/ paramNode param;
223 /*@only@*/ paramNodeList paramlist;
224 /*@only@*/ declaratorInvNodeList declaratorinvs;
225 /*@only@*/ declaratorInvNode declaratorinv;
226 /*@only@*/ abstBodyNode abstbody;
227 /*@only@*/ abstractNode abstract;
228 /*@only@*/ exposedNode exposed;
229 /* taggedUnionNode taggedunion; */
230 /*@only@*/ globalList globals;
231 /*@only@*/ constDeclarationNode constdeclaration;
232 /*@only@*/ varDeclarationNode vardeclaration;
233 /*@only@*/ varDeclarationNodeList vardeclarationlist;
234 /*@only@*/ initDeclNodeList initdecls;
235 /*@only@*/ initDeclNode initdecl;
236 /*@only@*/ stDeclNodeList structdecls;
237 /*@only@*/ stDeclNode structdecl;
238 /*@only@*/ strOrUnionNode structorunion;
239 /*@only@*/ enumSpecNode enumspec;
240 /*@only@*/ lclTypeSpecNode lcltypespec;
241 /*@only@*/ typeNameNode typname;
242 /*@only@*/ opFormNode opform;
243 /*@only@*/ sigNode signature;
244 /*@only@*/ nameNode name;
245 /*@only@*/ typeNameNodeList namelist;
246 /*@only@*/ replaceNode replace;
247 /*@only@*/ replaceNodeList replacelist;
248 /*@only@*/ renamingNode renaming;
249 /*@only@*/ traitRefNode traitref;
250 /*@only@*/ traitRefNodeList traitreflist;
251 /*@only@*/ importNode import;
252 /*@only@*/ importNodeList importlist;
253 /*@only@*/ interfaceNode iface;
254 /*@only@*/ interfaceNodeList interfacelist;
255 /*@only@*/ CTypesNode ctypes;
256} YYSTYPE;
257#ifndef YYDEBUG
258#define YYDEBUG 1
259#endif
260
261#include <stdio.h>
262
263#ifndef __cplusplus
264#ifndef __STDC__
265#define const
266#endif
267#endif
268
269
270
1ac6313d 271#define YYFINAL 684
885824d3 272#define YYFLAG -32768
1ac6313d 273#define YYNTBASE 137
885824d3 274
754746a0 275#define YYTRANSLATE(x) ((unsigned)(x) <= 390 ? yytranslate[x] : 291)
885824d3 276
277static const short yytranslate[] = { 0,
278 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
279 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
280 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
281 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
282 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
283 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
284 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
285 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
286 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
287 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
754746a0 303 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
304 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
305 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
306 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
307 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
308 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
309 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
310 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
311 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
312 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
313 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
314 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
315 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
316 127, 128, 129, 130, 131, 132, 133, 134, 135, 136
885824d3 317};
318
319#if YYDEBUG != 0
320static const short yyprhs[] = { 0,
321 0, 1, 5, 6, 9, 11, 13, 14, 17, 20,
322 21, 24, 26, 28, 30, 34, 38, 40, 42, 44,
323 46, 48, 50, 57, 58, 60, 62, 66, 69, 71,
324 72, 76, 78, 80, 82, 84, 89, 93, 98, 103,
325 105, 107, 109, 111, 113, 114, 128, 129, 144, 145,
326 159, 164, 165, 166, 173, 174, 175, 183, 184, 185,
327 193, 194, 195, 202, 203, 204, 211, 214, 217, 219,
328 223, 225, 229, 231, 233, 237, 239, 241, 245, 247,
329 252, 256, 263, 265, 269, 271, 273, 277, 279, 283,
330 285, 289, 293, 297, 302, 304, 306, 308, 310, 312,
331 316, 318, 322, 323, 326, 330, 333, 336, 337, 340,
332 345, 346, 350, 352, 356, 362, 366, 368, 369, 373,
333 374, 378, 379, 383, 387, 391, 393, 397, 399, 401,
334 404, 406, 408, 409, 413, 414, 418, 419, 421, 423,
335 425, 429, 431, 435, 436, 441, 447, 449, 453, 456,
336 460, 464, 469, 473, 479, 486, 488, 492, 494, 496,
337 499, 502, 506, 510, 514, 519, 521, 525, 530, 534,
338 535, 538, 539, 541, 542, 549, 551, 555, 556, 560,
339 561, 565, 567, 569, 571, 573, 575, 577, 579, 581,
340 583, 585, 587, 590, 592, 594, 596, 598, 600, 602,
341 604, 606, 608, 610, 612, 614, 616, 618, 620, 622,
342 624, 626, 628, 630, 632, 634, 636, 638, 640, 642,
343 644, 646, 648, 650, 652, 654, 656, 658, 660, 662,
1ac6313d 344 664, 666, 668, 670, 672, 675, 681, 683, 686, 688,
345 691, 692, 699, 700, 707, 710, 713, 714, 716, 718,
346 721, 725, 727, 731, 732, 734, 741, 744, 746, 750,
347 752, 754, 756, 760, 763, 766, 770, 775, 777, 781,
348 784, 787, 791, 796, 798, 801, 804, 808, 813, 816,
349 819, 822, 825, 829, 831, 832, 834, 838, 841, 843,
350 845, 848, 852, 856, 861, 864, 868, 875, 877, 880,
351 883, 887, 891, 896, 901, 907, 911, 916, 921, 927,
352 930, 933, 937, 941, 943, 945, 947, 949, 951, 953,
353 955, 956, 958, 960, 964, 966, 968, 973, 974, 976,
354 978, 982, 984, 986, 993, 995, 999, 1001, 1006, 1010,
355 1014, 1016, 1019, 1022, 1024, 1026, 1028, 1031, 1033, 1036,
356 1039, 1043, 1045, 1047, 1050, 1053, 1057, 1059, 1062, 1066,
357 1068, 1074, 1078, 1083, 1086, 1090, 1093, 1095, 1099, 1103,
358 1105, 1110, 1112, 1115, 1119, 1123, 1127, 1132, 1136, 1138,
359 1142, 1144, 1146, 1148, 1150, 1152, 1154, 1159, 1164, 1169,
360 1174, 1181, 1186, 1188, 1190, 1192, 1194, 1196, 1199, 1200,
361 1204, 1206, 1210, 1214, 1219, 1221, 1223, 1225, 1227, 1229,
362 1231, 1233, 1235
885824d3 363};
364
365static const short yyrhs[] = { -1,
1ac6313d 366 139, 138, 141, 0, 0, 139, 140, 0, 144, 0,
367 145, 0, 0, 146, 142, 0, 151, 142, 0, 0,
368 142, 143, 0, 146, 0, 151, 0, 145, 0, 57,
369 175, 7, 0, 115, 179, 7, 0, 154, 0, 155,
370 0, 156, 0, 158, 0, 161, 0, 147, 0, 122,
371 285, 10, 148, 37, 7, 0, 0, 149, 0, 150,
372 0, 149, 32, 150, 0, 123, 244, 0, 244, 0,
373 0, 109, 152, 153, 0, 154, 0, 155, 0, 156,
374 0, 158, 0, 50, 227, 189, 7, 0, 227, 189,
375 7, 0, 117, 227, 189, 7, 0, 133, 227, 189,
376 7, 0, 163, 0, 172, 0, 134, 0, 135, 0,
377 136, 0, 0, 227, 240, 191, 159, 34, 193, 195,
378 199, 200, 201, 204, 205, 35, 0, 0, 157, 227,
379 240, 191, 160, 34, 193, 195, 199, 200, 201, 204,
380 205, 35, 0, 0, 48, 287, 10, 206, 37, 191,
381 162, 34, 195, 200, 209, 204, 35, 0, 48, 284,
382 287, 7, 0, 0, 0, 62, 164, 112, 20, 165,
383 214, 0, 0, 0, 62, 166, 97, 112, 20, 167,
384 214, 0, 0, 0, 97, 62, 168, 112, 20, 169,
385 214, 0, 0, 0, 56, 170, 112, 20, 171, 214,
386 0, 0, 0, 113, 227, 173, 219, 174, 7, 0,
387 230, 7, 0, 238, 7, 0, 176, 0, 175, 32,
388 176, 0, 178, 0, 3, 178, 3, 0, 43, 0,
389 178, 0, 177, 32, 178, 0, 283, 0, 180, 0,
390 179, 32, 180, 0, 289, 0, 289, 10, 182, 37,
391 0, 10, 181, 37, 0, 10, 181, 37, 10, 182,
392 37, 0, 289, 0, 181, 32, 289, 0, 184, 0,
393 183, 0, 183, 32, 184, 0, 245, 0, 183, 32,
394 245, 0, 185, 0, 184, 32, 185, 0, 245, 53,
395 223, 0, 245, 53, 186, 0, 245, 53, 186, 256,
396 0, 290, 0, 249, 0, 188, 0, 260, 0, 190,
397 0, 189, 32, 190, 0, 240, 0, 240, 33, 187,
398 0, 0, 191, 192, 0, 227, 189, 7, 0, 64,
399 7, 0, 65, 7, 0, 0, 193, 194, 0, 105,
400 227, 189, 7, 0, 0, 60, 196, 7, 0, 197,
401 0, 196, 32, 197, 0, 285, 31, 198, 46, 260,
402 0, 285, 46, 260, 0, 227, 0, 0, 49, 259,
403 7, 0, 0, 106, 259, 7, 0, 0, 61, 63,
404 7, 0, 61, 45, 7, 0, 61, 202, 7, 0,
405 203, 0, 202, 32, 203, 0, 260, 0, 228, 0,
406 66, 228, 0, 64, 0, 65, 0, 0, 52, 259,
407 7, 0, 0, 48, 259, 7, 0, 0, 207, 0,
408 208, 0, 129, 0, 208, 32, 129, 0, 244, 0,
409 208, 32, 244, 0, 0, 47, 34, 210, 35, 0,
410 47, 34, 210, 7, 35, 0, 211, 0, 10, 210,
411 37, 0, 210, 6, 0, 210, 8, 210, 0, 210,
412 7, 210, 0, 284, 10, 212, 37, 0, 284, 10,
413 37, 0, 285, 33, 284, 10, 37, 0, 285, 33,
414 284, 10, 212, 37, 0, 213, 0, 212, 32, 213,
415 0, 277, 0, 285, 0, 3, 213, 0, 213, 3,
416 0, 213, 3, 213, 0, 10, 213, 37, 0, 284,
417 10, 37, 0, 284, 10, 212, 37, 0, 7, 0,
418 34, 215, 35, 0, 34, 177, 35, 7, 0, 34,
419 35, 7, 0, 0, 215, 158, 0, 0, 217, 0,
420 0, 58, 218, 279, 10, 259, 37, 0, 220, 0,
421 219, 32, 220, 0, 0, 240, 221, 222, 0, 0,
422 34, 216, 35, 0, 132, 0, 116, 0, 118, 0,
423 120, 0, 121, 0, 124, 0, 125, 0, 126, 0,
424 131, 0, 127, 0, 223, 0, 224, 223, 0, 20,
425 0, 224, 0, 67, 0, 78, 0, 68, 0, 69,
885824d3 426 0, 71, 0, 72, 0, 73, 0, 74, 0, 95,
427 0, 79, 0, 80, 0, 82, 0, 83, 0, 81,
428 0, 75, 0, 76, 0, 77, 0, 87, 0, 88,
429 0, 89, 0, 90, 0, 91, 0, 99, 0, 100,
1ac6313d 430 0, 97, 0, 98, 0, 104, 0, 101, 0, 92,
431 0, 93, 0, 94, 0, 96, 0, 70, 0, 102,
432 0, 84, 0, 85, 0, 225, 0, 230, 0, 238,
433 0, 226, 227, 0, 8, 228, 31, 228, 8, 0,
434 227, 0, 227, 229, 0, 6, 0, 229, 6, 0,
435 0, 128, 233, 231, 34, 234, 35, 0, 0, 130,
436 233, 232, 34, 234, 35, 0, 128, 286, 0, 130,
437 286, 0, 0, 286, 0, 235, 0, 234, 235, 0,
438 227, 236, 7, 0, 240, 0, 236, 32, 240, 0,
439 0, 32, 0, 119, 233, 34, 239, 237, 35, 0,
440 119, 286, 0, 25, 0, 239, 32, 25, 0, 242,
441 0, 241, 0, 285, 0, 10, 241, 37, 0, 6,
442 241, 0, 241, 248, 0, 241, 10, 37, 0, 241,
443 10, 207, 37, 0, 20, 0, 10, 242, 37, 0,
444 6, 242, 0, 242, 248, 0, 242, 10, 37, 0,
445 242, 10, 207, 37, 0, 20, 0, 6, 243, 0,
446 243, 248, 0, 243, 10, 37, 0, 243, 10, 207,
447 37, 0, 227, 243, 0, 227, 241, 0, 227, 246,
448 0, 227, 246, 0, 66, 227, 246, 0, 249, 0,
449 0, 247, 0, 10, 247, 37, 0, 6, 247, 0,
450 6, 0, 248, 0, 247, 248, 0, 247, 10, 37,
451 0, 10, 207, 37, 0, 247, 10, 207, 37, 0,
452 11, 36, 0, 11, 188, 36, 0, 55, 27, 111,
453 27, 51, 27, 0, 252, 0, 27, 252, 0, 252,
454 27, 0, 27, 252, 27, 0, 250, 253, 251, 0,
455 27, 250, 253, 251, 0, 250, 253, 251, 27, 0,
456 27, 250, 253, 251, 27, 0, 11, 253, 36, 0,
457 11, 253, 36, 27, 0, 27, 11, 253, 36, 0,
458 27, 11, 253, 36, 27, 0, 12, 283, 0, 26,
459 283, 0, 27, 12, 283, 0, 27, 26, 283, 0,
460 22, 0, 34, 0, 23, 0, 35, 0, 264, 0,
461 14, 0, 39, 0, 0, 254, 0, 27, 0, 254,
462 255, 27, 0, 32, 0, 24, 0, 31, 257, 26,
463 288, 0, 0, 258, 0, 288, 0, 258, 32, 288,
464 0, 260, 0, 261, 0, 55, 261, 111, 261, 51,
465 261, 0, 262, 0, 261, 14, 261, 0, 263, 0,
466 278, 10, 259, 37, 0, 263, 39, 263, 0, 263,
467 33, 263, 0, 265, 0, 268, 266, 0, 268, 267,
468 0, 3, 0, 6, 0, 268, 0, 264, 265, 0,
469 264, 0, 266, 264, 0, 264, 268, 0, 267, 264,
470 268, 0, 273, 0, 269, 0, 269, 273, 0, 273,
471 269, 0, 273, 269, 273, 0, 270, 0, 270, 273,
472 0, 271, 31, 288, 0, 271, 0, 11, 272, 36,
473 31, 288, 0, 11, 272, 36, 0, 11, 36, 31,
474 288, 0, 11, 36, 0, 250, 272, 251, 0, 250,
475 251, 0, 260, 0, 272, 255, 260, 0, 10, 261,
476 37, 0, 285, 0, 290, 10, 274, 37, 0, 276,
477 0, 273, 275, 0, 273, 12, 283, 0, 273, 26,
478 283, 0, 273, 11, 36, 0, 273, 11, 274, 36,
479 0, 273, 31, 288, 0, 261, 0, 274, 32, 261,
480 0, 28, 0, 29, 0, 30, 0, 38, 0, 277,
481 0, 107, 0, 54, 10, 274, 37, 0, 114, 10,
482 44, 37, 0, 114, 10, 202, 37, 0, 108, 10,
483 260, 37, 0, 59, 10, 260, 32, 260, 37, 0,
484 108, 10, 227, 37, 0, 42, 0, 43, 0, 40,
485 0, 41, 0, 279, 0, 278, 279, 0, 0, 21,
486 280, 281, 0, 282, 0, 281, 32, 282, 0, 285,
487 31, 198, 0, 285, 31, 66, 198, 0, 25, 0,
488 20, 0, 25, 0, 25, 0, 283, 0, 283, 0,
489 283, 0, 283, 0, 283, 0
885824d3 490};
491
492#endif
493
494#if YYDEBUG != 0
495static const short yyrline[] = { 0,
1ac6313d 496 383, 384, 387, 388, 391, 392, 395, 396, 397, 400,
497 401, 404, 405, 406, 409, 415, 419, 421, 423, 425,
498 427, 429, 433, 437, 438, 441, 443, 447, 448, 451,
499 452, 455, 457, 459, 461, 465, 469, 471, 473, 477,
500 478, 481, 482, 483, 486, 487, 494, 496, 507, 509,
501 512, 516, 516, 517, 518, 518, 520, 521, 522, 523,
502 524, 524, 525, 528, 529, 530, 531, 533, 549, 551,
503 555, 556, 558, 561, 562, 565, 569, 571, 575, 577,
504 579, 581, 585, 586, 589, 591, 593, 596, 598, 601,
505 603, 606, 607, 608, 612, 613, 615, 617, 620, 622,
506 626, 627, 630, 632, 636, 637, 638, 641, 642, 645,
507 649, 650, 653, 654, 657, 658, 660, 663, 664, 667,
508 668, 671, 672, 673, 674, 677, 678, 681, 682, 683,
509 684, 685, 688, 689, 692, 693, 696, 697, 700, 701,
510 702, 705, 706, 709, 710, 711, 714, 715, 718, 723,
511 729, 737, 739, 741, 743, 747, 748, 751, 752, 753,
512 754, 755, 756, 757, 759, 763, 764, 765, 766, 769,
513 770, 773, 774, 777, 777, 786, 787, 791, 792, 795,
514 796, 799, 800, 801, 802, 803, 804, 805, 806, 807,
515 808, 816, 817, 822, 824, 830, 831, 832, 833, 834,
516 835, 836, 837, 838, 839, 840, 841, 842, 843, 844,
517 845, 846, 847, 848, 849, 850, 851, 852, 853, 854,
518 855, 856, 857, 858, 859, 860, 861, 862, 863, 864,
519 865, 868, 870, 872, 874, 876, 885, 886, 891, 892,
520 895, 897, 899, 901, 903, 905, 909, 910, 913, 914,
521 919, 922, 924, 928, 929, 932, 934, 938, 939, 949,
522 950, 953, 954, 955, 956, 957, 958, 961, 962, 963,
523 964, 965, 966, 975, 976, 977, 978, 979, 985, 986,
524 987, 997, 998, 999, 1004, 1005, 1008, 1009, 1010, 1011,
525 1012, 1013, 1014, 1015, 1018, 1019, 1022, 1024, 1026, 1028,
526 1030, 1033, 1035, 1037, 1039, 1041, 1043, 1051, 1053, 1055,
527 1058, 1061, 1064, 1069, 1070, 1073, 1074, 1077, 1078, 1079,
528 1082, 1083, 1086, 1087, 1090, 1091, 1094, 1097, 1098, 1101,
529 1102, 1105, 1108, 1114, 1116, 1117, 1120, 1121, 1126, 1128,
530 1132, 1133, 1134, 1137, 1138, 1141, 1142, 1145, 1146, 1149,
531 1150, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1162, 1163,
532 1166, 1169, 1171, 1175, 1179, 1180, 1183, 1184, 1187, 1189,
533 1191, 1193, 1194, 1196, 1198, 1200, 1203, 1205, 1209, 1210,
534 1213, 1214, 1215, 1216, 1219, 1220, 1221, 1222, 1223, 1224,
535 1229, 1235, 1245, 1246, 1247, 1248, 1251, 1253, 1257, 1261,
536 1264, 1265, 1268, 1269, 1272, 1273, 1276, 1277, 1278, 1279,
537 1280, 1281, 1282
885824d3 538};
539#endif
540
541
542#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
543
544static const char * const yytname[] = { "$","error","$undefined.","simpleOp",
545"PREFIX_OP","POSTFIX_OP","LLT_MULOP","LLT_SEMI","LLT_VERTICALBAR","ITERATION_OP",
546"LLT_LPAR","LLT_LBRACKET","selectSym","LLT_IF_THEN_ELSE","logicalOp","eqSepSym",
547"equationSym","commentSym","LLT_WHITESPACE","LLT_EOL","LLT_TYPEDEF_NAME","quantifierSym",
548"openSym","closeSym","sepSym","simpleId","mapSym","markerSym","preSym","postSym",
549"anySym","LLT_COLON","LLT_COMMA","LLT_EQUALS","LLT_LBRACE","LLT_RBRACE","LLT_RBRACKET",
550"LLT_RPAR","LLT_QUOTE","eqOp","LLT_CCHAR","LLT_CFLOAT","LLT_CINTEGER","LLT_LCSTRING",
551"LLT_ALL","LLT_ANYTHING","LLT_BE","LLT_BODY","LLT_CLAIMS","LLT_CHECKS","LLT_CONSTANT",
552"LLT_ELSE","LLT_ENSURES","LLT_FOR","LLT_FRESH","LLT_IF","LLT_IMMUTABLE","LLT_IMPORTS",
553"LLT_CONSTRAINT","LLT_ISSUB","LLT_LET","LLT_MODIFIES","LLT_MUTABLE","LLT_NOTHING",
554"LLT_INTERNAL","LLT_FILESYS","LLT_OBJ","LLT_OUT","LLT_SEF","LLT_ONLY","LLT_PARTIAL",
555"LLT_OWNED","LLT_DEPENDENT","LLT_KEEP","LLT_KEPT","LLT_TEMP","LLT_SHARED","LLT_UNIQUE",
556"LLT_UNUSED","LLT_EXITS","LLT_MAYEXIT","LLT_NEVEREXIT","LLT_TRUEEXIT","LLT_FALSEEXIT",
557"LLT_UNDEF","LLT_KILLED","LLT_CHECKMOD","LLT_CHECKED","LLT_UNCHECKED","LLT_CHECKEDSTRICT",
558"LLT_TRUENULL","LLT_FALSENULL","LLT_LNULL","LLT_LNOTNULL","LLT_RETURNED","LLT_OBSERVER",
559"LLT_EXPOSED","LLT_REFCOUNTED","LLT_REFS","LLT_RELNULL","LLT_RELDEF","LLT_KILLREF",
1ac6313d 560"LLT_NULLTERMINATED","LLT_TEMPREF","LLT_NEWREF","LLT_PRIVATE","LLT_REQUIRES",
561"LLT_RESULT","LLT_SIZEOF","LLT_SPEC","LLT_TAGGEDUNION","LLT_THEN","LLT_TYPE",
562"LLT_TYPEDEF","LLT_UNCHANGED","LLT_USES","LLT_CHAR","LLT_CONST","LLT_DOUBLE",
563"LLT_ENUM","LLT_FLOAT","LLT_INT","LLT_ITER","LLT_YIELD","LLT_LONG","LLT_SHORT",
564"LLT_SIGNED","LLT_UNKNOWN","LLT_STRUCT","LLT_TELIPSIS","LLT_UNION","LLT_UNSIGNED",
565"LLT_VOID","LLT_VOLATILE","LLT_PRINTFLIKE","LLT_SCANFLIKE","LLT_MESSAGELIKE",
566"interface","@1","externals","external","optDeclarations","declarations","declaration",
567"imports","uses","export","iter","iterParamList","realIterParamList","iterParam",
568"private","@2","private2","constDeclaration","varDeclaration","type","special",
569"fcn","@3","@4","claim","@5","abstract","@6","@7","@8","@9","@10","@11","@12",
570"@13","exposed","@14","@15","importNameList","importName","interfaceNameList",
571"interfaceName","traitRefNodeList","traitRef","traitIdList","renaming","nameList",
572"replaceNodeList","replace","name","initializer","constLclExpr","initDecls",
573"initDecl","globals","globalDecl","privateInits","privateInit","optLetDecl",
574"beDeclList","beDecl","sortSpec","optChecks","optRequire","optModify","storeRefList",
575"storeRef","optEnsure","optClaim","optParamList","realParamList","paramList",
576"optBody","callExpr","stmt","valueList","value","abstBody","fcns","optTypeInv",
577"typeInv","@16","declaratorInvs","declaratorInv","@17","optExposedBody","CType",
578"CTypes","typeSpecifier","specialQualifier","lclTypeSpec","lclType","pointers",
579"structOrUnionSpec","@18","@19","optTagId","structDecls","structDecl","declaratorList",
580"optCOMMA","enumSpec","enumeratorList","declarator","notype_decl","after_type_decl",
581"parameter_decl","param","typeName","optAbstDeclarator","abstDeclarator","arrayQual",
582"opForm","open","close","anyOp","middle","placeList","separator","signature",
583"domain","sortList","lclPredicate","term","term0","equalityTerm","simpleOpTerm",
584"simpleOp2","prefixOpTerm","postfixOps","infixOpPart","secondary","bracketed",
585"sqBracketed","matched","args","primary","termList","stateFcn","lclPrimary",
885824d3 586"cLiteral","quantifiers","quantifier","@20","quantifiedList","quantified","simpleIdOrTypedefName",
587"fcnId","varId","tagId","claimId","sortId","traitId","opId", NULL
588};
589#endif
590
591static const short yyr1[] = { 0,
1ac6313d 592 138, 137, 139, 139, 140, 140, 141, 141, 141, 142,
593 142, 143, 143, 143, 144, 145, 146, 146, 146, 146,
594 146, 146, 147, 148, 148, 149, 149, 150, 150, 152,
595 151, 153, 153, 153, 153, 154, 155, 155, 155, 156,
596 156, 157, 157, 157, 159, 158, 160, 158, 162, 161,
597 161, 164, 165, 163, 166, 167, 163, 168, 169, 163,
598 170, 171, 163, 173, 174, 172, 172, 172, 175, 175,
599 176, 176, 176, 177, 177, 178, 179, 179, 180, 180,
600 180, 180, 181, 181, 182, 182, 182, 183, 183, 184,
601 184, 185, 185, 185, 186, 186, 187, 188, 189, 189,
602 190, 190, 191, 191, 192, 192, 192, 193, 193, 194,
603 195, 195, 196, 196, 197, 197, 198, 199, 199, 200,
604 200, 201, 201, 201, 201, 202, 202, 203, 203, 203,
605 203, 203, 204, 204, 205, 205, 206, 206, 207, 207,
606 207, 208, 208, 209, 209, 209, 210, 210, 210, 210,
607 210, 211, 211, 211, 211, 212, 212, 213, 213, 213,
608 213, 213, 213, 213, 213, 214, 214, 214, 214, 215,
609 215, 216, 216, 218, 217, 219, 219, 221, 220, 222,
610 222, 223, 223, 223, 223, 223, 223, 223, 223, 223,
611 223, 224, 224, 225, 225, 226, 226, 226, 226, 226,
612 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
613 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
614 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
615 226, 227, 227, 227, 227, 227, 228, 228, 229, 229,
616 231, 230, 232, 230, 230, 230, 233, 233, 234, 234,
617 235, 236, 236, 237, 237, 238, 238, 239, 239, 240,
618 240, 241, 241, 241, 241, 241, 241, 242, 242, 242,
619 242, 242, 242, 243, 243, 243, 243, 243, 244, 244,
620 244, 245, 245, 245, 246, 246, 247, 247, 247, 247,
621 247, 247, 247, 247, 248, 248, 249, 249, 249, 249,
622 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
623 249, 249, 249, 250, 250, 251, 251, 252, 252, 252,
624 253, 253, 254, 254, 255, 255, 256, 257, 257, 258,
625 258, 259, 260, 261, 261, 261, 262, 262, 262, 262,
626 263, 263, 263, 264, 264, 265, 265, 266, 266, 267,
627 267, 268, 268, 268, 268, 268, 268, 268, 269, 269,
628 270, 270, 270, 270, 271, 271, 272, 272, 273, 273,
629 273, 273, 273, 273, 273, 273, 273, 273, 274, 274,
630 275, 275, 275, 275, 276, 276, 276, 276, 276, 276,
631 276, 276, 277, 277, 277, 277, 278, 278, 280, 279,
632 281, 281, 282, 282, 283, 283, 284, 285, 286, 287,
633 288, 289, 290
885824d3 634};
635
636static const short yyr2[] = { 0,
637 0, 3, 0, 2, 1, 1, 0, 2, 2, 0,
638 2, 1, 1, 1, 3, 3, 1, 1, 1, 1,
639 1, 1, 6, 0, 1, 1, 3, 2, 1, 0,
640 3, 1, 1, 1, 1, 4, 3, 4, 4, 1,
641 1, 1, 1, 1, 0, 13, 0, 14, 0, 13,
642 4, 0, 0, 6, 0, 0, 7, 0, 0, 7,
643 0, 0, 6, 0, 0, 6, 2, 2, 1, 3,
644 1, 3, 1, 1, 3, 1, 1, 3, 1, 4,
645 3, 6, 1, 3, 1, 1, 3, 1, 3, 1,
646 3, 3, 3, 4, 1, 1, 1, 1, 1, 3,
647 1, 3, 0, 2, 3, 2, 2, 0, 2, 4,
648 0, 3, 1, 3, 5, 3, 1, 0, 3, 0,
649 3, 0, 3, 3, 3, 1, 3, 1, 1, 2,
650 1, 1, 0, 3, 0, 3, 0, 1, 1, 1,
651 3, 1, 3, 0, 4, 5, 1, 3, 2, 3,
652 3, 4, 3, 5, 6, 1, 3, 1, 1, 2,
653 2, 3, 3, 3, 4, 1, 3, 4, 3, 0,
654 2, 0, 1, 0, 6, 1, 3, 0, 3, 0,
655 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
656 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1ac6313d 660 1, 1, 1, 1, 2, 5, 1, 2, 1, 2,
661 0, 6, 0, 6, 2, 2, 0, 1, 1, 2,
662 3, 1, 3, 0, 1, 6, 2, 1, 3, 1,
663 1, 1, 3, 2, 2, 3, 4, 1, 3, 2,
664 2, 3, 4, 1, 2, 2, 3, 4, 2, 2,
665 2, 2, 3, 1, 0, 1, 3, 2, 1, 1,
666 2, 3, 3, 4, 2, 3, 6, 1, 2, 2,
667 3, 3, 4, 4, 5, 3, 4, 4, 5, 2,
668 2, 3, 3, 1, 1, 1, 1, 1, 1, 1,
669 0, 1, 1, 3, 1, 1, 4, 0, 1, 1,
670 3, 1, 1, 6, 1, 3, 1, 4, 3, 3,
671 1, 2, 2, 1, 1, 1, 2, 1, 2, 2,
672 3, 1, 1, 2, 2, 3, 1, 2, 3, 1,
673 5, 3, 4, 2, 3, 2, 1, 3, 3, 1,
674 4, 1, 2, 3, 3, 3, 4, 3, 1, 3,
675 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
676 6, 4, 1, 1, 1, 1, 1, 2, 0, 3,
677 1, 3, 3, 4, 1, 1, 1, 1, 1, 1,
678 1, 1, 1
885824d3 679};
680
681static const short yydefact[] = { 3,
1ac6313d 682 1, 0, 0, 7, 4, 5, 6, 0, 406, 405,
683 73, 0, 69, 71, 76, 0, 0, 77, 412, 79,
885824d3 684 0, 194, 0, 0, 61, 52, 196, 198, 199, 228,
685 200, 201, 202, 203, 210, 211, 212, 197, 205, 206,
1ac6313d 686 209, 207, 208, 230, 231, 213, 214, 215, 216, 217,
885824d3 687 224, 225, 226, 204, 227, 220, 221, 218, 219, 223,
1ac6313d 688 229, 222, 30, 0, 183, 0, 184, 247, 185, 186,
689 0, 187, 188, 189, 191, 247, 247, 190, 182, 0,
690 42, 43, 44, 2, 10, 22, 10, 17, 18, 19,
691 0, 20, 21, 40, 41, 192, 195, 232, 0, 0,
692 233, 234, 0, 15, 0, 0, 83, 16, 0, 0,
693 220, 237, 0, 233, 234, 407, 410, 0, 0, 0,
694 0, 0, 0, 58, 0, 64, 0, 0, 409, 257,
695 408, 0, 241, 245, 243, 246, 0, 8, 9, 0,
696 193, 235, 0, 0, 268, 0, 99, 103, 261, 260,
697 262, 67, 68, 72, 70, 0, 81, 78, 344, 345,
698 321, 0, 319, 314, 0, 0, 315, 320, 0, 0,
699 0, 86, 85, 90, 285, 88, 284, 321, 298, 318,
700 239, 238, 0, 0, 137, 0, 101, 0, 0, 0,
701 0, 31, 32, 33, 34, 35, 0, 0, 0, 24,
702 0, 0, 0, 11, 14, 12, 13, 103, 264, 270,
703 0, 0, 37, 0, 0, 45, 0, 0, 265, 0,
704 271, 84, 0, 323, 0, 322, 310, 311, 321, 0,
705 0, 321, 299, 0, 285, 80, 0, 0, 289, 0,
706 282, 286, 290, 0, 0, 300, 240, 0, 51, 140,
707 0, 138, 139, 285, 142, 36, 62, 53, 0, 0,
708 65, 176, 178, 38, 258, 254, 0, 0, 25, 26,
709 29, 0, 0, 39, 47, 263, 269, 100, 0, 0,
710 399, 408, 395, 396, 393, 394, 0, 0, 0, 386,
711 0, 0, 102, 97, 0, 98, 333, 335, 337, 0,
712 341, 346, 353, 357, 360, 352, 372, 385, 0, 397,
713 413, 370, 0, 0, 0, 0, 104, 0, 266, 0,
714 295, 0, 272, 0, 0, 306, 326, 325, 0, 0,
715 312, 313, 0, 301, 0, 283, 87, 89, 91, 0,
716 288, 0, 0, 0, 291, 93, 92, 96, 95, 316,
717 317, 302, 236, 103, 0, 289, 0, 274, 280, 279,
718 281, 0, 0, 56, 59, 0, 0, 180, 255, 0,
719 28, 0, 0, 0, 0, 249, 0, 0, 0, 364,
720 367, 0, 0, 0, 0, 0, 0, 0, 366, 0,
721 0, 0, 0, 347, 346, 348, 342, 343, 354, 358,
722 0, 0, 0, 0, 381, 382, 383, 0, 384, 355,
723 373, 0, 398, 0, 106, 107, 108, 0, 267, 296,
724 273, 82, 307, 324, 308, 303, 0, 293, 287, 292,
725 0, 328, 94, 304, 49, 141, 143, 275, 289, 0,
726 276, 166, 170, 63, 54, 0, 0, 177, 66, 172,
727 179, 259, 256, 23, 27, 0, 252, 242, 250, 244,
728 108, 369, 0, 362, 0, 400, 401, 0, 379, 0,
729 0, 0, 194, 0, 0, 0, 131, 132, 0, 0,
730 126, 129, 128, 365, 336, 340, 339, 350, 349, 0,
731 411, 359, 376, 0, 374, 375, 378, 356, 0, 332,
732 0, 111, 105, 309, 305, 0, 294, 0, 329, 330,
733 0, 277, 0, 0, 0, 74, 0, 57, 60, 174,
734 0, 173, 251, 0, 111, 363, 0, 368, 0, 0,
735 0, 387, 0, 0, 392, 390, 388, 130, 0, 389,
736 351, 377, 338, 371, 0, 0, 109, 118, 297, 0,
737 0, 111, 278, 169, 0, 0, 167, 171, 0, 0,
738 181, 253, 118, 361, 402, 0, 403, 117, 380, 0,
739 0, 127, 0, 113, 0, 0, 0, 120, 327, 331,
740 120, 75, 168, 103, 0, 120, 404, 334, 391, 112,
741 0, 0, 0, 0, 0, 0, 122, 144, 0, 122,
742 114, 0, 116, 110, 119, 0, 0, 133, 0, 133,
743 0, 133, 0, 121, 0, 0, 0, 0, 135, 0,
744 0, 175, 135, 115, 124, 123, 125, 0, 0, 0,
745 0, 408, 0, 147, 0, 0, 50, 0, 134, 0,
746 46, 0, 149, 0, 0, 145, 0, 0, 48, 136,
747 0, 148, 146, 151, 150, 0, 0, 153, 0, 156,
748 158, 0, 159, 407, 0, 160, 0, 0, 152, 161,
749 0, 0, 163, 157, 162, 164, 0, 154, 0, 165,
750 155, 0, 0, 0
885824d3 751};
752
1ac6313d 753static const short yydefgoto[] = { 682,
754 4, 1, 5, 84, 138, 204, 6, 205, 206, 86,
755 268, 269, 270, 207, 125, 192, 88, 89, 90, 91,
756 92, 316, 378, 93, 511, 94, 122, 363, 123, 446,
757 191, 447, 121, 362, 95, 197, 367, 12, 13, 515,
758 14, 17, 18, 106, 171, 172, 173, 174, 346, 293,
759 294, 146, 147, 216, 317, 502, 547, 548, 573, 574,
760 567, 578, 597, 608, 480, 481, 619, 630, 251, 342,
761 253, 610, 654, 634, 659, 660, 444, 517, 521, 522,
762 560, 261, 262, 368, 451, 96, 97, 98, 99, 254,
763 482, 182, 114, 201, 202, 128, 375, 376, 456, 370,
764 115, 266, 187, 149, 150, 360, 255, 176, 241, 242,
765 243, 177, 295, 352, 179, 225, 226, 465, 433, 508,
766 509, 499, 500, 297, 298, 299, 300, 301, 397, 398,
767 302, 303, 304, 305, 382, 306, 470, 411, 307, 308,
768 309, 310, 383, 466, 467, 311, 662, 312, 130, 119,
769 492, 20, 313
885824d3 770};
771
772static const short yypact[] = {-32768,
1ac6313d 773 -25, 136, 368, 1350,-32768,-32768,-32768, 181,-32768,-32768,
774-32768, 94,-32768,-32768,-32768, 181, 110,-32768,-32768, 33,
775 2903,-32768, 182, 2903,-32768, 17,-32768,-32768,-32768,-32768,
776-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
885824d3 777-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1ac6313d 778-32768,-32768,-32768,-32768,-32768, -11,-32768,-32768,-32768,-32768,
779-32768,-32768,-32768, 2903,-32768, 2903,-32768, 181,-32768,-32768,
780 108,-32768,-32768,-32768,-32768, 181, 181,-32768,-32768, 2903,
885824d3 781-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1ac6313d 782 2903,-32768,-32768,-32768,-32768,-32768, 399,-32768, 2903, 408,
783 155, 192, 205,-32768, 136, 204,-32768,-32768, 368, 1152,
784-32768, 233, 223,-32768,-32768, 266,-32768, 181, 305, 408,
785 211, 235, 264,-32768, 1445,-32768, 408, 339,-32768, 347,
786-32768, 377,-32768, 347,-32768, 347, 408, 1247, 1247, 408,
787-32768,-32768, 408, 408,-32768, 196,-32768, 259, 322, 409,
788-32768,-32768,-32768,-32768,-32768, 181, 387,-32768,-32768,-32768,
789 386, 181,-32768,-32768, 181, 534,-32768,-32768, 403, 2903,
790 410, 445, 453,-32768, 360, 439,-32768, 386, 474,-32768,
791-32768, 496, 2903, 497, 2319, 239, 470, 486, 492, 401,
792 404,-32768,-32768,-32768,-32768,-32768, 408, 282, 493, 2414,
793 488, 494, 288,-32768,-32768,-32768,-32768,-32768, 322, 409,
794 121, 141,-32768, 408, 3200, 1836, 1933, 3059,-32768, 2030,
795-32768,-32768, 1152,-32768, 499, 122,-32768,-32768, 386, 181,
796 181, 386, 502, 421, 360,-32768, 1152, 1152, 360, 1741,
797-32768, 454,-32768, 328, 80,-32768,-32768, 525,-32768,-32768,
798 504,-32768, 507, 380,-32768,-32768,-32768,-32768, 522, 524,
799 515,-32768,-32768,-32768,-32768, 518, 2903, 514, 520,-32768,
800-32768, 2903, 2903,-32768, 1836,-32768,-32768,-32768, 3200, 3109,
801-32768, 266,-32768,-32768,-32768,-32768, 544, 3200, 545,-32768,
802 549, 551,-32768,-32768, 3033,-32768, 550,-32768, 114, 3226,
803-32768, 374, 382, 382, 535, 193,-32768,-32768, 273,-32768,
804-32768,-32768, 555, 560, 562, 536,-32768, 408,-32768, 537,
805-32768, 539,-32768, 540, 541, 552,-32768,-32768, 553, 547,
806-32768,-32768, 80,-32768, 554,-32768, 453, 439,-32768, 439,
807 454, 548, 177, 2127,-32768, 556,-32768,-32768,-32768,-32768,
808-32768, 557,-32768,-32768, 2509, 380, 1644,-32768, 322, 469,
809-32768, 47, 47,-32768,-32768, 408, 564, 538, 561, 559,
810-32768, 569, 2414, 408, 2611,-32768, 2713, 558, 36, 565,
811-32768, 293, 108, 3200, 10, 3200, 1022, 762,-32768, 220,
812 3200, 3226, 3226,-32768,-32768, 268, 374, 374, 275, 275,
813 181, 3150, 181, 181,-32768,-32768,-32768, 181,-32768, 382,
814-32768, 3200,-32768, 3200,-32768,-32768,-32768, 314,-32768,-32768,
815-32768,-32768,-32768,-32768, 563, 568, 566,-32768,-32768,-32768,
816 573, 181,-32768,-32768, 1836,-32768,-32768, 469, 354, 2224,
817-32768,-32768, 165,-32768,-32768, 47, 47,-32768,-32768, 530,
818-32768,-32768,-32768,-32768,-32768, 317,-32768,-32768,-32768,-32768,
819-32768,-32768, 181, 567, 3200, 570,-32768, 572, 550, 362,
820 3200, 579, 581, 575, 577, 578,-32768,-32768, 2903, 384,
821-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 268,
822-32768,-32768,-32768, 157,-32768,-32768,-32768, 275, 583,-32768,
823 397, -8,-32768,-32768,-32768, 574,-32768, 590, 591,-32768,
824 571,-32768, 587, 592, 363,-32768, 1547,-32768,-32768,-32768,
825 594,-32768,-32768, 408, -8,-32768, 181,-32768, 108, 2808,
826 3200,-32768, 28, 3200,-32768,-32768,-32768,-32768, 892,-32768,
827-32768,-32768,-32768,-32768, 108, 2903,-32768, 582,-32768, 181,
828 181, 576,-32768,-32768, 181, 593,-32768,-32768, 408, 605,
829-32768,-32768, 582,-32768,-32768, 2903,-32768,-32768, 550, 3200,
830 600,-32768, 331,-32768, 103, 408, 3200, 521,-32768,-32768,
831 521,-32768,-32768,-32768, 629, 521,-32768, 550,-32768,-32768,
832 108, 2903, 3200, 336, 634, 3200, 584, 597, 3200, 584,
833-32768, 601,-32768,-32768,-32768, 639, 632, 596, 615, 596,
834 613, 596, 3200,-32768, 644, 648, 337, 3200, 608, 49,
835 623,-32768, 608,-32768,-32768,-32768,-32768, 652, 3200, 625,
836 49, 651, 50,-32768, 653, 631,-32768, 627,-32768, 658,
837-32768, 63,-32768, 272, 49,-32768, 208, 642,-32768,-32768,
838 49,-32768,-32768, 660,-32768, 222, 222,-32768, 419, 666,
839-32768, 661,-32768,-32768, 668,-32768, 41, 222,-32768, 316,
840 432, 468,-32768, 666,-32768,-32768, 426,-32768, 430,-32768,
841-32768, 670, 676,-32768
885824d3 842};
843
844static const short yypgoto[] = {-32768,
1ac6313d 845-32768,-32768,-32768,-32768, 595,-32768,-32768, 678, 677,-32768,
846-32768,-32768, 307, 679,-32768,-32768, 610, 612, 616,-32768,
847 -121,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
848-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 580,-32768,
849 -6,-32768, 585,-32768, 461,-32768, 451, 452,-32768,-32768,
850 471, -108, 478, -188,-32768, 232,-32768, -458,-32768, 127,
851 -473, 175, -169, 142, 137, 206, -206, 120,-32768, -180,
852-32768,-32768, -507,-32768, -190, -230, -318,-32768,-32768,-32768,
853-32768,-32768, 381,-32768,-32768, -89,-32768,-32768,-32768, -3,
854 -18,-32768, 32,-32768,-32768, 407, 476, 68,-32768,-32768,
855 56,-32768, -93, -127, 344, 398, -187, 257, -182, -213,
856 -101, 511, 30, -267, 603, -137,-32768, 586,-32768,-32768,
857-32768, -531, -204, -254,-32768, 105, -46, 466,-32768,-32768,
858 -278, 455,-32768,-32768, 472, -265, -205,-32768,-32768, -372,
859-32768, -303,-32768,-32768, 242, 7, -23, -38, 423, 656,
860 -377, 19, 531
885824d3 861};
862
863
1ac6313d 864#define YYLAST 3340
865
866
867static const short yytable[] = { 118,
868 100, 103, 113, 196, 252, 413, 148, 141, 15, 19,
869 296, 186, 271, 296, 15, 209, 211, 112, 198, 275,
870 120, 395, 19, 391, 379, 341, 343, 389, 203, 117,
871 497, 2, 132, 385, 107, 101, 320, 399, 400, 324,
872 245, 391, 110, 670, 445, 595, 208, 219, 221, 391,
873 124, 545, 336, 442, 510, 643, 644, 645, 631, 102,
874 126, 151, 127, 180, 606, 426, 563, 611, 643, 651,
875 645, 361, 462, 632, 129, 381, 137, 673, 570, 371,
876 443, 151, 129, 129, 646, 526, 628, 140, 151, 3,
877 381, 330, 587, 581, 333, 142, 546, 640, 151, 652,
878 104, 151, 350, 263, 151, 151, 175, 219, 221, 219,
879 221, 15, 633, -55, 351, 19, 108, 488, 602, 180,
880 471, 100, 484, 642, 117, 105, 359, 518, 519, 469,
881 217, 218, 131, 592, 100, 100, 485, 655, 8, 178,
882 345, 109, 341, 343, 498, 327, 392, 469, 593, 564,
883 220, 218, 393, 328, 347, 9, 101, 276, 151, 469,
884 10, 152, 19, 431, 248, 435, 235, 437, 227, 101,
885 101, 228, 579, 580, 222, 151, 180, 277, 11, 112,
886 102, 472, 475, 483, 9, 271, 344, 218, 531, 10,
887 180, 180, 542, 102, 102, 232, 494, 180, 153, 514,
888 9, 9, 213, 402, 403, 10, 116, 154, 501, 418,
889 656, 541, 318, 429, 164, 151, 533, 657, 404, 175,
890 405, 406, 407, 408, 656, 341, 167, 214, 209, 211,
891 409, 657, 632, 175, 175, 156, 331, 332, 181, 345,
892 157, 345, 350, 327, 658, 256, 632, 283, 284, 285,
893 286, 328, 178, 183, 351, 396, 585, 219, 441, 513,
894 528, 283, 284, 285, 286, -101, 178, 178, 374, 374,
895 214, 318, 263, 178, 661, -405, 569, 279, 280, 151,
896 457, 631, 412, 661, 661, 402, 403, 9, 264, 164,
897 -101, 215, 282, 281, 274, 661, 632, 661, 661, 661,
898 404, 167, 405, 406, 407, 408, 653, 283, 284, 285,
899 286, 209, 409, 214, 185, 588, 327, 151, 151, 214,
900 503, 287, 188, 523, 328, 657, 289, 151, 464, 571,
901 159, 217, 218, 160, 483, 151, 441, 590, 161, 162,
902 632, 163, 604, 627, 468, 214, 189, 9, 524, 164,
903 489, 490, 10, 165, 166, 283, 284, 285, 286, 439,
904 190, 167, 591, 357, 218, 239, 168, 214, 539, 240,
905 218, 374, 199, 374, 290, 291, 159, 16, 131, 160,
906 -248, 292, 169, 474, 112, 356, 200, 9, 603, 357,
907 218, 279, 10, 531, 555, 558, 223, 556, 532, 358,
908 151, 9, 483, 621, 131, 623, 282, 491, 624, 495,
909 496, 598, 224, 143, 491, 539, 600, 144, 220, 218,
910 540, 283, 284, 285, 286, 666, 667, 145, 531, 234,
911 562, 318, 131, 544, 656, 287, 516, 674, 491, 675,
912 289, 657, 459, 65, 459, 67, 236, 69, 70, 15,
913 668, 72, 73, 74, 75, 669, 632, 668, 78, 79,
914 538, 668, 680, 344, 218, 584, 681, 594, 676, 491,
915 656, 283, 284, 285, 286, 112, 237, 657, 440, 218,
916 677, 679, 133, 135, 238, 151, 210, 212, 290, 291,
917 468, 244, 632, 338, 340, 292, 486, 487, 134, 136,
918 246, 247, 215, 249, 678, 257, 575, 283, 284, 285,
919 286, 258, 259, 559, 65, 260, 67, 265, 69, 70,
920 151, 272, 72, 73, 74, 75, 568, 273, 334, 78,
921 79, 335, 353, 491, 326, 112, 159, 151, 355, 160,
922 354, 364, 576, 365, 229, 230, 366, 163, 582, 369,
923 372, 373, 575, 384, 386, 164, 491, 491, 387, 231,
924 388, 15, 568, 391, 414, 401, 415, 167, 416, 417,
925 449, 450, 168, 419, 420, 454, 421, 422, 423, 424,
926 427, 636, 425, 434, 428, 452, 432, 520, 568, 504,
927 -406, 461, 636, 453, 505, 463, 635, 527, 554, 583,
928 549, 529, 530, 112, 552, 636, 636, 635, 663, 507,
929 534, 535, 636, 536, 537, 550, 506, 663, 663, 543,
930 635, 635, 551, 553, 665, 281, 596, 635, 561, 663,
931 577, 663, 663, 663, 159, 545, 589, 160, 599, 21,
932 605, 279, 280, 609, 607, 614, 613, 618, 620, 622,
933 625, 473, 281, 164, 626, 629, 282, 637, 639, 641,
934 -407, 649, 647, 648, 650, 167, 664, 645, 670, 683,
935 671, 283, 284, 285, 286, 684, 615, 672, 7, 455,
936 85, 139, 87, 325, 155, 287, 288, 337, 322, 339,
937 289, 278, 525, 158, 616, 477, 478, 479, 27, 28,
938 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
939 39, 40, 41, 42, 43, 44, 45, 601, 46, 47,
940 48, 49, 50, 51, 52, 53, 54, 55, 111, 57,
941 58, 59, 60, 61, 193, 62, 194, 586, 290, 291,
942 195, 612, 638, 617, 572, 292, 448, 65, 377, 67,
943 68, 69, 70, 438, 348, 72, 73, 74, 75, 76,
944 410, 77, 78, 79, 159, 394, 390, 160, 233, 21,
945 565, 279, 280, 184, 349, 0, 0, 0, 0, 0,
946 0, 473, 281, 164, 0, 0, 282, 0, 0, 0,
947 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
948 0, 283, 284, 285, 286, 476, 0, 0, 0, 0,
949 0, 329, 0, 0, 0, 287, 288, 0, 0, 0,
950 289, 0, 0, 0, 0, 477, 478, 479, 27, 28,
951 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
952 39, 40, 41, 42, 43, 44, 45, 0, 46, 47,
953 48, 49, 50, 51, 52, 53, 54, 55, 111, 57,
954 58, 59, 60, 61, 0, 62, 0, 0, 290, 291,
955 0, 0, 0, 0, 0, 292, 0, 65, 0, 67,
956 68, 69, 70, 0, 0, 72, 73, 74, 75, 76,
957 0, 77, 78, 79, 159, 0, 0, 160, 0, 21,
958 0, 279, 280, 0, 0, 0, 0, 0, 0, 0,
959 0, 473, 281, 164, 0, 0, 282, 0, 0, 0,
960 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
961 0, 283, 284, 285, 286, 0, 0, 0, 0, 0,
962 0, 0, 0, 0, 0, 287, 288, 0, 0, 0,
963 289, 0, 0, 0, 0, 477, 478, 479, 27, 28,
964 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
965 39, 40, 41, 42, 43, 44, 45, 0, 46, 47,
966 48, 49, 50, 51, 52, 53, 54, 55, 111, 57,
967 58, 59, 60, 61, 0, 62, 0, 0, 290, 291,
968 0, 0, 0, 0, 0, 292, 0, 65, 0, 67,
969 68, 69, 70, 0, 0, 72, 73, 74, 75, 76,
970 0, 77, 78, 79, 159, 0, 0, 160, 0, 21,
971 0, 279, 280, 0, 0, 0, 0, 0, 0, 0,
972 0, 473, 281, 164, 0, 0, 282, 0, 0, 0,
973 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
974 0, 283, 284, 285, 286, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 287, 288, 0, 0, 0,
976 289, 0, 0, 0, 0, 0, 0, 0, 27, 28,
977 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
978 39, 40, 41, 42, 43, 44, 45, 0, 46, 47,
979 48, 49, 50, 51, 52, 53, 54, 55, 111, 57,
980 58, 59, 60, 61, 0, 62, 0, 0, 290, 291,
981 0, 0, 0, 0, 0, 292, 0, 65, 0, 67,
982 68, 69, 70, 0, 0, 72, 73, 74, 75, 76,
983 0, 77, 78, 79, 159, 0, 0, 160, 0, 21,
984 0, 0, 161, 162, 0, 163, 0, 0, 0, 0,
985 0, 22, 0, 164, 0, 0, 0, 165, 166, 0,
986 0, 0, 0, 0, 0, 167, 0, 0, 0, 0,
987 168, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 169, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 0, 170, 27, 28,
990 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
991 39, 40, 41, 42, 43, 44, 45, 0, 46, 47,
992 48, 49, 50, 51, 52, 53, 54, 55, 111, 57,
993 58, 59, 60, 61, 21, 62, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 22, 65, 0, 67,
995 68, 69, 70, 0, 0, 72, 73, 74, 75, 76,
996 0, 77, 78, 79, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 23, 0, 24, 0, 0, 0,
998 0, 0, 25, 0, 0, 0, 0, 0, 26, 0,
999 0, 0, 0, 27, 28, 29, 30, 31, 32, 33,
885824d3 1000 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1001 44, 45, 0, 46, 47, 48, 49, 50, 51, 52,
1ac6313d 1002 53, 54, 55, 56, 57, 58, 59, 60, 61, 0,
1003 62, 0, 0, 0, 0, 63, 0, 21, 0, 64,
1004 0, 3, 65, 66, 67, 68, 69, 70, 71, 22,
1005 72, 73, 74, 75, 76, 0, 77, 78, 79, 80,
1006 81, 82, 83, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 23, 0, 24,
1008 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,
1009 0, 26, 0, 0, 0, 0, 27, 28, 29, 30,
1010 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1011 41, 42, 43, 44, 45, 0, 46, 47, 48, 49,
1012 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1013 60, 61, 21, 62, 0, 0, 0, 0, 63, 0,
1014 0, 0, 64, 0, 22, 65, 66, 67, 68, 69,
1015 70, 71, 0, 72, 73, 74, 75, 76, 0, 77,
1016 78, 79, 80, 81, 82, 83, 0, 0, 0, 0,
1017 0, 0, 0, 0, 24, 0, 0, 0, 0, 0,
1018 25, 0, 0, 0, 0, 0, 26, 0, 0, 0,
1019 0, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1020 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1021 0, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1022 55, 56, 57, 58, 59, 60, 61, 0, 62, 0,
1023 0, 0, 0, 0, 21, 0, 0, 64, 0, 0,
1024 65, 66, 67, 68, 69, 70, 22, 0, 72, 73,
1025 74, 75, 76, 0, 77, 78, 79, 80, 81, 82,
1026 83, 557, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1029 0, 0, 0, 27, 28, 29, 30, 31, 32, 33,
1030 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1031 44, 45, 0, 46, 47, 48, 49, 50, 51, 52,
1ac6313d 1032 53, 54, 55, 111, 57, 58, 59, 60, 61, 439,
1033 62, 21, 0, 357, 218, 0, 0, 0, 0, 0,
1034 0, 0, 65, 22, 67, 68, 69, 70, 131, 0,
1035 72, 73, 74, 75, 76, 0, 77, 78, 79, 0,
1036 81, 82, 83, 0, 0, 0, 0, 0, 0, 0,
885824d3 1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1040 37, 38, 39, 40, 41, 42, 43, 44, 45, 0,
1041 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1ac6313d 1042 111, 57, 58, 59, 60, 61, 239, 62, 21, 0,
1043 240, 218, 0, 0, 0, 0, 0, 0, 0, 65,
1044 22, 67, 68, 69, 70, 0, 0, 72, 73, 74,
1045 75, 76, 250, 77, 78, 79, 0, 0, 0, 0,
885824d3 1046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1048 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
1049 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1050 40, 41, 42, 43, 44, 45, 0, 46, 47, 48,
1051 49, 50, 51, 52, 53, 54, 55, 111, 57, 58,
1052 59, 60, 61, 21, 62, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 22, 65, 0, 67, 68,
1054 69, 70, 0, 0, 72, 73, 74, 75, 76, 250,
1055 77, 78, 79, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0, 0, 314,
1058 315, 0, 27, 28, 29, 30, 31, 32, 33, 34,
1059 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1060 45, 0, 46, 47, 48, 49, 50, 51, 52, 53,
1061 54, 55, 111, 57, 58, 59, 60, 61, 0, 62,
1062 21, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 65, 22, 67, 68, 69, 70, 0, 0, 72,
1064 73, 74, 75, 76, 0, 77, 78, 79, 0, 319,
885824d3 1065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
1068 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1069 38, 39, 40, 41, 42, 43, 44, 45, 0, 46,
1070 47, 48, 49, 50, 51, 52, 53, 54, 55, 111,
1071 57, 58, 59, 60, 61, 0, 62, 21, 0, 0,
1072 0, 0, 0, 0, 0, 0, 0, 0, 65, 22,
1073 67, 68, 69, 70, 0, 0, 72, 73, 74, 75,
1074 76, 250, 77, 78, 79, 0, 323, 0, 0, 0,
885824d3 1075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 27, 28, 29, 30,
1078 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1079 41, 42, 43, 44, 45, 0, 46, 47, 48, 49,
1ac6313d 1080 50, 51, 52, 53, 54, 55, 111, 57, 58, 59,
1081 60, 61, 0, 62, 21, 0, 0, 0, 0, 0,
1082 0, 0, 0, 0, 0, 65, 22, 67, 68, 69,
1083 70, 0, 0, 72, 73, 74, 75, 76, 250, 77,
1084 78, 79, 0, 430, 0, 0, 0, 0, 0, 0,
885824d3 1085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1087 0, 0, 0, 27, 28, 29, 30, 31, 32, 33,
1088 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1089 44, 45, 0, 46, 47, 48, 49, 50, 51, 52,
1090 53, 54, 55, 111, 57, 58, 59, 60, 61, 0,
1091 62, 21, 0, 0, 0, 0, 0, 0, 0, 0,
1092 0, 0, 65, 22, 67, 68, 69, 70, 0, 0,
1093 72, 73, 74, 75, 76, 250, 77, 78, 79, 0,
1094 512, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1097 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1098 37, 38, 39, 40, 41, 42, 43, 44, 45, 0,
1099 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1100 111, 57, 58, 59, 60, 61, 21, 62, 0, 0,
1101 0, 0, 0, 0, 0, 0, 0, 0, 22, 65,
1102 0, 67, 68, 69, 70, 0, 0, 72, 73, 74,
1103 75, 76, 250, 77, 78, 79, 0, 0, 0, 0,
885824d3 1104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1106 0, 0, 0, 0, 0, 27, 28, 29, 30, 31,
1107 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1108 42, 43, 44, 45, 0, 46, 47, 48, 49, 50,
1109 51, 52, 53, 54, 55, 111, 57, 58, 59, 60,
1110 61, 21, 62, 0, 0, 0, 0, 0, 0, 0,
1111 0, 0, 0, 22, 65, 0, 67, 68, 69, 70,
1112 0, 0, 72, 73, 74, 75, 76, 250, 77, 78,
1113 79, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1114 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1115 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1116 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1117 37, 38, 39, 40, 41, 42, 43, 44, 45, 0,
1118 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1119 111, 57, 58, 59, 60, 61, 21, 62, 0, 0,
1120 0, 0, 0, 0, 0, 0, 0, 0, 22, 65,
1121 0, 67, 68, 69, 70, 0, 267, 72, 73, 74,
1122 75, 76, 0, 77, 78, 79, 0, 0, 0, 0,
885824d3 1123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1125 0, 0, 0, 0, 0, 27, 28, 29, 30, 31,
1126 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1127 42, 43, 44, 45, 0, 46, 47, 48, 49, 50,
1128 51, 52, 53, 54, 55, 111, 57, 58, 59, 60,
1129 61, 0, 62, 0, 0, 0, 0, 0, 21, 0,
1130 0, 0, 0, 0, 65, 0, 67, 68, 69, 70,
1131 22, 0, 72, 73, 74, 75, 76, 436, 77, 78,
1132 79, 0, 0, 0, 0, 458, 0, 0, 0, 0,
885824d3 1133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1135 0, 0, 0, 0, 0, 0, 0, 27, 28, 29,
1136 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1137 40, 41, 42, 43, 44, 45, 0, 46, 47, 48,
1ac6313d 1138 49, 50, 51, 52, 53, 54, 55, 111, 57, 58,
1139 59, 60, 61, 0, 62, 0, 0, 0, 0, 0,
1140 21, 0, 0, 0, 0, 0, 65, 0, 67, 68,
1141 69, 70, 22, 0, 72, 73, 74, 75, 76, 0,
1142 77, 78, 79, 0, 0, 0, 0, 460, 0, 0,
885824d3 1143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1145 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
1146 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1147 38, 39, 40, 41, 42, 43, 44, 45, 0, 46,
1148 47, 48, 49, 50, 51, 52, 53, 54, 55, 111,
1149 57, 58, 59, 60, 61, 21, 62, 0, 0, 0,
1150 0, 0, 0, 0, 0, 0, 0, 22, 65, 0,
1151 67, 68, 69, 70, 0, 0, 72, 73, 74, 75,
1152 76, 0, 77, 78, 79, 0, 0, 0, 0, 0,
885824d3 1153 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1154 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1155 0, 0, 0, 566, 27, 28, 29, 30, 31, 32,
1156 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1157 43, 44, 45, 0, 46, 47, 48, 49, 50, 51,
1158 52, 53, 54, 55, 111, 57, 58, 59, 60, 61,
1159 21, 62, 0, 0, 0, 0, 0, 0, 0, 0,
1160 0, 0, 22, 65, 0, 67, 68, 69, 70, 0,
1161 0, 72, 73, 74, 75, 76, 0, 77, 78, 79,
885824d3 1162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885824d3 1163 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1164 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,
1165 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1166 38, 39, 40, 41, 42, 43, 44, 45, 0, 46,
1167 47, 48, 49, 50, 51, 52, 53, 54, 55, 111,
1168 57, 58, 59, 60, 61, 0, 62, 0, 0, 0,
1169 0, 0, 0, 0, 0, 0, 0, 0, 65, 0,
1170 67, 68, 69, 70, 0, 0, 72, 73, 74, 75,
1171 76, 0, 77, 78, 79, 159, 0, 0, 160, 0,
1172 0, 0, 279, 280, 0, 0, 0, 0, 0, 0,
1173 0, 0, 9, 281, 164, 350, 0, 282, 0, 0,
1174 0, 159, 0, 0, 160, 0, 167, 351, 279, 280,
1175 0, 0, 283, 284, 285, 286, 0, 0, 9, 281,
1176 164, 0, 0, 282, 0, 0, 287, 288, 0, 0,
1177 0, 289, 167, 0, 321, 0, 0, 0, 283, 284,
1178 285, 286, 0, 0, 0, 0, 0, 0, 0, 0,
1179 0, 159, 287, 288, 160, 0, 0, 289, 279, 280,
1180 0, 0, 0, 0, 0, 0, 0, 0, 9, 281,
1181 164, 0, 0, 282, 0, 0, 0, 0, 0, 290,
1182 291, 0, 167, 0, 380, 0, 292, 0, 283, 284,
1183 285, 286, 159, 0, 0, 160, 0, 0, 0, 279,
1184 280, 0, 287, 288, 0, 290, 291, 289, 0, 9,
1185 281, 164, 292, 0, 282, 0, 0, 0, 0, 0,
1186 0, 0, 0, 167, 0, 493, 0, 0, 0, 283,
1187 284, 285, 286, 0, 0, 0, 0, 0, 0, 0,
1188 0, 0, 159, 287, 288, 160, 0, 0, 289, 279,
1189 280, 0, 0, 0, 0, 290, 291, 0, 0, 9,
1190 281, 164, 292, 0, 282, 0, 0, 0, 159, 0,
1191 0, 160, 0, 167, 0, 279, 280, 0, 0, 283,
1192 284, 285, 286, 0, 0, 9, 0, 164, 0, 0,
1193 282, 0, 0, 287, 288, 0, 290, 291, 289, 167,
1194 0, 0, 0, 292, 0, 283, 284, 285, 286, 0,
1195 0, 0, 0, 0, 0, 0, 0, 0, 0, 287,
1196 0, 0, 0, 0, 289, 0, 0, 0, 0, 0,
885824d3 1197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1198 0, 0, 0, 0, 0, 0, 290, 291, 0, 0,
1199 0, 0, 0, 292, 0, 0, 0, 0, 0, 0,
885824d3 1200 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1ac6313d 1201 0, 0, 290, 291, 0, 0, 0, 0, 0, 292
885824d3 1202};
1203
1204static const short yycheck[] = { 23,
1ac6313d 1205 4, 8, 21, 125, 185, 309, 100, 97, 2, 3,
1206 215, 120, 200, 218, 8, 143, 144, 21, 127, 208,
1207 24, 300, 16, 14, 279, 239, 240, 295, 137, 23,
1208 408, 57, 71, 288, 16, 4, 217, 303, 304, 220,
1209 178, 14, 10, 3, 363, 577, 140, 149, 150, 14,
1210 62, 60, 235, 7, 432, 6, 7, 8, 10, 4,
1211 64, 100, 66, 110, 596, 333, 525, 599, 6, 7,
1212 8, 254, 37, 25, 68, 280, 80, 37, 51, 267,
1213 34, 120, 76, 77, 35, 463, 618, 91, 127, 115,
1214 295, 229, 566, 552, 232, 99, 105, 629, 137, 37,
1215 7, 140, 23, 197, 143, 144, 110, 209, 210, 211,
1216 212, 105, 620, 97, 35, 109, 7, 396, 592, 166,
1217 111, 125, 390, 631, 118, 32, 254, 446, 447, 384,
1218 10, 11, 25, 31, 138, 139, 391, 645, 3, 110,
1219 242, 32, 356, 357, 410, 24, 33, 402, 46, 527,
1220 10, 11, 39, 32, 244, 20, 125, 37, 197, 414,
1221 25, 7, 156, 344, 183, 354, 170, 355, 162, 138,
1222 139, 165, 550, 551, 156, 214, 223, 37, 43, 183,
1223 125, 386, 387, 388, 20, 373, 10, 11, 32, 25,
1224 237, 238, 36, 138, 139, 166, 402, 244, 7, 35,
1225 20, 20, 7, 11, 12, 25, 25, 3, 414, 318,
1226 3, 490, 216, 37, 22, 254, 471, 10, 26, 223,
1227 28, 29, 30, 31, 3, 439, 34, 32, 356, 357,
1228 38, 10, 25, 237, 238, 32, 230, 231, 6, 341,
1229 37, 343, 23, 24, 37, 7, 25, 40, 41, 42,
1230 43, 32, 223, 31, 35, 302, 560, 359, 360, 440,
1231 465, 40, 41, 42, 43, 7, 237, 238, 272, 273,
1232 32, 275, 366, 244, 647, 10, 531, 10, 11, 318,
1233 374, 10, 10, 656, 657, 11, 12, 20, 7, 22,
1234 32, 33, 25, 21, 7, 668, 25, 670, 671, 672,
1235 26, 34, 28, 29, 30, 31, 35, 40, 41, 42,
1236 43, 439, 38, 32, 10, 570, 24, 356, 357, 32,
1237 7, 54, 112, 7, 32, 10, 59, 366, 36, 534,
1238 3, 10, 11, 6, 539, 374, 438, 7, 11, 12,
1239 25, 14, 7, 7, 383, 32, 112, 20, 32, 22,
1240 397, 398, 25, 26, 27, 40, 41, 42, 43, 6,
1241 97, 34, 32, 10, 11, 6, 39, 32, 32, 10,
1242 11, 375, 34, 377, 107, 108, 3, 10, 25, 6,
1243 34, 114, 55, 387, 388, 6, 10, 20, 593, 10,
1244 11, 10, 25, 32, 32, 517, 10, 35, 37, 20,
1245 439, 20, 607, 610, 25, 612, 25, 401, 613, 403,
1246 404, 581, 27, 6, 408, 32, 586, 10, 10, 11,
1247 37, 40, 41, 42, 43, 656, 657, 20, 32, 27,
1248 524, 435, 25, 37, 3, 54, 443, 668, 432, 670,
1249 59, 10, 375, 116, 377, 118, 37, 120, 121, 443,
1250 32, 124, 125, 126, 127, 37, 25, 32, 131, 132,
1251 479, 32, 37, 10, 11, 559, 37, 576, 37, 463,
1252 3, 40, 41, 42, 43, 479, 32, 10, 10, 11,
1253 671, 672, 76, 77, 32, 524, 143, 144, 107, 108,
1254 529, 53, 25, 237, 238, 114, 392, 393, 76, 77,
1255 27, 6, 33, 7, 37, 20, 545, 40, 41, 42,
1256 43, 20, 112, 517, 116, 112, 118, 25, 120, 121,
1257 559, 34, 124, 125, 126, 127, 530, 34, 27, 131,
1258 132, 111, 8, 527, 36, 539, 3, 576, 32, 6,
1259 37, 20, 546, 20, 11, 12, 32, 14, 555, 32,
1260 37, 32, 591, 10, 10, 22, 550, 551, 10, 26,
1261 10, 555, 566, 14, 10, 31, 7, 34, 7, 34,
1262 7, 34, 39, 37, 36, 7, 37, 37, 27, 27,
1263 27, 620, 36, 27, 37, 25, 31, 58, 592, 27,
1264 10, 34, 631, 35, 27, 31, 620, 31, 7, 7,
1265 27, 32, 31, 607, 34, 644, 645, 631, 647, 37,
1266 32, 37, 651, 37, 37, 26, 51, 656, 657, 37,
1267 644, 645, 32, 37, 648, 21, 106, 651, 35, 668,
1268 49, 670, 671, 672, 3, 60, 37, 6, 10, 8,
1269 7, 10, 11, 47, 61, 7, 46, 52, 34, 37,
1270 7, 20, 21, 22, 7, 48, 25, 35, 7, 35,
1271 10, 35, 10, 33, 7, 34, 25, 8, 3, 0,
1272 10, 40, 41, 42, 43, 0, 45, 10, 1, 373,
1273 4, 87, 4, 223, 105, 54, 55, 237, 218, 238,
1274 59, 214, 461, 109, 63, 64, 65, 66, 67, 68,
1275 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1276 79, 80, 81, 82, 83, 84, 85, 591, 87, 88,
1277 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1278 99, 100, 101, 102, 125, 104, 125, 563, 107, 108,
1279 125, 600, 623, 607, 539, 114, 366, 116, 273, 118,
1280 119, 120, 121, 356, 244, 124, 125, 126, 127, 128,
1281 306, 130, 131, 132, 3, 300, 295, 6, 166, 8,
1282 529, 10, 11, 118, 244, -1, -1, -1, -1, -1,
1283 -1, 20, 21, 22, -1, -1, 25, -1, -1, -1,
1284 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
1285 -1, 40, 41, 42, 43, 44, -1, -1, -1, -1,
1286 -1, 226, -1, -1, -1, 54, 55, -1, -1, -1,
1287 59, -1, -1, -1, -1, 64, 65, 66, 67, 68,
1288 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1289 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1290 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1291 99, 100, 101, 102, -1, 104, -1, -1, 107, 108,
1292 -1, -1, -1, -1, -1, 114, -1, 116, -1, 118,
1293 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1294 -1, 130, 131, 132, 3, -1, -1, 6, -1, 8,
1295 -1, 10, 11, -1, -1, -1, -1, -1, -1, -1,
1296 -1, 20, 21, 22, -1, -1, 25, -1, -1, -1,
1297 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
1298 -1, 40, 41, 42, 43, -1, -1, -1, -1, -1,
1299 -1, -1, -1, -1, -1, 54, 55, -1, -1, -1,
1300 59, -1, -1, -1, -1, 64, 65, 66, 67, 68,
1301 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1302 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1303 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1304 99, 100, 101, 102, -1, 104, -1, -1, 107, 108,
1305 -1, -1, -1, -1, -1, 114, -1, 116, -1, 118,
1306 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1307 -1, 130, 131, 132, 3, -1, -1, 6, -1, 8,
1308 -1, 10, 11, -1, -1, -1, -1, -1, -1, -1,
1309 -1, 20, 21, 22, -1, -1, 25, -1, -1, -1,
1310 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
1311 -1, 40, 41, 42, 43, -1, -1, -1, -1, -1,
1312 -1, -1, -1, -1, -1, 54, 55, -1, -1, -1,
1313 59, -1, -1, -1, -1, -1, -1, -1, 67, 68,
1314 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1315 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1316 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1317 99, 100, 101, 102, -1, 104, -1, -1, 107, 108,
1318 -1, -1, -1, -1, -1, 114, -1, 116, -1, 118,
1319 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1320 -1, 130, 131, 132, 3, -1, -1, 6, -1, 8,
1321 -1, -1, 11, 12, -1, 14, -1, -1, -1, -1,
1322 -1, 20, -1, 22, -1, -1, -1, 26, 27, -1,
1323 -1, -1, -1, -1, -1, 34, -1, -1, -1, -1,
1324 39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1325 -1, -1, -1, -1, -1, -1, 55, -1, -1, -1,
1326 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
1327 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1328 79, 80, 81, 82, 83, 84, 85, -1, 87, 88,
1329 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1330 99, 100, 101, 102, 8, 104, -1, -1, -1, -1,
1331 -1, -1, -1, -1, -1, -1, 20, 116, -1, 118,
1332 119, 120, 121, -1, -1, 124, 125, 126, 127, 128,
1333 -1, 130, 131, 132, -1, -1, -1, -1, -1, -1,
1334 -1, -1, -1, -1, 48, -1, 50, -1, -1, -1,
1335 -1, -1, 56, -1, -1, -1, -1, -1, 62, -1,
1336 -1, -1, -1, 67, 68, 69, 70, 71, 72, 73,
1337 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1338 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1339 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
1340 104, -1, -1, -1, -1, 109, -1, 8, -1, 113,
1341 -1, 115, 116, 117, 118, 119, 120, 121, 122, 20,
1342 124, 125, 126, 127, 128, -1, 130, 131, 132, 133,
1343 134, 135, 136, -1, -1, -1, -1, -1, -1, -1,
1344 -1, -1, -1, -1, -1, -1, -1, 48, -1, 50,
1345 -1, -1, -1, -1, -1, 56, -1, -1, -1, -1,
1346 -1, 62, -1, -1, -1, -1, 67, 68, 69, 70,
885824d3 1347 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1348 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
1349 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1ac6313d 1350 101, 102, 8, 104, -1, -1, -1, -1, 109, -1,
1351 -1, -1, 113, -1, 20, 116, 117, 118, 119, 120,
1352 121, 122, -1, 124, 125, 126, 127, 128, -1, 130,
1353 131, 132, 133, 134, 135, 136, -1, -1, -1, -1,
1354 -1, -1, -1, -1, 50, -1, -1, -1, -1, -1,
1355 56, -1, -1, -1, -1, -1, 62, -1, -1, -1,
1356 -1, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1357 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1358 -1, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1359 96, 97, 98, 99, 100, 101, 102, -1, 104, -1,
1360 -1, -1, -1, -1, 8, -1, -1, 113, -1, -1,
1361 116, 117, 118, 119, 120, 121, 20, -1, 124, 125,
1362 126, 127, 128, -1, 130, 131, 132, 133, 134, 135,
1363 136, 35, -1, -1, -1, -1, -1, -1, -1, -1,
885824d3 1364 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885824d3 1365 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885824d3 1366 -1, -1, -1, 67, 68, 69, 70, 71, 72, 73,
1367 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1368 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1ac6313d 1369 94, 95, 96, 97, 98, 99, 100, 101, 102, 6,
1370 104, 8, -1, 10, 11, -1, -1, -1, -1, -1,
1371 -1, -1, 116, 20, 118, 119, 120, 121, 25, -1,
1372 124, 125, 126, 127, 128, -1, 130, 131, 132, -1,
1373 134, 135, 136, -1, -1, -1, -1, -1, -1, -1,
885824d3 1374 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1375 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1376 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1377 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1378 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1ac6313d 1379 97, 98, 99, 100, 101, 102, 6, 104, 8, -1,
1380 10, 11, -1, -1, -1, -1, -1, -1, -1, 116,
1381 20, 118, 119, 120, 121, -1, -1, 124, 125, 126,
1382 127, 128, 129, 130, 131, 132, -1, -1, -1, -1,
885824d3 1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1385 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
1386 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1387 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1388 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1389 100, 101, 102, 8, 104, -1, -1, -1, -1, -1,
1390 -1, -1, -1, -1, -1, 20, 116, -1, 118, 119,
1391 120, 121, -1, -1, 124, 125, 126, 127, 128, 129,
1392 130, 131, 132, -1, -1, -1, -1, -1, -1, -1,
885824d3 1393 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1394 -1, -1, -1, -1, -1, -1, -1, -1, -1, 64,
1395 65, -1, 67, 68, 69, 70, 71, 72, 73, 74,
1396 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1397 85, -1, 87, 88, 89, 90, 91, 92, 93, 94,
1398 95, 96, 97, 98, 99, 100, 101, 102, -1, 104,
1399 8, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1400 -1, 116, 20, 118, 119, 120, 121, -1, -1, 124,
1401 125, 126, 127, 128, -1, 130, 131, 132, -1, 37,
1402 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1403 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1404 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
1405 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1406 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1407 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1408 98, 99, 100, 101, 102, -1, 104, 8, -1, -1,
1409 -1, -1, -1, -1, -1, -1, -1, -1, 116, 20,
1410 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1411 128, 129, 130, 131, 132, -1, 37, -1, -1, -1,
885824d3 1412 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1414 -1, -1, -1, -1, -1, -1, 67, 68, 69, 70,
1415 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1416 81, 82, 83, 84, 85, -1, 87, 88, 89, 90,
1417 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1ac6313d 1418 101, 102, -1, 104, 8, -1, -1, -1, -1, -1,
1419 -1, -1, -1, -1, -1, 116, 20, 118, 119, 120,
1420 121, -1, -1, 124, 125, 126, 127, 128, 129, 130,
1421 131, 132, -1, 37, -1, -1, -1, -1, -1, -1,
885824d3 1422 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1423 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1424 -1, -1, -1, 67, 68, 69, 70, 71, 72, 73,
1425 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1426 84, 85, -1, 87, 88, 89, 90, 91, 92, 93,
1427 94, 95, 96, 97, 98, 99, 100, 101, 102, -1,
1428 104, 8, -1, -1, -1, -1, -1, -1, -1, -1,
1429 -1, -1, 116, 20, 118, 119, 120, 121, -1, -1,
1430 124, 125, 126, 127, 128, 129, 130, 131, 132, -1,
1431 37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885824d3 1432 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1433 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1434 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1435 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1436 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1437 97, 98, 99, 100, 101, 102, 8, 104, -1, -1,
1438 -1, -1, -1, -1, -1, -1, -1, -1, 20, 116,
1439 -1, 118, 119, 120, 121, -1, -1, 124, 125, 126,
1440 127, 128, 129, 130, 131, 132, -1, -1, -1, -1,
885824d3 1441 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1442 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1443 -1, -1, -1, -1, -1, 67, 68, 69, 70, 71,
1444 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1445 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
1446 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1447 102, 8, 104, -1, -1, -1, -1, -1, -1, -1,
1448 -1, -1, -1, 20, 116, -1, 118, 119, 120, 121,
1449 -1, -1, 124, 125, 126, 127, 128, 129, 130, 131,
1450 132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
885824d3 1451 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1452 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1453 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1454 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
1455 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1456 97, 98, 99, 100, 101, 102, 8, 104, -1, -1,
1457 -1, -1, -1, -1, -1, -1, -1, -1, 20, 116,
1458 -1, 118, 119, 120, 121, -1, 123, 124, 125, 126,
1459 127, 128, -1, 130, 131, 132, -1, -1, -1, -1,
885824d3 1460 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1461 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1462 -1, -1, -1, -1, -1, 67, 68, 69, 70, 71,
1463 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1464 82, 83, 84, 85, -1, 87, 88, 89, 90, 91,
1465 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1466 102, -1, 104, -1, -1, -1, -1, -1, 8, -1,
1467 -1, -1, -1, -1, 116, -1, 118, 119, 120, 121,
1468 20, -1, 124, 125, 126, 127, 128, 129, 130, 131,
1469 132, -1, -1, -1, -1, 35, -1, -1, -1, -1,
885824d3 1470 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1471 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1472 -1, -1, -1, -1, -1, -1, -1, 67, 68, 69,
1473 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1474 80, 81, 82, 83, 84, 85, -1, 87, 88, 89,
1475 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1ac6313d 1476 100, 101, 102, -1, 104, -1, -1, -1, -1, -1,
1477 8, -1, -1, -1, -1, -1, 116, -1, 118, 119,
1478 120, 121, 20, -1, 124, 125, 126, 127, 128, -1,
1479 130, 131, 132, -1, -1, -1, -1, 35, -1, -1,
885824d3 1480 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1481 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1482 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
1483 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1484 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1485 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1486 98, 99, 100, 101, 102, 8, 104, -1, -1, -1,
1487 -1, -1, -1, -1, -1, -1, -1, 20, 116, -1,
1488 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1489 128, -1, 130, 131, 132, -1, -1, -1, -1, -1,
885824d3 1490 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1492 -1, -1, -1, 66, 67, 68, 69, 70, 71, 72,
1493 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1494 83, 84, 85, -1, 87, 88, 89, 90, 91, 92,
1495 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1496 8, 104, -1, -1, -1, -1, -1, -1, -1, -1,
1497 -1, -1, 20, 116, -1, 118, 119, 120, 121, -1,
1498 -1, 124, 125, 126, 127, 128, -1, 130, 131, 132,
885824d3 1499 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1501 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
1502 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1503 78, 79, 80, 81, 82, 83, 84, 85, -1, 87,
1504 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1505 98, 99, 100, 101, 102, -1, 104, -1, -1, -1,
1506 -1, -1, -1, -1, -1, -1, -1, -1, 116, -1,
1507 118, 119, 120, 121, -1, -1, 124, 125, 126, 127,
1508 128, -1, 130, 131, 132, 3, -1, -1, 6, -1,
1509 -1, -1, 10, 11, -1, -1, -1, -1, -1, -1,
1510 -1, -1, 20, 21, 22, 23, -1, 25, -1, -1,
1511 -1, 3, -1, -1, 6, -1, 34, 35, 10, 11,
1512 -1, -1, 40, 41, 42, 43, -1, -1, 20, 21,
1513 22, -1, -1, 25, -1, -1, 54, 55, -1, -1,
1514 -1, 59, 34, -1, 36, -1, -1, -1, 40, 41,
1515 42, 43, -1, -1, -1, -1, -1, -1, -1, -1,
1516 -1, 3, 54, 55, 6, -1, -1, 59, 10, 11,
885824d3 1517 -1, -1, -1, -1, -1, -1, -1, -1, 20, 21,
1ac6313d 1518 22, -1, -1, 25, -1, -1, -1, -1, -1, 107,
1519 108, -1, 34, -1, 36, -1, 114, -1, 40, 41,
1520 42, 43, 3, -1, -1, 6, -1, -1, -1, 10,
1521 11, -1, 54, 55, -1, 107, 108, 59, -1, 20,
1522 21, 22, 114, -1, 25, -1, -1, -1, -1, -1,
1523 -1, -1, -1, 34, -1, 36, -1, -1, -1, 40,
1524 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,
1525 -1, -1, 3, 54, 55, 6, -1, -1, 59, 10,
1526 11, -1, -1, -1, -1, 107, 108, -1, -1, 20,
1527 21, 22, 114, -1, 25, -1, -1, -1, 3, -1,
1528 -1, 6, -1, 34, -1, 10, 11, -1, -1, 40,
1529 41, 42, 43, -1, -1, 20, -1, 22, -1, -1,
1530 25, -1, -1, 54, 55, -1, 107, 108, 59, 34,
1531 -1, -1, -1, 114, -1, 40, 41, 42, 43, -1,
1532 -1, -1, -1, -1, -1, -1, -1, -1, -1, 54,
1533 -1, -1, -1, -1, 59, -1, -1, -1, -1, -1,
885824d3 1534 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1535 -1, -1, -1, -1, -1, -1, 107, 108, -1, -1,
1536 -1, -1, -1, 114, -1, -1, -1, -1, -1, -1,
885824d3 1537 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1ac6313d 1538 -1, -1, 107, 108, -1, -1, -1, -1, -1, 114
885824d3 1539};
1540/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
754746a0 1541#line 3 "/usr/lib/bison.simple"
1542/* This file comes from bison-1.28. */
885824d3 1543
1544/* Skeleton output parser for bison,
1545 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
1546
1547 This program is free software; you can redistribute it and/or modify
1548 it under the terms of the GNU General Public License as published by
1549 the Free Software Foundation; either version 2, or (at your option)
1550 any later version.
1551
1552 This program is distributed in the hope that it will be useful,
1553 but WITHOUT ANY WARRANTY; without even the implied warranty of
1554 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1555 GNU General Public License for more details.
1556
1557 You should have received a copy of the GNU General Public License
1558 along with this program; if not, write to the Free Software
754746a0 1559 Foundation, Inc., 59 Temple Place - Suite 330,
1560 Boston, MA 02111-1307, USA. */
885824d3 1561
1562/* As a special exception, when this file is copied by Bison into a
1563 Bison output file, you may use that output file without restriction.
1564 This special exception was added by the Free Software Foundation
1565 in version 1.24 of Bison. */
1566
754746a0 1567/* This is the parser code that is written into each bison parser
1568 when the %semantic_parser declaration is not specified in the grammar.
1569 It was written by Richard Stallman by simplifying the hairy parser
1570 used when %semantic_parser is specified. */
1571
1572#ifndef YYSTACK_USE_ALLOCA
1573#ifdef alloca
1574#define YYSTACK_USE_ALLOCA
1575#else /* alloca not defined */
885824d3 1576#ifdef __GNUC__
754746a0 1577#define YYSTACK_USE_ALLOCA
885824d3 1578#define alloca __builtin_alloca
1579#else /* not GNU C. */
754746a0 1580#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
1581#define YYSTACK_USE_ALLOCA
885824d3 1582#include <alloca.h>
1583#else /* not sparc */
754746a0 1584/* We think this test detects Watcom and Microsoft C. */
1585/* This used to test MSDOS, but that is a bad idea
1586 since that symbol is in the user namespace. */
1587#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
1588#if 0 /* No need for malloc.h, which pollutes the namespace;
1589 instead, just don't use alloca. */
885824d3 1590#include <malloc.h>
754746a0 1591#endif
885824d3 1592#else /* not MSDOS, or __TURBOC__ */
1593#if defined(_AIX)
754746a0 1594/* I don't know what this was needed for, but it pollutes the namespace.
1595 So I turned it off. rms, 2 May 1997. */
1596/* #include <malloc.h> */
885824d3 1597 #pragma alloca
754746a0 1598#define YYSTACK_USE_ALLOCA
1599#else /* not MSDOS, or __TURBOC__, or _AIX */
1600#if 0
1601#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
1602 and on HPUX 10. Eventually we can turn this on. */
1603#define YYSTACK_USE_ALLOCA
1604#define alloca __builtin_alloca
885824d3 1605#endif /* __hpux */
754746a0 1606#endif
885824d3 1607#endif /* not _AIX */
1608#endif /* not MSDOS, or __TURBOC__ */
754746a0 1609#endif /* not sparc */
1610#endif /* not GNU C */
1611#endif /* alloca not defined */
1612#endif /* YYSTACK_USE_ALLOCA not defined */
885824d3 1613
754746a0 1614#ifdef YYSTACK_USE_ALLOCA
1615#define YYSTACK_ALLOC alloca
1616#else
1617#define YYSTACK_ALLOC malloc
1618#endif
885824d3 1619
1620/* Note: there must be only one dollar sign in this file.
1621 It is replaced by the list of actions, each action
1622 as one case of the switch. */
1623
1624#define yyerrok (yyerrstatus = 0)
1625#define yyclearin (yychar = YYEMPTY)
1626#define YYEMPTY -2
1627#define YYEOF 0
754746a0 1628#define YYACCEPT goto yyacceptlab
1629#define YYABORT goto yyabortlab
885824d3 1630#define YYERROR goto yyerrlab1
1631/* Like YYERROR except do call yyerror.
1632 This remains here temporarily to ease the
1633 transition to the new meaning of YYERROR, for GCC.
1634 Once GCC version 2 has supplanted version 1, this can go. */
1635#define YYFAIL goto yyerrlab
1636#define YYRECOVERING() (!!yyerrstatus)
1637#define YYBACKUP(token, value) \
1638do \
1639 if (yychar == YYEMPTY && yylen == 1) \
1640 { yychar = (token), yylval = (value); \
1641 yychar1 = YYTRANSLATE (yychar); \
1642 YYPOPSTACK; \
1643 goto yybackup; \
1644 } \
1645 else \
1646 { yyerror ("syntax error: cannot back up"); YYERROR; } \
1647while (0)
1648
1649#define YYTERROR 1
1650#define YYERRCODE 256
1651
1652#ifndef YYPURE
1653#define YYLEX yylex()
1654#endif
1655
1656#ifdef YYPURE
1657#ifdef YYLSP_NEEDED
1658#ifdef YYLEX_PARAM
1659#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
1660#else
1661#define YYLEX yylex(&yylval, &yylloc)
1662#endif
1663#else /* not YYLSP_NEEDED */
1664#ifdef YYLEX_PARAM
1665#define YYLEX yylex(&yylval, YYLEX_PARAM)
1666#else
1667#define YYLEX yylex(&yylval)
1668#endif
1669#endif /* not YYLSP_NEEDED */
1670#endif
1671
1672/* If nonreentrant, generate the variables here */
1673
1674#ifndef YYPURE
1675
1676int yychar; /* the lookahead symbol */
1677YYSTYPE yylval; /* the semantic value of the */
1678 /* lookahead symbol */
1679
1680#ifdef YYLSP_NEEDED
1681YYLTYPE yylloc; /* location data for the lookahead */
1682 /* symbol */
1683#endif
1684
1685int yynerrs; /* number of parse errors so far */
1686#endif /* not YYPURE */
1687
1688#if YYDEBUG != 0
1689int yydebug; /* nonzero means print parse trace */
1690/* Since this is uninitialized, it does not stop multiple parsers
1691 from coexisting. */
1692#endif
1693
1694/* YYINITDEPTH indicates the initial size of the parser's stacks */
1695
1696#ifndef YYINITDEPTH
1697#define YYINITDEPTH 200
1698#endif
1699
1700/* YYMAXDEPTH is the maximum size the stacks can grow to
1701 (effective only if the built-in stack extension method is used). */
1702
1703#if YYMAXDEPTH == 0
1704#undef YYMAXDEPTH
1705#endif
1706
1707#ifndef YYMAXDEPTH
1708#define YYMAXDEPTH 10000
1709#endif
885824d3 1710\f
754746a0 1711/* Define __yy_memcpy. Note that the size argument
1712 should be passed with type unsigned int, because that is what the non-GCC
1713 definitions require. With GCC, __builtin_memcpy takes an arg
1714 of type size_t, but it can handle unsigned int. */
1715
885824d3 1716#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
1717#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
1718#else /* not GNU C or C++ */
1719#ifndef __cplusplus
1720
1721/* This is the most reliable way to avoid incompatibilities
1722 in available built-in functions on various systems. */
1723static void
1724__yy_memcpy (to, from, count)
1725 char *to;
1726 char *from;
754746a0 1727 unsigned int count;
885824d3 1728{
1729 register char *f = from;
1730 register char *t = to;
1731 register int i = count;
1732
1733 while (i-- > 0)
1734 *t++ = *f++;
1735}
1736
1737#else /* __cplusplus */
1738
1739/* This is the most reliable way to avoid incompatibilities
1740 in available built-in functions on various systems. */
1741static void
754746a0 1742__yy_memcpy (char *to, char *from, unsigned int count)
885824d3 1743{
885824d3 1744 register char *t = to;
754746a0 1745 register char *f = from;
885824d3 1746 register int i = count;
1747
1748 while (i-- > 0)
1749 *t++ = *f++;
1750}
1751
1752#endif
1753#endif
1754\f
754746a0 1755#line 217 "/usr/lib/bison.simple"
885824d3 1756
1757/* The user can define YYPARSE_PARAM as the name of an argument to be passed
1758 into yyparse. The argument should have type void *.
1759 It should actually point to an object.
1760 Grammar actions can access the variable by casting it
1761 to the proper pointer type. */
1762
1763#ifdef YYPARSE_PARAM
1764#ifdef __cplusplus
1765#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1766#define YYPARSE_PARAM_DECL
1767#else /* not __cplusplus */
1768#define YYPARSE_PARAM_ARG YYPARSE_PARAM
1769#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1770#endif /* not __cplusplus */
1771#else /* not YYPARSE_PARAM */
1772#define YYPARSE_PARAM_ARG
1773#define YYPARSE_PARAM_DECL
1774#endif /* not YYPARSE_PARAM */
1775
754746a0 1776/* Prevent warning if -Wstrict-prototypes. */
1777#ifdef __GNUC__
1778#ifdef YYPARSE_PARAM
1779int yyparse (void *);
1780#else
1781int yyparse (void);
1782#endif
1783#endif
1784
885824d3 1785int
1786yyparse(YYPARSE_PARAM_ARG)
1787 YYPARSE_PARAM_DECL
1788{
1789 register int yystate;
1790 register int yyn;
1791 register short *yyssp;
1792 register YYSTYPE *yyvsp;
1793 int yyerrstatus; /* number of tokens to shift before error messages enabled */
1794 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
1795
1796 short yyssa[YYINITDEPTH]; /* the state stack */
1797 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
1798
1799 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
1800 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
1801
1802#ifdef YYLSP_NEEDED
1803 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
1804 YYLTYPE *yyls = yylsa;
1805 YYLTYPE *yylsp;
1806
1807#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1808#else
1809#define YYPOPSTACK (yyvsp--, yyssp--)
1810#endif
1811
1812 int yystacksize = YYINITDEPTH;
754746a0 1813 int yyfree_stacks = 0;
885824d3 1814
1815#ifdef YYPURE
1816 int yychar;
1817 YYSTYPE yylval;
1818 int yynerrs;
1819#ifdef YYLSP_NEEDED
1820 YYLTYPE yylloc;
1821#endif
1822#endif
1823
1824 YYSTYPE yyval; /* the variable used to return */
1825 /* semantic values from the action */
1826 /* routines */
1827
1828 int yylen;
1829
1830#if YYDEBUG != 0
1831 if (yydebug)
1832 fprintf(stderr, "Starting parse\n");
1833#endif
1834
1835 yystate = 0;
1836 yyerrstatus = 0;
1837 yynerrs = 0;
1838 yychar = YYEMPTY; /* Cause a token to be read. */
1839
1840 /* Initialize stack pointers.
1841 Waste one element of value and location stack
1842 so that they stay on the same level as the state stack.
1843 The wasted elements are never initialized. */
1844
1845 yyssp = yyss - 1;
1846 yyvsp = yyvs;
1847#ifdef YYLSP_NEEDED
1848 yylsp = yyls;
1849#endif
1850
1851/* Push a new state, which is found in yystate . */
1852/* In all cases, when you get here, the value and location stacks
1853 have just been pushed. so pushing a state here evens the stacks. */
1854yynewstate:
1855
1856 *++yyssp = yystate;
1857
1858 if (yyssp >= yyss + yystacksize - 1)
1859 {
1860 /* Give user a chance to reallocate the stack */
1861 /* Use copies of these so that the &'s don't force the real ones into memory. */
1862 YYSTYPE *yyvs1 = yyvs;
1863 short *yyss1 = yyss;
1864#ifdef YYLSP_NEEDED
1865 YYLTYPE *yyls1 = yyls;
1866#endif
1867
1868 /* Get the current used size of the three stacks, in elements. */
1869 int size = yyssp - yyss + 1;
1870
1871#ifdef yyoverflow
1872 /* Each stack pointer address is followed by the size of
1873 the data in use in that stack, in bytes. */
1874#ifdef YYLSP_NEEDED
1875 /* This used to be a conditional around just the two extra args,
1876 but that might be undefined if yyoverflow is a macro. */
1877 yyoverflow("parser stack overflow",
1878 &yyss1, size * sizeof (*yyssp),
1879 &yyvs1, size * sizeof (*yyvsp),
1880 &yyls1, size * sizeof (*yylsp),
1881 &yystacksize);
1882#else
1883 yyoverflow("parser stack overflow",
1884 &yyss1, size * sizeof (*yyssp),
1885 &yyvs1, size * sizeof (*yyvsp),
1886 &yystacksize);
1887#endif
1888
1889 yyss = yyss1; yyvs = yyvs1;
1890#ifdef YYLSP_NEEDED
1891 yyls = yyls1;
1892#endif
1893#else /* no yyoverflow */
1894 /* Extend the stack our own way. */
1895 if (yystacksize >= YYMAXDEPTH)
1896 {
1897 yyerror("parser stack overflow");
754746a0 1898 if (yyfree_stacks)
1899 {
1900 free (yyss);
1901 free (yyvs);
1902#ifdef YYLSP_NEEDED
1903 free (yyls);
1904#endif
1905 }
885824d3 1906 return 2;
1907 }
1908 yystacksize *= 2;
1909 if (yystacksize > YYMAXDEPTH)
1910 yystacksize = YYMAXDEPTH;
754746a0 1911#ifndef YYSTACK_USE_ALLOCA
1912 yyfree_stacks = 1;
1913#endif
1914 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
1915 __yy_memcpy ((char *)yyss, (char *)yyss1,
1916 size * (unsigned int) sizeof (*yyssp));
1917 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
1918 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
1919 size * (unsigned int) sizeof (*yyvsp));
885824d3 1920#ifdef YYLSP_NEEDED
754746a0 1921 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
1922 __yy_memcpy ((char *)yyls, (char *)yyls1,
1923 size * (unsigned int) sizeof (*yylsp));
885824d3 1924#endif
1925#endif /* no yyoverflow */
1926
1927 yyssp = yyss + size - 1;
1928 yyvsp = yyvs + size - 1;
1929#ifdef YYLSP_NEEDED
1930 yylsp = yyls + size - 1;
1931#endif
1932
1933#if YYDEBUG != 0
1934 if (yydebug)
1935 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
1936#endif
1937
1938 if (yyssp >= yyss + yystacksize - 1)
1939 YYABORT;
1940 }
1941
1942#if YYDEBUG != 0
1943 if (yydebug)
1944 fprintf(stderr, "Entering state %d\n", yystate);
1945#endif
1946
1947 goto yybackup;
1948 yybackup:
1949
1950/* Do appropriate processing given the current state. */
1951/* Read a lookahead token if we need one and don't already have one. */
1952/* yyresume: */
1953
1954 /* First try to decide what to do without reference to lookahead token. */
1955
1956 yyn = yypact[yystate];
1957 if (yyn == YYFLAG)
1958 goto yydefault;
1959
1960 /* Not known => get a lookahead token if don't already have one. */
1961
1962 /* yychar is either YYEMPTY or YYEOF
1963 or a valid token in external form. */
1964
1965 if (yychar == YYEMPTY)
1966 {
1967#if YYDEBUG != 0
1968 if (yydebug)
1969 fprintf(stderr, "Reading a token: ");
1970#endif
1971 yychar = YYLEX;
1972 }
1973
1974 /* Convert token to internal form (in yychar1) for indexing tables with */
1975
1976 if (yychar <= 0) /* This means end of input. */
1977 {
1978 yychar1 = 0;
1979 yychar = YYEOF; /* Don't call YYLEX any more */
1980
1981#if YYDEBUG != 0
1982 if (yydebug)
1983 fprintf(stderr, "Now at end of input.\n");
1984#endif
1985 }
1986 else
1987 {
1988 yychar1 = YYTRANSLATE(yychar);
1989
1990#if YYDEBUG != 0
1991 if (yydebug)
1992 {
1993 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
1994 /* Give the individual parser a way to print the precise meaning
1995 of a token, for further debugging info. */
1996#ifdef YYPRINT
1997 YYPRINT (stderr, yychar, yylval);
1998#endif
1999 fprintf (stderr, ")\n");
2000 }
2001#endif
2002 }
2003
2004 yyn += yychar1;
2005 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
2006 goto yydefault;
2007
2008 yyn = yytable[yyn];
2009
2010 /* yyn is what to do for this token type in this state.
2011 Negative => reduce, -yyn is rule number.
2012 Positive => shift, yyn is new state.
2013 New state is final state => don't bother to shift,
2014 just return success.
2015 0, or most negative number => error. */
2016
2017 if (yyn < 0)
2018 {
2019 if (yyn == YYFLAG)
2020 goto yyerrlab;
2021 yyn = -yyn;
2022 goto yyreduce;
2023 }
2024 else if (yyn == 0)
2025 goto yyerrlab;
2026
2027 if (yyn == YYFINAL)
2028 YYACCEPT;
2029
2030 /* Shift the lookahead token. */
2031
2032#if YYDEBUG != 0
2033 if (yydebug)
2034 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
2035#endif
2036
2037 /* Discard the token being shifted unless it is eof. */
2038 if (yychar != YYEOF)
2039 yychar = YYEMPTY;
2040
2041 *++yyvsp = yylval;
2042#ifdef YYLSP_NEEDED
2043 *++yylsp = yylloc;
2044#endif
2045
2046 /* count tokens shifted since error; after three, turn off error status. */
2047 if (yyerrstatus) yyerrstatus--;
2048
2049 yystate = yyn;
2050 goto yynewstate;
2051
2052/* Do the default action for the current state. */
2053yydefault:
2054
2055 yyn = yydefact[yystate];
2056 if (yyn == 0)
2057 goto yyerrlab;
2058
2059/* Do a reduction. yyn is the number of a rule to reduce with. */
2060yyreduce:
2061 yylen = yyr2[yyn];
2062 if (yylen > 0)
2063 yyval = yyvsp[1-yylen]; /* implement default value of the action */
2064
2065#if YYDEBUG != 0
2066 if (yydebug)
2067 {
2068 int i;
2069
2070 fprintf (stderr, "Reducing via rule %d (line %d), ",
2071 yyn, yyrline[yyn]);
2072
2073 /* Print the symbols being reduced, and their result. */
2074 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
2075 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
2076 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
2077 }
2078#endif
2079
2080
2081 switch (yyn) {
2082
2083case 1:
1ac6313d 2084#line 383 "llgrammar.y"
885824d3 2085{ lhExternals (yyvsp[0].interfacelist); ;
2086 break;}
2087case 2:
1ac6313d 2088#line 384 "llgrammar.y"
885824d3 2089{ interfaceNodeList_free (yyvsp[-2].interfacelist); interfaceNodeList_free (yyvsp[0].interfacelist); ;
2090 break;}
2091case 3:
1ac6313d 2092#line 387 "llgrammar.y"
885824d3 2093{ yyval.interfacelist = interfaceNodeList_new (); ;
2094 break;}
2095case 4:
1ac6313d 2096#line 388 "llgrammar.y"
885824d3 2097{ yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);;
2098 break;}
2099case 7:
1ac6313d 2100#line 395 "llgrammar.y"
885824d3 2101{ yyval.interfacelist = interfaceNodeList_new (); ;
2102 break;}
2103case 8:
1ac6313d 2104#line 396 "llgrammar.y"
885824d3 2105{ yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);;
2106 break;}
2107case 9:
1ac6313d 2108#line 397 "llgrammar.y"
885824d3 2109{ yyval.interfacelist = consInterfaceNode (yyvsp[-1].iface, yyvsp[0].interfacelist);;
2110 break;}
2111case 10:
1ac6313d 2112#line 400 "llgrammar.y"
885824d3 2113{ yyval.interfacelist = interfaceNodeList_new (); ;
2114 break;}
2115case 11:
1ac6313d 2116#line 401 "llgrammar.y"
885824d3 2117{ yyval.interfacelist = interfaceNodeList_addh (yyvsp[-1].interfacelist, yyvsp[0].iface);;
2118 break;}
2119case 15:
1ac6313d 2120#line 410 "llgrammar.y"
885824d3 2121{ yyval.iface = makeInterfaceNodeImports (yyvsp[-1].importlist);
2122 /* assume subspecs are already processed, symbol table info in external file */
2123 ;
2124 break;}
2125case 16:
1ac6313d 2126#line 416 "llgrammar.y"
885824d3 2127{ yyval.iface = makeInterfaceNodeUses (yyvsp[-1].traitreflist); readlsignatures (yyval.iface);;
2128 break;}
2129case 17:
1ac6313d 2130#line 420 "llgrammar.y"
885824d3 2131{ declareConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makeConst (yyvsp[0].constdeclaration); ;
2132 break;}
2133case 18:
1ac6313d 2134#line 422 "llgrammar.y"
885824d3 2135{ declareVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makeVar (yyvsp[0].vardeclaration); ;
2136 break;}
2137case 19:
1ac6313d 2138#line 424 "llgrammar.y"
885824d3 2139{ declareType (yyvsp[0].type); yyval.iface = interfaceNode_makeType (yyvsp[0].type); ;
2140 break;}
2141case 20:
1ac6313d 2142#line 426 "llgrammar.y"
885824d3 2143{ declareFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makeFcn (yyvsp[0].fcn); ;
2144 break;}
2145case 21:
1ac6313d 2146#line 428 "llgrammar.y"
885824d3 2147{ yyval.iface = interfaceNode_makeClaim (yyvsp[0].claim); ;
2148 break;}
2149case 22:
1ac6313d 2150#line 430 "llgrammar.y"
885824d3 2151{ declareIter (yyvsp[0].iter); yyval.iface = interfaceNode_makeIter (yyvsp[0].iter); ;
2152 break;}
2153case 23:
1ac6313d 2154#line 434 "llgrammar.y"
885824d3 2155{ yyval.iter = makeIterNode (yyvsp[-4].ltok, yyvsp[-2].paramlist); ;
2156 break;}
2157case 24:
1ac6313d 2158#line 437 "llgrammar.y"
885824d3 2159{ yyval.paramlist = paramNodeList_new (); ;
2160 break;}
2161case 25:
1ac6313d 2162#line 438 "llgrammar.y"
885824d3 2163{ yyval.paramlist = yyvsp[0].paramlist; ;
2164 break;}
2165case 26:
1ac6313d 2166#line 442 "llgrammar.y"
885824d3 2167{ yyval.paramlist = paramNodeList_add (paramNodeList_new (), yyvsp[0].param); ;
2168 break;}
2169case 27:
1ac6313d 2170#line 444 "llgrammar.y"
885824d3 2171{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist,yyvsp[0].param); ;
2172 break;}
2173case 28:
1ac6313d 2174#line 447 "llgrammar.y"
885824d3 2175{ yyval.param = markYieldParamNode (yyvsp[0].param); ;
2176 break;}
2177case 29:
1ac6313d 2178#line 448 "llgrammar.y"
885824d3 2179{ yyval.param = yyvsp[0].param; ;
2180 break;}
2181case 30:
1ac6313d 2182#line 451 "llgrammar.y"
885824d3 2183{ symtable_export (g_symtab, FALSE); ;
2184 break;}
2185case 31:
1ac6313d 2186#line 452 "llgrammar.y"
885824d3 2187{ yyval.iface = yyvsp[0].iface; symtable_export (g_symtab, TRUE); ;
2188 break;}
2189case 32:
1ac6313d 2190#line 456 "llgrammar.y"
885824d3 2191{ declarePrivConstant (yyvsp[0].constdeclaration); yyval.iface = interfaceNode_makePrivConst (yyvsp[0].constdeclaration); ;
2192 break;}
2193case 33:
1ac6313d 2194#line 458 "llgrammar.y"
885824d3 2195{ declarePrivVar (yyvsp[0].vardeclaration); yyval.iface = interfaceNode_makePrivVar (yyvsp[0].vardeclaration); ;
2196 break;}
2197case 34:
1ac6313d 2198#line 460 "llgrammar.y"
885824d3 2199{ declarePrivType (yyvsp[0].type); yyval.iface = interfaceNode_makePrivType (yyvsp[0].type); ;
2200 break;}
2201case 35:
1ac6313d 2202#line 462 "llgrammar.y"
885824d3 2203{ declarePrivFcn (yyvsp[0].fcn, typeId_invalid); yyval.iface = interfaceNode_makePrivFcn (yyvsp[0].fcn); ;
2204 break;}
2205case 36:
1ac6313d 2206#line 466 "llgrammar.y"
885824d3 2207{ yyval.constdeclaration = makeConstDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls); ;
2208 break;}
2209case 37:
1ac6313d 2210#line 470 "llgrammar.y"
885824d3 2211{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_NONE; ;
2212 break;}
2213case 38:
1ac6313d 2214#line 472 "llgrammar.y"
885824d3 2215{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_CONST; ;
2216 break;}
2217case 39:
1ac6313d 2218#line 474 "llgrammar.y"
885824d3 2219{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, FALSE); yyval.vardeclaration->qualifier = QLF_VOLATILE; ;
2220 break;}
2221case 40:
1ac6313d 2222#line 477 "llgrammar.y"
885824d3 2223{ yyval.type = makeAbstractTypeNode (yyvsp[0].abstract); ;
2224 break;}
2225case 41:
1ac6313d 2226#line 478 "llgrammar.y"
885824d3 2227{ yyval.type = makeExposedTypeNode (yyvsp[0].exposed); ;
2228 break;}
2229case 42:
1ac6313d 2230#line 481 "llgrammar.y"
885824d3 2231{ yyval.typequal = qual_createPrintfLike (); ;
2232 break;}
2233case 43:
1ac6313d 2234#line 482 "llgrammar.y"
885824d3 2235{ yyval.typequal = qual_createScanfLike (); ;
2236 break;}
2237case 44:
1ac6313d 2238#line 483 "llgrammar.y"
885824d3 2239{ yyval.typequal = qual_createMessageLike (); ;
2240 break;}
2241case 45:
1ac6313d 2242#line 486 "llgrammar.y"
885824d3 2243{ enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ;
2244 break;}
2245case 46:
1ac6313d 2246#line 488 "llgrammar.y"
885824d3 2247{ yyval.fcn = makeFcnNode (qual_createUnknown (), yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist, yyvsp[-6].letdecls,
2248 yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate);
2249 /* type, declarator, glovbls, privateinits,
2250 lets, checks, requires, modifies, ensures, claims */
2251 symtable_exitScope (g_symtab);
2252 ;
2253 break;}
2254case 47:
1ac6313d 2255#line 494 "llgrammar.y"
885824d3 2256{ enteringFcnScope (yyvsp[-2].lcltypespec, yyvsp[-1].declare, yyvsp[0].globals); ;
2257 break;}
2258case 48:
1ac6313d 2259#line 498 "llgrammar.y"
885824d3 2260{ yyval.fcn = makeFcnNode (yyvsp[-13].typequal, yyvsp[-12].lcltypespec, yyvsp[-11].declare, yyvsp[-10].globals, yyvsp[-7].vardeclarationlist,
2261 yyvsp[-6].letdecls, yyvsp[-5].lclpredicate, yyvsp[-4].lclpredicate, yyvsp[-3].modify, yyvsp[-2].lclpredicate, yyvsp[-1].lclpredicate);
2262 /* type, declarator, glovbls, privateinits,
2263 lets, checks, requires, modifies, ensures, claims */
2264 symtable_exitScope (g_symtab);
2265 ;
2266 break;}
2267case 49:
1ac6313d 2268#line 508 "llgrammar.y"
885824d3 2269{ enteringClaimScope (yyvsp[-2].paramlist, yyvsp[0].globals); ;
2270 break;}
2271case 50:
1ac6313d 2272#line 510 "llgrammar.y"
885824d3 2273{ yyval.claim = makeClaimNode (yyvsp[-11].ltok, yyvsp[-9].paramlist, yyvsp[-7].globals, yyvsp[-4].letdecls, yyvsp[-3].lclpredicate, yyvsp[-2].program, yyvsp[-1].lclpredicate);
2274 symtable_exitScope (g_symtab); ;
2275 break;}
2276case 51:
1ac6313d 2277#line 513 "llgrammar.y"
885824d3 2278{ yyval.claim = (claimNode) 0; ;
2279 break;}
2280case 52:
1ac6313d 2281#line 516 "llgrammar.y"
885824d3 2282{g_inTypeDef = TRUE; ;
2283 break;}
2284case 53:
1ac6313d 2285#line 516 "llgrammar.y"
885824d3 2286{g_inTypeDef = FALSE; ;
2287 break;}
2288case 54:
1ac6313d 2289#line 517 "llgrammar.y"
885824d3 2290{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, FALSE, yyvsp[0].abstbody); ;
2291 break;}
2292case 55:
1ac6313d 2293#line 518 "llgrammar.y"
885824d3 2294{g_inTypeDef = TRUE; ;
2295 break;}
2296case 56:
1ac6313d 2297#line 519 "llgrammar.y"
885824d3 2298{g_inTypeDef = FALSE; ;
2299 break;}
2300case 57:
1ac6313d 2301#line 520 "llgrammar.y"
885824d3 2302{ yyval.abstract = makeAbstractNode (yyvsp[-6].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ;
2303 break;}
2304case 58:
1ac6313d 2305#line 521 "llgrammar.y"
885824d3 2306{g_inTypeDef = TRUE; ;
2307 break;}
2308case 59:
1ac6313d 2309#line 522 "llgrammar.y"
885824d3 2310{g_inTypeDef = FALSE; ;
2311 break;}
2312case 60:
1ac6313d 2313#line 523 "llgrammar.y"
885824d3 2314{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, TRUE, TRUE, yyvsp[0].abstbody); ;
2315 break;}
2316case 61:
1ac6313d 2317#line 524 "llgrammar.y"
885824d3 2318{g_inTypeDef = TRUE; ;
2319 break;}
2320case 62:
1ac6313d 2321#line 524 "llgrammar.y"
885824d3 2322{g_inTypeDef = FALSE; ;
2323 break;}
2324case 63:
1ac6313d 2325#line 525 "llgrammar.y"
885824d3 2326{ yyval.abstract = makeAbstractNode (yyvsp[-5].ltok, yyvsp[-2].ltok, FALSE, FALSE, yyvsp[0].abstbody); ;
2327 break;}
2328case 64:
1ac6313d 2329#line 528 "llgrammar.y"
885824d3 2330{ g_inTypeDef = TRUE; setExposedType (yyvsp[0].lcltypespec); ;
2331 break;}
2332case 65:
1ac6313d 2333#line 529 "llgrammar.y"
885824d3 2334{ g_inTypeDef = FALSE; ;
2335 break;}
2336case 66:
1ac6313d 2337#line 530 "llgrammar.y"
885824d3 2338{ yyval.exposed = makeExposedNode (yyvsp[-5].ltok, yyvsp[-4].lcltypespec, yyvsp[-2].declaratorinvs); /* to support mutually recursive types */ ;
2339 break;}
2340case 67:
1ac6313d 2341#line 532 "llgrammar.y"
885824d3 2342{ yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeSU (yyvsp[-1].structorunion), declaratorInvNodeList_new ()); ;
2343 break;}
2344case 68:
1ac6313d 2345#line 534 "llgrammar.y"
885824d3 2346{ yyval.exposed = makeExposedNode (yyvsp[0].ltok, makeLclTypeSpecNodeEnum (yyvsp[-1].enumspec), declaratorInvNodeList_new ()); ;
2347 break;}
2348case 69:
1ac6313d 2349#line 550 "llgrammar.y"
885824d3 2350{ yyval.importlist = importNodeList_add (importNodeList_new (), yyvsp[0].import); ;
2351 break;}
2352case 70:
1ac6313d 2353#line 552 "llgrammar.y"
885824d3 2354{ yyval.importlist = importNodeList_add (yyvsp[-2].importlist, yyvsp[0].import); ;
2355 break;}
2356case 71:
1ac6313d 2357#line 555 "llgrammar.y"
885824d3 2358{ yyval.import = importNode_makePlain (yyvsp[0].ltok); ;
2359 break;}
2360case 72:
1ac6313d 2361#line 557 "llgrammar.y"
885824d3 2362{ checkBrackets (yyvsp[-2].ltok, yyvsp[0].ltok); yyval.import = importNode_makeBracketed (yyvsp[-1].ltok); ;
2363 break;}
2364case 73:
1ac6313d 2365#line 558 "llgrammar.y"
885824d3 2366{ yyval.import = importNode_makeQuoted (yyvsp[0].ltok); ;
2367 break;}
2368case 74:
1ac6313d 2369#line 561 "llgrammar.y"
885824d3 2370{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
2371 break;}
2372case 75:
1ac6313d 2373#line 562 "llgrammar.y"
885824d3 2374{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
2375 break;}
2376case 77:
1ac6313d 2377#line 570 "llgrammar.y"
885824d3 2378{ yyval.traitreflist = traitRefNodeList_add (traitRefNodeList_new (), yyvsp[0].traitref); ;
2379 break;}
2380case 78:
1ac6313d 2381#line 572 "llgrammar.y"
885824d3 2382{ yyval.traitreflist = traitRefNodeList_add (yyvsp[-2].traitreflist, yyvsp[0].traitref); ;
2383 break;}
2384case 79:
1ac6313d 2385#line 576 "llgrammar.y"
885824d3 2386{ yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[0].ltok), (renamingNode)0); ;
2387 break;}
2388case 80:
1ac6313d 2389#line 578 "llgrammar.y"
885824d3 2390{ yyval.traitref = makeTraitRefNode (ltokenList_singleton (yyvsp[-3].ltok), yyvsp[-1].renaming); ;
2391 break;}
2392case 81:
1ac6313d 2393#line 580 "llgrammar.y"
885824d3 2394{ yyval.traitref = makeTraitRefNode (yyvsp[-1].ltokenList, (renamingNode)0); ;
2395 break;}
2396case 82:
1ac6313d 2397#line 582 "llgrammar.y"
885824d3 2398{ yyval.traitref = makeTraitRefNode (yyvsp[-4].ltokenList, yyvsp[-1].renaming); ;
2399 break;}
2400case 83:
1ac6313d 2401#line 585 "llgrammar.y"
885824d3 2402{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
2403 break;}
2404case 84:
1ac6313d 2405#line 586 "llgrammar.y"
885824d3 2406{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
2407 break;}
2408case 85:
1ac6313d 2409#line 590 "llgrammar.y"
885824d3 2410{ yyval.renaming = makeRenamingNode (typeNameNodeList_new (), yyvsp[0].replacelist); ;
2411 break;}
2412case 86:
1ac6313d 2413#line 592 "llgrammar.y"
885824d3 2414{ yyval.renaming = makeRenamingNode (yyvsp[0].namelist, replaceNodeList_new ()); ;
2415 break;}
2416case 87:
1ac6313d 2417#line 593 "llgrammar.y"
885824d3 2418{ yyval.renaming = makeRenamingNode (yyvsp[-2].namelist, yyvsp[0].replacelist); ;
2419 break;}
2420case 88:
1ac6313d 2421#line 597 "llgrammar.y"
885824d3 2422{ yyval.namelist = typeNameNodeList_add (typeNameNodeList_new (), yyvsp[0].typname); ;
2423 break;}
2424case 89:
1ac6313d 2425#line 598 "llgrammar.y"
885824d3 2426{ yyval.namelist = typeNameNodeList_add (yyvsp[-2].namelist, yyvsp[0].typname); ;
2427 break;}
2428case 90:
1ac6313d 2429#line 602 "llgrammar.y"
885824d3 2430{ yyval.replacelist = replaceNodeList_add (replaceNodeList_new (), yyvsp[0].replace); ;
2431 break;}
2432case 91:
1ac6313d 2433#line 603 "llgrammar.y"
885824d3 2434{ yyval.replacelist = replaceNodeList_add (yyvsp[-2].replacelist, yyvsp[0].replace); ;
2435 break;}
2436case 92:
1ac6313d 2437#line 606 "llgrammar.y"
885824d3 2438{ yyval.replace = makeReplaceNode (yyvsp[-1].ltok, yyvsp[-2].typname, TRUE, yyvsp[0].ltok, NULL, NULL); ;
2439 break;}
2440case 93:
1ac6313d 2441#line 607 "llgrammar.y"
885824d3 2442{ yyval.replace = makeReplaceNameNode (yyvsp[-1].ltok, yyvsp[-2].typname, yyvsp[0].name); ;
2443 break;}
2444case 94:
1ac6313d 2445#line 608 "llgrammar.y"
885824d3 2446{ yyval.replace = makeReplaceNode (yyvsp[-2].ltok, yyvsp[-3].typname, FALSE, ltoken_undefined,
2447 yyvsp[-1].name, yyvsp[0].signature); ;
2448 break;}
2449case 95:
1ac6313d 2450#line 612 "llgrammar.y"
885824d3 2451{ yyval.name = makeNameNodeId (yyvsp[0].ltok); ;
2452 break;}
2453case 96:
1ac6313d 2454#line 613 "llgrammar.y"
885824d3 2455{ yyval.name = makeNameNodeForm (yyvsp[0].opform); ;
2456 break;}
2457case 99:
1ac6313d 2458#line 621 "llgrammar.y"
885824d3 2459{ yyval.initdecls = initDeclNodeList_add (initDeclNodeList_new (), yyvsp[0].initdecl); ;
2460 break;}
2461case 100:
1ac6313d 2462#line 623 "llgrammar.y"
885824d3 2463{ yyval.initdecls = initDeclNodeList_add (yyvsp[-2].initdecls, yyvsp[0].initdecl); ;
2464 break;}
2465case 101:
1ac6313d 2466#line 626 "llgrammar.y"
885824d3 2467{ yyval.initdecl = makeInitDeclNode (yyvsp[0].declare, (termNode)0); ;
2468 break;}
2469case 102:
1ac6313d 2470#line 627 "llgrammar.y"
885824d3 2471{ yyval.initdecl = makeInitDeclNode (yyvsp[-2].declare, yyvsp[0].term); ;
2472 break;}
2473case 103:
1ac6313d 2474#line 631 "llgrammar.y"
885824d3 2475{ yyval.globals = varDeclarationNodeList_new (); ;
2476 break;}
2477case 104:
1ac6313d 2478#line 633 "llgrammar.y"
885824d3 2479{ varDeclarationNodeList_addh (yyvsp[-1].globals, yyvsp[0].vardeclaration); yyval.globals = yyvsp[-1].globals; ;
2480 break;}
2481case 105:
1ac6313d 2482#line 636 "llgrammar.y"
885824d3 2483{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, TRUE, FALSE); ;
2484 break;}
2485case 106:
1ac6313d 2486#line 637 "llgrammar.y"
885824d3 2487{ yyval.vardeclaration = makeInternalStateNode (); ;
2488 break;}
2489case 107:
1ac6313d 2490#line 638 "llgrammar.y"
885824d3 2491{ yyval.vardeclaration = makeFileSystemNode (); ;
2492 break;}
2493case 108:
1ac6313d 2494#line 641 "llgrammar.y"
885824d3 2495{ yyval.vardeclarationlist = varDeclarationNodeList_new (); ;
2496 break;}
2497case 109:
1ac6313d 2498#line 642 "llgrammar.y"
885824d3 2499{ varDeclarationNodeList_addh (yyvsp[-1].vardeclarationlist, yyvsp[0].vardeclaration); yyval.vardeclarationlist = yyvsp[-1].vardeclarationlist; ;
2500 break;}
2501case 110:
1ac6313d 2502#line 646 "llgrammar.y"
885824d3 2503{ yyval.vardeclaration = makeVarDeclarationNode (yyvsp[-2].lcltypespec, yyvsp[-1].initdecls, FALSE, TRUE); ;
2504 break;}
2505case 111:
1ac6313d 2506#line 649 "llgrammar.y"
885824d3 2507{ yyval.letdecls = letDeclNodeList_new (); ;
2508 break;}
2509case 112:
1ac6313d 2510#line 650 "llgrammar.y"
885824d3 2511{ yyval.letdecls = yyvsp[-1].letdecls; ;
2512 break;}
2513case 113:
1ac6313d 2514#line 653 "llgrammar.y"
885824d3 2515{ yyval.letdecls = letDeclNodeList_add (letDeclNodeList_new (), yyvsp[0].letdecl); ;
2516 break;}
2517case 114:
1ac6313d 2518#line 654 "llgrammar.y"
885824d3 2519{ yyval.letdecls = letDeclNodeList_add (yyvsp[-2].letdecls, yyvsp[0].letdecl); ;
2520 break;}
2521case 115:
1ac6313d 2522#line 657 "llgrammar.y"
885824d3 2523{ yyval.letdecl = makeLetDeclNode (yyvsp[-4].ltok, yyvsp[-2].lcltypespec, yyvsp[0].term); ;
2524 break;}
2525case 116:
1ac6313d 2526#line 658 "llgrammar.y"
885824d3 2527{ yyval.letdecl = makeLetDeclNode (yyvsp[-2].ltok, (lclTypeSpecNode)0, yyvsp[0].term); ;
2528 break;}
2529case 118:
1ac6313d 2530#line 663 "llgrammar.y"
885824d3 2531{ yyval.lclpredicate = (lclPredicateNode)0; ;
2532 break;}
2533case 119:
1ac6313d 2534#line 664 "llgrammar.y"
885824d3 2535{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeChecksNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ;
2536 break;}
2537case 120:
1ac6313d 2538#line 667 "llgrammar.y"
885824d3 2539{ yyval.lclpredicate = (lclPredicateNode)0; ;
2540 break;}
2541case 121:
1ac6313d 2542#line 668 "llgrammar.y"
885824d3 2543{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeRequiresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
2544 break;}
2545case 122:
1ac6313d 2546#line 671 "llgrammar.y"
885824d3 2547{ yyval.modify = (modifyNode)0; ;
2548 break;}
2549case 123:
1ac6313d 2550#line 672 "llgrammar.y"
885824d3 2551{ yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, TRUE); ;
2552 break;}
2553case 124:
1ac6313d 2554#line 673 "llgrammar.y"
885824d3 2555{ yyval.modify = makeModifyNodeSpecial (yyvsp[-2].ltok, FALSE); ;
2556 break;}
2557case 125:
1ac6313d 2558#line 674 "llgrammar.y"
885824d3 2559{ yyval.modify = makeModifyNodeRef (yyvsp[-2].ltok, yyvsp[-1].storereflist); ;
2560 break;}
2561case 126:
1ac6313d 2562#line 677 "llgrammar.y"
885824d3 2563{ yyval.storereflist = storeRefNodeList_add (storeRefNodeList_new (), yyvsp[0].storeref); ;
2564 break;}
2565case 127:
1ac6313d 2566#line 678 "llgrammar.y"
885824d3 2567{ yyval.storereflist = storeRefNodeList_add (yyvsp[-2].storereflist, yyvsp[0].storeref); ;
2568 break;}
2569case 128:
1ac6313d 2570#line 681 "llgrammar.y"
885824d3 2571{ yyval.storeref = makeStoreRefNodeTerm (yyvsp[0].term); ;
2572 break;}
2573case 129:
1ac6313d 2574#line 682 "llgrammar.y"
885824d3 2575{ yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, FALSE); ;
2576 break;}
2577case 130:
1ac6313d 2578#line 683 "llgrammar.y"
885824d3 2579{ yyval.storeref = makeStoreRefNodeType (yyvsp[0].lcltypespec, TRUE); ;
2580 break;}
2581case 131:
1ac6313d 2582#line 684 "llgrammar.y"
885824d3 2583{ yyval.storeref = makeStoreRefNodeInternal (); ;
2584 break;}
2585case 132:
1ac6313d 2586#line 685 "llgrammar.y"
885824d3 2587{ yyval.storeref = makeStoreRefNodeSystem (); ;
2588 break;}
2589case 133:
1ac6313d 2590#line 688 "llgrammar.y"
885824d3 2591{ yyval.lclpredicate = (lclPredicateNode)0; ;
2592 break;}
2593case 134:
1ac6313d 2594#line 689 "llgrammar.y"
885824d3 2595{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeEnsuresNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
2596 break;}
2597case 135:
1ac6313d 2598#line 692 "llgrammar.y"
885824d3 2599{ yyval.lclpredicate = (lclPredicateNode)0; ;
2600 break;}
2601case 136:
1ac6313d 2602#line 693 "llgrammar.y"
885824d3 2603{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.lclpredicate = makeIntraClaimNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate);;
2604 break;}
2605case 137:
1ac6313d 2606#line 696 "llgrammar.y"
885824d3 2607{ yyval.paramlist = paramNodeList_new (); ;
2608 break;}
2609case 138:
1ac6313d 2610#line 697 "llgrammar.y"
885824d3 2611{ yyval.paramlist = yyvsp[0].paramlist; ;
2612 break;}
2613case 140:
1ac6313d 2614#line 701 "llgrammar.y"
885824d3 2615{ yyval.paramlist = paramNodeList_add (paramNodeList_new (), paramNode_elipsis ()); ;
2616 break;}
2617case 141:
1ac6313d 2618#line 702 "llgrammar.y"
885824d3 2619{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, paramNode_elipsis ()); ;
2620 break;}
2621case 142:
1ac6313d 2622#line 705 "llgrammar.y"
885824d3 2623{ yyval.paramlist = paramNodeList_single (yyvsp[0].param); ;
2624 break;}
2625case 143:
1ac6313d 2626#line 706 "llgrammar.y"
885824d3 2627{ yyval.paramlist = paramNodeList_add (yyvsp[-2].paramlist, yyvsp[0].param); ;
2628 break;}
2629case 144:
1ac6313d 2630#line 709 "llgrammar.y"
885824d3 2631{ yyval.program = (programNode)0; ;
2632 break;}
2633case 145:
1ac6313d 2634#line 710 "llgrammar.y"
885824d3 2635{ yyval.program = yyvsp[-1].program; ;
2636 break;}
2637case 146:
1ac6313d 2638#line 711 "llgrammar.y"
885824d3 2639{ yyval.program = yyvsp[-2].program; ;
2640 break;}
2641case 147:
1ac6313d 2642#line 714 "llgrammar.y"
885824d3 2643{ yyval.program = makeProgramNode (yyvsp[0].stmt); ;
2644 break;}
2645case 148:
1ac6313d 2646#line 717 "llgrammar.y"
885824d3 2647{ yyval.program = yyvsp[-1].program; yyval.program->wrapped = yyval.program->wrapped + 1; ;
2648 break;}
2649case 149:
1ac6313d 2650#line 719 "llgrammar.y"
885824d3 2651{ programNodeList x = programNodeList_new ();
2652 programNodeList_addh (x, yyvsp[-1].program);
2653 yyval.program = makeProgramNodeAction (x, ACT_ITER);
2654 ;
2655 break;}
2656case 150:
1ac6313d 2657#line 724 "llgrammar.y"
885824d3 2658{ programNodeList x = programNodeList_new ();
2659 programNodeList_addh (x, yyvsp[-2].program);
2660 programNodeList_addh (x, yyvsp[0].program);
2661 yyval.program = makeProgramNodeAction (x, ACT_ALTERNATE);
2662 ;
2663 break;}
2664case 151:
1ac6313d 2665#line 730 "llgrammar.y"
885824d3 2666{ programNodeList x = programNodeList_new ();
2667 programNodeList_addh (x, yyvsp[-2].program);
2668 programNodeList_addh (x, yyvsp[0].program);
2669 yyval.program = makeProgramNodeAction (x, ACT_SEQUENCE);
2670 ;
2671 break;}
2672case 152:
1ac6313d 2673#line 738 "llgrammar.y"
885824d3 2674{ yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-3].ltok, yyvsp[-1].termlist); ;
2675 break;}
2676case 153:
1ac6313d 2677#line 740 "llgrammar.y"
885824d3 2678{ yyval.stmt = makeStmtNode (ltoken_undefined, yyvsp[-2].ltok, termNodeList_new ()); ;
2679 break;}
2680case 154:
1ac6313d 2681#line 742 "llgrammar.y"
885824d3 2682{ yyval.stmt = makeStmtNode (yyvsp[-4].ltok, yyvsp[-2].ltok, termNodeList_new ()); ;
2683 break;}
2684case 155:
1ac6313d 2685#line 744 "llgrammar.y"
885824d3 2686{ yyval.stmt = makeStmtNode (yyvsp[-5].ltok, yyvsp[-3].ltok, yyvsp[-1].termlist); ;
2687 break;}
2688case 156:
1ac6313d 2689#line 747 "llgrammar.y"
885824d3 2690{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
2691 break;}
2692case 157:
1ac6313d 2693#line 748 "llgrammar.y"
885824d3 2694{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
2695 break;}
2696case 159:
1ac6313d 2697#line 752 "llgrammar.y"
885824d3 2698{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
2699 break;}
2700case 160:
1ac6313d 2701#line 753 "llgrammar.y"
885824d3 2702{ yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ;
2703 break;}
2704case 161:
1ac6313d 2705#line 754 "llgrammar.y"
885824d3 2706{ yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ;
2707 break;}
2708case 162:
1ac6313d 2709#line 755 "llgrammar.y"
885824d3 2710{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ;
2711 break;}
2712case 163:
1ac6313d 2713#line 756 "llgrammar.y"
885824d3 2714{ yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ;
2715 break;}
2716case 164:
1ac6313d 2717#line 758 "llgrammar.y"
885824d3 2718{ yyval.term = makeOpCallTermNode (yyvsp[-2].ltok, yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
2719 break;}
2720case 165:
1ac6313d 2721#line 760 "llgrammar.y"
885824d3 2722{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
2723 break;}
2724case 166:
1ac6313d 2725#line 763 "llgrammar.y"
885824d3 2726{ yyval.abstbody = (abstBodyNode)0; ;
2727 break;}
2728case 167:
1ac6313d 2729#line 764 "llgrammar.y"
885824d3 2730{ yyval.abstbody = makeAbstBodyNode (yyvsp[-2].ltok, yyvsp[-1].fcns); ;
2731 break;}
2732case 168:
1ac6313d 2733#line 765 "llgrammar.y"
885824d3 2734{ yyval.abstbody = makeAbstBodyNode2 (yyvsp[-3].ltok, yyvsp[-2].ltokenList); ;
2735 break;}
2736case 169:
1ac6313d 2737#line 766 "llgrammar.y"
885824d3 2738{ yyval.abstbody = (abstBodyNode)0; ;
2739 break;}
2740case 170:
1ac6313d 2741#line 769 "llgrammar.y"
885824d3 2742{ yyval.fcns = fcnNodeList_new (); ;
2743 break;}
2744case 171:
1ac6313d 2745#line 770 "llgrammar.y"
885824d3 2746{ yyval.fcns = fcnNodeList_add (yyvsp[-1].fcns, yyvsp[0].fcn); ;
2747 break;}
2748case 172:
1ac6313d 2749#line 773 "llgrammar.y"
885824d3 2750{ yyval.lclpredicate = (lclPredicateNode)0; ;
2751 break;}
2752case 174:
1ac6313d 2753#line 777 "llgrammar.y"
885824d3 2754{ g_inTypeDef = FALSE; ;
2755 break;}
2756case 175:
1ac6313d 2757#line 778 "llgrammar.y"
885824d3 2758{ yyvsp[-1].lclpredicate->tok = yyvsp[-5].ltok; yyvsp[-1].lclpredicate->kind = LPD_CONSTRAINT;
2759 checkLclPredicate (yyvsp[-5].ltok, yyvsp[-1].lclpredicate);
2760 yyval.lclpredicate = yyvsp[-1].lclpredicate;
2761 symtable_exitScope (g_symtab);
2762 g_inTypeDef = TRUE;
2763 ;
2764 break;}
2765case 176:
1ac6313d 2766#line 786 "llgrammar.y"
885824d3 2767{ yyval.declaratorinvs = declaratorInvNodeList_add (declaratorInvNodeList_new (), yyvsp[0].declaratorinv); ;
2768 break;}
2769case 177:
1ac6313d 2770#line 788 "llgrammar.y"
885824d3 2771{ yyval.declaratorinvs = declaratorInvNodeList_add (yyvsp[-2].declaratorinvs, yyvsp[0].declaratorinv); ;
2772 break;}
2773case 178:
1ac6313d 2774#line 791 "llgrammar.y"
885824d3 2775{ declareForwardType (yyvsp[0].declare); ;
2776 break;}
2777case 179:
1ac6313d 2778#line 792 "llgrammar.y"
885824d3 2779{ yyval.declaratorinv = makeDeclaratorInvNode (yyvsp[-2].declare, yyvsp[0].abstbody); ;
2780 break;}
2781case 180:
1ac6313d 2782#line 795 "llgrammar.y"
885824d3 2783{ yyval.abstbody = (abstBodyNode)0; ;
2784 break;}
2785case 181:
1ac6313d 2786#line 796 "llgrammar.y"
885824d3 2787{ yyval.abstbody = makeExposedBodyNode (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); ;
2788 break;}
2789case 182:
1ac6313d 2790#line 799 "llgrammar.y"
885824d3 2791{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_VOID, 0)); ;
2792 break;}
2793case 183:
1ac6313d 2794#line 800 "llgrammar.y"
885824d3 2795{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_CHAR, 0)); ;
2796 break;}
2797case 184:
1ac6313d 2798#line 801 "llgrammar.y"
885824d3 2799{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_DOUBLE, 0)); ;
2800 break;}
2801case 185:
1ac6313d 2802#line 802 "llgrammar.y"
885824d3 2803{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_FLOAT, 0)); ;
2804 break;}
2805case 186:
1ac6313d 2806#line 803 "llgrammar.y"
885824d3 2807{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_INT, 0)); ;
2808 break;}
2809case 187:
1ac6313d 2810#line 804 "llgrammar.y"
885824d3 2811{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_LONG, 0)); ;
2812 break;}
2813case 188:
1ac6313d 2814#line 805 "llgrammar.y"
885824d3 2815{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SHORT, 0)); ;
2816 break;}
2817case 189:
1ac6313d 2818#line 806 "llgrammar.y"
885824d3 2819{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_SIGNED, 0)); ;
2820 break;}
2821case 190:
1ac6313d 2822#line 807 "llgrammar.y"
885824d3 2823{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNSIGNED, 0)); ;
2824 break;}
2825case 191:
1ac6313d 2826#line 808 "llgrammar.y"
885824d3 2827{ yyval.ltok = yyvsp[0].ltok; ltoken_setIntField (yyval.ltok, fixBits (TS_UNKNOWN, 0)); ;
2828 break;}
2829case 192:
1ac6313d 2830#line 816 "llgrammar.y"
885824d3 2831{ yyval.ctypes = makeCTypesNode ((CTypesNode)0, yyvsp[0].ltok); ;
2832 break;}
2833case 193:
1ac6313d 2834#line 817 "llgrammar.y"
885824d3 2835{ yyval.ctypes = makeCTypesNode (yyvsp[-1].ctypes, yyvsp[0].ltok); ;
2836 break;}
2837case 194:
1ac6313d 2838#line 823 "llgrammar.y"
885824d3 2839{ yyval.ctypes = makeTypeSpecifier (yyvsp[0].ltok); ;
2840 break;}
2841case 195:
1ac6313d 2842#line 825 "llgrammar.y"
885824d3 2843{ yyval.ctypes = yyvsp[0].ctypes; yyval.ctypes->sort = sort_lookupName (lclctype_toSort (yyvsp[0].ctypes->intfield)); ;
2844 break;}
2845case 196:
1ac6313d 2846#line 830 "llgrammar.y"
885824d3 2847{ yyval.typequal = qual_createOut (); ;
2848 break;}
2849case 197:
1ac6313d 2850#line 831 "llgrammar.y"
885824d3 2851{ yyval.typequal = qual_createUnused (); ;
2852 break;}
2853case 198:
1ac6313d 2854#line 832 "llgrammar.y"
885824d3 2855{ yyval.typequal = qual_createSef (); ;
2856 break;}
2857case 199:
1ac6313d 2858#line 833 "llgrammar.y"
885824d3 2859{ yyval.typequal = qual_createOnly (); ;
2860 break;}
2861case 200:
1ac6313d 2862#line 834 "llgrammar.y"
885824d3 2863{ yyval.typequal = qual_createOwned (); ;
2864 break;}
2865case 201:
1ac6313d 2866#line 835 "llgrammar.y"
885824d3 2867{ yyval.typequal = qual_createDependent (); ;
2868 break;}
2869case 202:
1ac6313d 2870#line 836 "llgrammar.y"
885824d3 2871{ yyval.typequal = qual_createKeep (); ;
2872 break;}
2873case 203:
1ac6313d 2874#line 837 "llgrammar.y"
885824d3 2875{ yyval.typequal = qual_createKept (); ;
2876 break;}
2877case 204:
1ac6313d 2878#line 838 "llgrammar.y"
885824d3 2879{ yyval.typequal = qual_createObserver (); ;
2880 break;}
2881case 205:
1ac6313d 2882#line 839 "llgrammar.y"
885824d3 2883{ yyval.typequal = qual_createExits (); ;
2884 break;}
2885case 206:
1ac6313d 2886#line 840 "llgrammar.y"
885824d3 2887{ yyval.typequal = qual_createMayExit (); ;
2888 break;}
2889case 207:
1ac6313d 2890#line 841 "llgrammar.y"
885824d3 2891{ yyval.typequal = qual_createTrueExit (); ;
2892 break;}
2893case 208:
1ac6313d 2894#line 842 "llgrammar.y"
885824d3 2895{ yyval.typequal = qual_createFalseExit (); ;
2896 break;}
2897case 209:
1ac6313d 2898#line 843 "llgrammar.y"
885824d3 2899{ yyval.typequal = qual_createNeverExit (); ;
2900 break;}
2901case 210:
1ac6313d 2902#line 844 "llgrammar.y"
885824d3 2903{ yyval.typequal = qual_createOnly (); ;
2904 break;}
2905case 211:
1ac6313d 2906#line 845 "llgrammar.y"
885824d3 2907{ yyval.typequal = qual_createShared (); ;
2908 break;}
2909case 212:
1ac6313d 2910#line 846 "llgrammar.y"
885824d3 2911{ yyval.typequal = qual_createUnique (); ;
2912 break;}
2913case 213:
1ac6313d 2914#line 847 "llgrammar.y"
885824d3 2915{ yyval.typequal = qual_createChecked (); ;
2916 break;}
2917case 214:
1ac6313d 2918#line 848 "llgrammar.y"
885824d3 2919{ yyval.typequal = qual_createUnchecked (); ;
2920 break;}
2921case 215:
1ac6313d 2922#line 849 "llgrammar.y"
885824d3 2923{ yyval.typequal = qual_createCheckedStrict (); ;
2924 break;}
2925case 216:
1ac6313d 2926#line 850 "llgrammar.y"
885824d3 2927{ yyval.typequal = qual_createTrueNull (); ;
2928 break;}
2929case 217:
1ac6313d 2930#line 851 "llgrammar.y"
885824d3 2931{ yyval.typequal = qual_createFalseNull (); ;
2932 break;}
2933case 218:
1ac6313d 2934#line 852 "llgrammar.y"
885824d3 2935{ yyval.typequal = qual_createRelNull (); ;
2936 break;}
2937case 219:
1ac6313d 2938#line 853 "llgrammar.y"
885824d3 2939{ yyval.typequal = qual_createRelDef (); ;
2940 break;}
2941case 220:
1ac6313d 2942#line 854 "llgrammar.y"
885824d3 2943{ yyval.typequal = qual_createRefCounted (); ;
2944 break;}
2945case 221:
1ac6313d 2946#line 855 "llgrammar.y"
885824d3 2947{ yyval.typequal = qual_createRefs (); ;
2948 break;}
2949case 222:
1ac6313d 2950#line 856 "llgrammar.y"
885824d3 2951{ yyval.typequal = qual_createNewRef (); ;
2952 break;}
2953case 223:
1ac6313d 2954#line 857 "llgrammar.y"
885824d3 2955{ yyval.typequal = qual_createKillRef (); ;
2956 break;}
2957case 224:
1ac6313d 2958#line 858 "llgrammar.y"
885824d3 2959{ yyval.typequal = qual_createNull (); ;
2960 break;}
2961case 225:
1ac6313d 2962#line 859 "llgrammar.y"
885824d3 2963{ yyval.typequal = qual_createNotNull (); ;
2964 break;}
2965case 226:
1ac6313d 2966#line 860 "llgrammar.y"
885824d3 2967{ yyval.typequal = qual_createReturned (); ;
2968 break;}
2969case 227:
1ac6313d 2970#line 861 "llgrammar.y"
885824d3 2971{ yyval.typequal = qual_createExposed (); ;
2972 break;}
2973case 228:
1ac6313d 2974#line 862 "llgrammar.y"
885824d3 2975{ yyval.typequal = qual_createPartial (); ;
2976 break;}
2977case 229:
1ac6313d 2978#line 863 "llgrammar.y"
2979{ yyval.typequal = qual_createNullTerminated () ; ;
885824d3 2980 break;}
2981case 230:
1ac6313d 2982#line 864 "llgrammar.y"
2983{ yyval.typequal = qual_createUndef (); ;
885824d3 2984 break;}
2985case 231:
1ac6313d 2986#line 865 "llgrammar.y"
2987{ yyval.typequal = qual_createKilled (); ;
885824d3 2988 break;}
2989case 232:
1ac6313d 2990#line 869 "llgrammar.y"
2991{ yyval.lcltypespec = makeLclTypeSpecNodeType (yyvsp[0].ctypes); ;
885824d3 2992 break;}
2993case 233:
1ac6313d 2994#line 871 "llgrammar.y"
2995{ yyval.lcltypespec = makeLclTypeSpecNodeSU (yyvsp[0].structorunion); ;
885824d3 2996 break;}
2997case 234:
1ac6313d 2998#line 873 "llgrammar.y"
2999{ yyval.lcltypespec = makeLclTypeSpecNodeEnum (yyvsp[0].enumspec); ;
885824d3 3000 break;}
3001case 235:
1ac6313d 3002#line 875 "llgrammar.y"
3003{ yyval.lcltypespec = lclTypeSpecNode_addQual (yyvsp[0].lcltypespec, yyvsp[-1].typequal); ;
3004 break;}
3005case 236:
3006#line 877 "llgrammar.y"
885824d3 3007{ yyval.lcltypespec = makeLclTypeSpecNodeConj (yyvsp[-3].lcltypespec, yyvsp[-1].lcltypespec); ;
3008 break;}
1ac6313d 3009case 238:
3010#line 887 "llgrammar.y"
885824d3 3011{ llassert (lclTypeSpecNode_isDefined (yyvsp[-1].lcltypespec));
3012 yyvsp[-1].lcltypespec->pointers = yyvsp[0].count; yyval.lcltypespec = yyvsp[-1].lcltypespec; ;
3013 break;}
1ac6313d 3014case 239:
3015#line 891 "llgrammar.y"
885824d3 3016{ yyval.count = 1; ;
3017 break;}
1ac6313d 3018case 240:
3019#line 892 "llgrammar.y"
885824d3 3020{ yyval.count = yyvsp[-1].count + 1; ;
3021 break;}
1ac6313d 3022case 241:
3023#line 896 "llgrammar.y"
885824d3 3024{ (void) checkAndEnterTag (TAG_FWDSTRUCT, ltoken_copy (yyvsp[0].ltok)); ;
3025 break;}
1ac6313d 3026case 242:
3027#line 898 "llgrammar.y"
885824d3 3028{ yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_STRUCT, yyvsp[-4].ltok, yyvsp[-1].structdecls); ;
3029 break;}
1ac6313d 3030case 243:
3031#line 900 "llgrammar.y"
885824d3 3032{ (void) checkAndEnterTag (TAG_FWDUNION, ltoken_copy (yyvsp[0].ltok)); ;
3033 break;}
1ac6313d 3034case 244:
3035#line 902 "llgrammar.y"
885824d3 3036{ yyval.structorunion = makestrOrUnionNode (yyvsp[-5].ltok, SU_UNION, yyvsp[-4].ltok, yyvsp[-1].structdecls); ;
3037 break;}
1ac6313d 3038case 245:
3039#line 904 "llgrammar.y"
885824d3 3040{ yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_STRUCT, yyvsp[0].ltok); ;
3041 break;}
1ac6313d 3042case 246:
3043#line 906 "llgrammar.y"
885824d3 3044{ yyval.structorunion = makeForwardstrOrUnionNode (yyvsp[-1].ltok, SU_UNION, yyvsp[0].ltok); ;
3045 break;}
1ac6313d 3046case 247:
3047#line 909 "llgrammar.y"
885824d3 3048{ yyval.ltok = ltoken_undefined; ;
3049 break;}
885824d3 3050case 249:
1ac6313d 3051#line 913 "llgrammar.y"
3052{ yyval.structdecls = stDeclNodeList_add (stDeclNodeList_new (), yyvsp[0].structdecl); ;
885824d3 3053 break;}
3054case 250:
1ac6313d 3055#line 914 "llgrammar.y"
3056{ yyval.structdecls = stDeclNodeList_add (yyvsp[-1].structdecls, yyvsp[0].structdecl); ;
885824d3 3057 break;}
3058case 251:
1ac6313d 3059#line 919 "llgrammar.y"
3060{ yyval.structdecl = makestDeclNode (yyvsp[-2].lcltypespec, yyvsp[-1].declarelist); ;
885824d3 3061 break;}
3062case 252:
1ac6313d 3063#line 923 "llgrammar.y"
3064{ yyval.declarelist = declaratorNodeList_add (declaratorNodeList_new (), yyvsp[0].declare); ;
885824d3 3065 break;}
3066case 253:
1ac6313d 3067#line 925 "llgrammar.y"
3068{ yyval.declarelist = declaratorNodeList_add (yyvsp[-2].declarelist, yyvsp[0].declare); ;
885824d3 3069 break;}
3070case 254:
1ac6313d 3071#line 928 "llgrammar.y"
885824d3 3072{ ; ;
3073 break;}
3074case 255:
1ac6313d 3075#line 929 "llgrammar.y"
3076{ ; ;
885824d3 3077 break;}
3078case 256:
1ac6313d 3079#line 933 "llgrammar.y"
3080{ yyval.enumspec = makeEnumSpecNode (yyvsp[-5].ltok, yyvsp[-4].ltok, yyvsp[-2].ltokenList); ;
885824d3 3081 break;}
3082case 257:
1ac6313d 3083#line 935 "llgrammar.y"
3084{ yyval.enumspec = makeEnumSpecNode2 (yyvsp[-1].ltok, yyvsp[0].ltok); ;
885824d3 3085 break;}
3086case 258:
1ac6313d 3087#line 938 "llgrammar.y"
3088{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
885824d3 3089 break;}
3090case 259:
1ac6313d 3091#line 939 "llgrammar.y"
3092{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
885824d3 3093 break;}
3094case 260:
1ac6313d 3095#line 949 "llgrammar.y"
885824d3 3096{ yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ;
3097 break;}
3098case 261:
1ac6313d 3099#line 950 "llgrammar.y"
3100{ yyval.declare = makeDeclaratorNode (yyvsp[0].typeexpr); ;
885824d3 3101 break;}
3102case 262:
1ac6313d 3103#line 953 "llgrammar.y"
3104{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
885824d3 3105 break;}
3106case 263:
1ac6313d 3107#line 954 "llgrammar.y"
3108{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
885824d3 3109 break;}
3110case 264:
1ac6313d 3111#line 955 "llgrammar.y"
3112{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
885824d3 3113 break;}
3114case 265:
1ac6313d 3115#line 956 "llgrammar.y"
3116{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
885824d3 3117 break;}
3118case 266:
1ac6313d 3119#line 957 "llgrammar.y"
3120{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
885824d3 3121 break;}
3122case 267:
1ac6313d 3123#line 958 "llgrammar.y"
3124{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
885824d3 3125 break;}
3126case 268:
1ac6313d 3127#line 961 "llgrammar.y"
3128{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
885824d3 3129 break;}
3130case 269:
1ac6313d 3131#line 962 "llgrammar.y"
3132{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
885824d3 3133 break;}
3134case 270:
1ac6313d 3135#line 963 "llgrammar.y"
3136{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
885824d3 3137 break;}
3138case 271:
1ac6313d 3139#line 964 "llgrammar.y"
3140{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
885824d3 3141 break;}
3142case 272:
1ac6313d 3143#line 965 "llgrammar.y"
3144{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
885824d3 3145 break;}
3146case 273:
1ac6313d 3147#line 966 "llgrammar.y"
3148{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
885824d3 3149 break;}
3150case 274:
1ac6313d 3151#line 975 "llgrammar.y"
3152{ yyval.typeexpr = makeTypeExpr (yyvsp[0].ltok); ;
885824d3 3153 break;}
3154case 275:
1ac6313d 3155#line 976 "llgrammar.y"
3156{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
885824d3 3157 break;}
3158case 276:
1ac6313d 3159#line 977 "llgrammar.y"
3160{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
885824d3 3161 break;}
3162case 277:
1ac6313d 3163#line 978 "llgrammar.y"
3164{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
885824d3 3165 break;}
3166case 278:
1ac6313d 3167#line 979 "llgrammar.y"
3168{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
885824d3 3169 break;}
3170case 279:
1ac6313d 3171#line 985 "llgrammar.y"
885824d3 3172{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ;
3173 break;}
3174case 280:
1ac6313d 3175#line 986 "llgrammar.y"
3176{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].typeexpr); ;
885824d3 3177 break;}
3178case 281:
1ac6313d 3179#line 987 "llgrammar.y"
3180{ yyval.param = makeParamNode (yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
885824d3 3181 break;}
3182case 282:
1ac6313d 3183#line 997 "llgrammar.y"
3184{ yyval.typname = makeTypeNameNode (FALSE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
885824d3 3185 break;}
3186case 283:
1ac6313d 3187#line 998 "llgrammar.y"
3188{ yyval.typname = makeTypeNameNode (TRUE, yyvsp[-1].lcltypespec, yyvsp[0].abstDecl); ;
885824d3 3189 break;}
3190case 284:
1ac6313d 3191#line 999 "llgrammar.y"
3192{ yyval.typname = makeTypeNameNodeOp (yyvsp[0].opform); ;
885824d3 3193 break;}
3194case 285:
1ac6313d 3195#line 1004 "llgrammar.y"
3196{ yyval.abstDecl = (abstDeclaratorNode)0; ;
885824d3 3197 break;}
3198case 286:
1ac6313d 3199#line 1005 "llgrammar.y"
3200{ yyval.abstDecl = (abstDeclaratorNode)yyvsp[0].typeexpr; ;
885824d3 3201 break;}
3202case 287:
1ac6313d 3203#line 1008 "llgrammar.y"
3204{ yyval.typeexpr = yyvsp[-1].typeexpr; yyval.typeexpr->wrapped = yyval.typeexpr->wrapped + 1; ;
885824d3 3205 break;}
3206case 288:
1ac6313d 3207#line 1009 "llgrammar.y"
3208{ yyval.typeexpr = makePointerNode (yyvsp[-1].ltok, yyvsp[0].typeexpr); ;
885824d3 3209 break;}
3210case 289:
1ac6313d 3211#line 1010 "llgrammar.y"
3212{ yyval.typeexpr = makePointerNode (yyvsp[0].ltok, (typeExpr)0); ;
885824d3 3213 break;}
3214case 290:
1ac6313d 3215#line 1011 "llgrammar.y"
3216{ yyval.typeexpr = makeArrayNode ((typeExpr)0, yyvsp[0].array); ;
885824d3 3217 break;}
3218case 291:
1ac6313d 3219#line 1012 "llgrammar.y"
3220{ yyval.typeexpr = makeArrayNode (yyvsp[-1].typeexpr, yyvsp[0].array); ;
885824d3 3221 break;}
3222case 292:
1ac6313d 3223#line 1013 "llgrammar.y"
3224{ yyval.typeexpr = makeFunctionNode (yyvsp[-2].typeexpr, paramNodeList_new ()); ;
885824d3 3225 break;}
3226case 293:
1ac6313d 3227#line 1014 "llgrammar.y"
3228{ yyval.typeexpr = makeFunctionNode ((typeExpr)0, yyvsp[-1].paramlist); ;
885824d3 3229 break;}
3230case 294:
1ac6313d 3231#line 1015 "llgrammar.y"
3232{ yyval.typeexpr = makeFunctionNode (yyvsp[-3].typeexpr, yyvsp[-1].paramlist); ;
885824d3 3233 break;}
3234case 295:
1ac6313d 3235#line 1018 "llgrammar.y"
3236{ yyval.array = makeArrayQualNode (yyvsp[-1].ltok, (termNode)0); ;
885824d3 3237 break;}
3238case 296:
1ac6313d 3239#line 1019 "llgrammar.y"
3240{ yyval.array = makeArrayQualNode (yyvsp[-2].ltok, yyvsp[-1].term); ;
885824d3 3241 break;}
3242case 297:
1ac6313d 3243#line 1023 "llgrammar.y"
3244{ yyval.opform = makeOpFormNode (yyvsp[-5].ltok, OPF_IF, opFormUnion_createMiddle (0), ltoken_undefined); ;
885824d3 3245 break;}
3246case 298:
1ac6313d 3247#line 1025 "llgrammar.y"
3248{ yyval.opform = makeOpFormNode (yyvsp[0].ltok, OPF_ANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
885824d3 3249 break;}
3250case 299:
1ac6313d 3251#line 1027 "llgrammar.y"
3252{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MANYOP, opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
885824d3 3253 break;}
3254case 300:
1ac6313d 3255#line 1029 "llgrammar.y"
3256{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_ANYOPM, opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
3257 break;}
3258case 301:
3259#line 1031 "llgrammar.y"
885824d3 3260{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MANYOPM,
3261 opFormUnion_createAnyOp (yyvsp[-1].ltok), ltoken_undefined); ;
3262 break;}
1ac6313d 3263case 302:
3264#line 1034 "llgrammar.y"
885824d3 3265{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
3266 break;}
1ac6313d 3267case 303:
3268#line 1036 "llgrammar.y"
885824d3 3269{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
3270 break;}
1ac6313d 3271case 304:
3272#line 1038 "llgrammar.y"
885824d3 3273{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
3274 break;}
1ac6313d 3275case 305:
3276#line 1040 "llgrammar.y"
885824d3 3277{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_MMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
3278 break;}
1ac6313d 3279case 306:
3280#line 1042 "llgrammar.y"
885824d3 3281{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
3282 break;}
1ac6313d 3283case 307:
3284#line 1044 "llgrammar.y"
885824d3 3285{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
3286 break;}
1ac6313d 3287case 308:
3288#line 1052 "llgrammar.y"
885824d3 3289{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_BMMIDDLE, opFormUnion_createMiddle (yyvsp[-1].count), yyvsp[0].ltok); ;
3290 break;}
1ac6313d 3291case 309:
3292#line 1054 "llgrammar.y"
885824d3 3293{ yyval.opform = makeOpFormNode (yyvsp[-3].ltok, OPF_BMMIDDLEM, opFormUnion_createMiddle (yyvsp[-2].count), yyvsp[-1].ltok); ;
3294 break;}
1ac6313d 3295case 310:
3296#line 1056 "llgrammar.y"
885824d3 3297{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_SELECT,
3298 opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
3299 break;}
1ac6313d 3300case 311:
3301#line 1059 "llgrammar.y"
885824d3 3302{ yyval.opform = makeOpFormNode (yyvsp[-1].ltok, OPF_MAP,
3303 opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
3304 break;}
1ac6313d 3305case 312:
3306#line 1062 "llgrammar.y"
885824d3 3307{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MSELECT,
3308 opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
3309 break;}
1ac6313d 3310case 313:
3311#line 1065 "llgrammar.y"
885824d3 3312{ yyval.opform = makeOpFormNode (yyvsp[-2].ltok, OPF_MMAP,
3313 opFormUnion_createAnyOp (yyvsp[0].ltok), ltoken_undefined); ;
3314 break;}
1ac6313d 3315case 321:
3316#line 1082 "llgrammar.y"
885824d3 3317{ yyval.count = 0; ;
3318 break;}
1ac6313d 3319case 323:
3320#line 1086 "llgrammar.y"
885824d3 3321{ yyval.count = 1; ;
3322 break;}
1ac6313d 3323case 324:
3324#line 1087 "llgrammar.y"
885824d3 3325{ yyval.count = yyvsp[-2].count + 1; ;
3326 break;}
1ac6313d 3327case 327:
3328#line 1094 "llgrammar.y"
885824d3 3329{ yyval.signature = makesigNode (yyvsp[-3].ltok, yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
3330 break;}
1ac6313d 3331case 328:
3332#line 1097 "llgrammar.y"
885824d3 3333{ yyval.ltokenList = ltokenList_new (); ;
3334 break;}
1ac6313d 3335case 330:
3336#line 1101 "llgrammar.y"
885824d3 3337{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
3338 break;}
1ac6313d 3339case 331:
3340#line 1102 "llgrammar.y"
885824d3 3341{ yyval.ltokenList = ltokenList_push (yyvsp[-2].ltokenList, yyvsp[0].ltok); ;
3342 break;}
1ac6313d 3343case 332:
3344#line 1105 "llgrammar.y"
885824d3 3345{ yyval.lclpredicate = makeLclPredicateNode (ltoken_undefined, yyvsp[0].term, LPD_PLAIN);;
3346 break;}
1ac6313d 3347case 333:
3348#line 1108 "llgrammar.y"
885824d3 3349{ yyval.term = checkSort (yyvsp[0].term); ;
3350 break;}
1ac6313d 3351case 334:
3352#line 1115 "llgrammar.y"
885824d3 3353{ yyval.term = makeIfTermNode (yyvsp[-5].ltok,yyvsp[-4].term,yyvsp[-3].ltok,yyvsp[-2].term,yyvsp[-1].ltok,yyvsp[0].term); ;
3354 break;}
1ac6313d 3355case 336:
3356#line 1117 "llgrammar.y"
885824d3 3357{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term); ;
3358 break;}
1ac6313d 3359case 338:
3360#line 1123 "llgrammar.y"
885824d3 3361{ checkLclPredicate (yyvsp[-2].ltok, yyvsp[-1].lclpredicate); yyval.term = makeQuantifiedTermNode (yyvsp[-3].quantifiers, yyvsp[-2].ltok, yyvsp[-1].lclpredicate->predicate, yyvsp[0].ltok);
3362 symtable_exitScope (g_symtab);
3363 ;
3364 break;}
1ac6313d 3365case 339:
3366#line 1127 "llgrammar.y"
885824d3 3367{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);;
3368 break;}
1ac6313d 3369case 340:
3370#line 1129 "llgrammar.y"
885824d3 3371{ yyval.term = makeInfixTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].term);;
3372 break;}
1ac6313d 3373case 342:
3374#line 1133 "llgrammar.y"
885824d3 3375{ yyval.term = makePostfixTermNode (yyvsp[-1].term, yyvsp[0].ltokenList); ;
3376 break;}
1ac6313d 3377case 343:
3378#line 1134 "llgrammar.y"
885824d3 3379{ yyval.term = CollapseInfixTermNode (yyvsp[-1].term, yyvsp[0].termlist); ;
3380 break;}
1ac6313d 3381case 347:
3382#line 1142 "llgrammar.y"
885824d3 3383{ yyval.term = makePrefixTermNode (yyvsp[-1].ltok, yyvsp[0].term); ;
3384 break;}
1ac6313d 3385case 348:
3386#line 1145 "llgrammar.y"
885824d3 3387{ yyval.ltokenList = ltokenList_singleton (yyvsp[0].ltok); ;
3388 break;}
1ac6313d 3389case 349:
3390#line 1146 "llgrammar.y"
885824d3 3391{ yyval.ltokenList = ltokenList_push (yyvsp[-1].ltokenList, yyvsp[0].ltok); ;
3392 break;}
1ac6313d 3393case 350:
3394#line 1149 "llgrammar.y"
885824d3 3395{ yyval.termlist = pushInfixOpPartNode (termNodeList_new (), yyvsp[-1].ltok, yyvsp[0].term); ;
3396 break;}
1ac6313d 3397case 351:
3398#line 1150 "llgrammar.y"
885824d3 3399{ yyval.termlist = pushInfixOpPartNode (yyvsp[-2].termlist, yyvsp[-1].ltok, yyvsp[0].term); ;
3400 break;}
1ac6313d 3401case 353:
3402#line 1154 "llgrammar.y"
885824d3 3403{ yyval.term = computePossibleSorts (yyvsp[0].term); ;
3404 break;}
1ac6313d 3405case 354:
3406#line 1155 "llgrammar.y"
885824d3 3407{ yyval.term = updateMatchedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ;
3408 break;}
1ac6313d 3409case 355:
3410#line 1156 "llgrammar.y"
885824d3 3411{ yyval.term = updateMatchedNode (yyvsp[-1].term, yyvsp[0].term, (termNode)0); ;
3412 break;}
1ac6313d 3413case 356:
3414#line 1157 "llgrammar.y"
885824d3 3415{ yyval.term = updateMatchedNode (yyvsp[-2].term, yyvsp[-1].term, yyvsp[0].term); ;
3416 break;}
1ac6313d 3417case 357:
3418#line 1158 "llgrammar.y"
885824d3 3419{ yyval.term = computePossibleSorts (yyvsp[0].term); ;
3420 break;}
1ac6313d 3421case 358:
3422#line 1159 "llgrammar.y"
885824d3 3423{ yyval.term = updateSqBracketedNode ((termNode)0, yyvsp[-1].term, yyvsp[0].term); ;
3424 break;}
1ac6313d 3425case 359:
3426#line 1162 "llgrammar.y"
885824d3 3427{ yyval.term = yyvsp[-2].term; yyval.term->sort = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
3428 break;}
1ac6313d 3429case 361:
3430#line 1167 "llgrammar.y"
885824d3 3431{ yyval.term = makeSqBracketedNode (yyvsp[-4].ltok, yyvsp[-3].termlist, yyvsp[-2].ltok);
3432 yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
3433 break;}
1ac6313d 3434case 362:
3435#line 1170 "llgrammar.y"
885824d3 3436{ yyval.term = makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
3437 break;}
1ac6313d 3438case 363:
3439#line 1172 "llgrammar.y"
885824d3 3440{ yyval.term = makeSqBracketedNode (yyvsp[-3].ltok, termNodeList_new (), yyvsp[-2].ltok);
3441 yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok));
3442 ;
3443 break;}
1ac6313d 3444case 364:
3445#line 1176 "llgrammar.y"
885824d3 3446{ yyval.term = makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
3447 break;}
1ac6313d 3448case 365:
3449#line 1179 "llgrammar.y"
885824d3 3450{ yyval.term = makeMatchedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
3451 break;}
1ac6313d 3452case 366:
3453#line 1180 "llgrammar.y"
885824d3 3454{ yyval.term = makeMatchedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok); ;
3455 break;}
1ac6313d 3456case 367:
3457#line 1183 "llgrammar.y"
885824d3 3458{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
3459 break;}
1ac6313d 3460case 368:
3461#line 1184 "llgrammar.y"
885824d3 3462{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
3463 break;}
1ac6313d 3464case 369:
3465#line 1188 "llgrammar.y"
885824d3 3466{ yyval.term = yyvsp[-1].term; yyval.term->wrapped = yyval.term->wrapped + 1; ;
3467 break;}
1ac6313d 3468case 370:
3469#line 1190 "llgrammar.y"
885824d3 3470{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
3471 break;}
1ac6313d 3472case 371:
3473#line 1192 "llgrammar.y"
885824d3 3474{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
3475 break;}
1ac6313d 3476case 373:
3477#line 1195 "llgrammar.y"
885824d3 3478{ yyval.term = makePostfixTermNode2 (yyvsp[-1].term, yyvsp[0].ltok); ;
3479 break;}
1ac6313d 3480case 374:
3481#line 1197 "llgrammar.y"
885824d3 3482{ ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeSelectTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ;
3483 break;}
1ac6313d 3484case 375:
3485#line 1199 "llgrammar.y"
885824d3 3486{ ltoken_markOwned (yyvsp[0].ltok); yyval.term = makeMapTermNode (yyvsp[-2].term, yyvsp[-1].ltok, yyvsp[0].ltok); ;
3487 break;}
1ac6313d 3488case 376:
3489#line 1201 "llgrammar.y"
885824d3 3490{ yyval.term = updateSqBracketedNode (yyvsp[-2].term, makeSqBracketedNode (yyvsp[-1].ltok, termNodeList_new (), yyvsp[0].ltok),
3491 (termNode)0); ;
3492 break;}
1ac6313d 3493case 377:
3494#line 1204 "llgrammar.y"
885824d3 3495{ yyval.term = updateSqBracketedNode (yyvsp[-3].term, makeSqBracketedNode (yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok), (termNode)0); ;
3496 break;}
1ac6313d 3497case 378:
3498#line 1206 "llgrammar.y"
885824d3 3499{ yyval.term = yyvsp[-2].term; yyval.term->given = sort_lookupName (ltoken_getText (yyvsp[0].ltok)); ;
3500 break;}
1ac6313d 3501case 379:
3502#line 1209 "llgrammar.y"
885824d3 3503{ yyval.termlist = termNodeList_push (termNodeList_new (), yyvsp[0].term); ;
3504 break;}
1ac6313d 3505case 380:
3506#line 1210 "llgrammar.y"
885824d3 3507{ yyval.termlist = termNodeList_push (yyvsp[-2].termlist, yyvsp[0].term); ;
3508 break;}
1ac6313d 3509case 386:
3510#line 1220 "llgrammar.y"
885824d3 3511{ yyval.term = makeSimpleTermNode (yyvsp[0].ltok); ;
3512 break;}
1ac6313d 3513case 387:
3514#line 1221 "llgrammar.y"
885824d3 3515{ yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, yyvsp[-1].termlist, yyvsp[0].ltok); ;
3516 break;}
1ac6313d 3517case 388:
3518#line 1222 "llgrammar.y"
885824d3 3519{ yyval.term = makeUnchangedTermNode1 (yyvsp[-3].ltok, yyvsp[-1].ltok); ;
3520 break;}
1ac6313d 3521case 389:
3522#line 1223 "llgrammar.y"
885824d3 3523{ yyval.term = makeUnchangedTermNode2 (yyvsp[-3].ltok, yyvsp[-1].storereflist); ;
3524 break;}
1ac6313d 3525case 390:
3526#line 1225 "llgrammar.y"
885824d3 3527{ termNodeList x = termNodeList_new ();
3528 termNodeList_addh (x, yyvsp[-1].term);
3529 yyval.term = makeOpCallTermNode (yyvsp[-3].ltok, yyvsp[-2].ltok, x, yyvsp[0].ltok);
3530 ;
3531 break;}
1ac6313d 3532case 391:
3533#line 1230 "llgrammar.y"
885824d3 3534{ termNodeList x = termNodeList_new ();
3535 termNodeList_addh (x, yyvsp[-3].term);
3536 termNodeList_addh (x, yyvsp[-1].term);
3537 yyval.term = makeOpCallTermNode (yyvsp[-5].ltok, yyvsp[-4].ltok, x, yyvsp[0].ltok);
3538 ;
3539 break;}
1ac6313d 3540case 392:
3541#line 1235 "llgrammar.y"
885824d3 3542{ yyval.term = makeSizeofTermNode (yyvsp[-3].ltok, yyvsp[-1].lcltypespec); ;
3543 break;}
1ac6313d 3544case 393:
3545#line 1245 "llgrammar.y"
885824d3 3546{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_int); ;
3547 break;}
1ac6313d 3548case 394:
3549#line 1246 "llgrammar.y"
885824d3 3550{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_cstring); ;
3551 break;}
1ac6313d 3552case 395:
3553#line 1247 "llgrammar.y"
885824d3 3554{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_char); ;
3555 break;}
1ac6313d 3556case 396:
3557#line 1248 "llgrammar.y"
885824d3 3558{ yyval.term = makeLiteralTermNode (yyvsp[0].ltok, sort_double); ;
3559 break;}
1ac6313d 3560case 397:
3561#line 1252 "llgrammar.y"
885824d3 3562{ yyval.quantifiers = quantifierNodeList_add (quantifierNodeList_new (), yyvsp[0].quantifier); ;
3563 break;}
1ac6313d 3564case 398:
3565#line 1254 "llgrammar.y"
885824d3 3566{ yyval.quantifiers = quantifierNodeList_add (yyvsp[-1].quantifiers, yyvsp[0].quantifier); ;
3567 break;}
1ac6313d 3568case 399:
3569#line 1257 "llgrammar.y"
885824d3 3570{ scopeInfo si = (scopeInfo) dmalloc (sizeof (*si));
3571 si->kind = SPE_QUANT;
3572 symtable_enterScope (g_symtab, si); ;
3573 break;}
1ac6313d 3574case 400:
3575#line 1261 "llgrammar.y"
885824d3 3576{ yyval.quantifier = makeQuantifierNode (yyvsp[0].vars, yyvsp[-2].ltok); ;
3577 break;}
1ac6313d 3578case 401:
3579#line 1264 "llgrammar.y"
885824d3 3580{ yyval.vars = varNodeList_add (varNodeList_new (), yyvsp[0].var); ;
3581 break;}
1ac6313d 3582case 402:
3583#line 1265 "llgrammar.y"
885824d3 3584{ yyval.vars = varNodeList_add (yyvsp[-2].vars, yyvsp[0].var); ;
3585 break;}
1ac6313d 3586case 403:
3587#line 1268 "llgrammar.y"
885824d3 3588{ yyval.var = makeVarNode (yyvsp[-2].ltok, FALSE, yyvsp[0].lcltypespec); ;
3589 break;}
1ac6313d 3590case 404:
3591#line 1269 "llgrammar.y"
885824d3 3592{ yyval.var = makeVarNode (yyvsp[-3].ltok, TRUE, yyvsp[0].lcltypespec); ;
3593 break;}
3594}
3595 /* the action file gets copied in in place of this dollarsign */
754746a0 3596#line 543 "/usr/lib/bison.simple"
885824d3 3597\f
3598 yyvsp -= yylen;
3599 yyssp -= yylen;
3600#ifdef YYLSP_NEEDED
3601 yylsp -= yylen;
3602#endif
3603
3604#if YYDEBUG != 0
3605 if (yydebug)
3606 {
3607 short *ssp1 = yyss - 1;
3608 fprintf (stderr, "state stack now");
3609 while (ssp1 != yyssp)
3610 fprintf (stderr, " %d", *++ssp1);
3611 fprintf (stderr, "\n");
3612 }
3613#endif
3614
3615 *++yyvsp = yyval;
3616
3617#ifdef YYLSP_NEEDED
3618 yylsp++;
3619 if (yylen == 0)
3620 {
3621 yylsp->first_line = yylloc.first_line;
3622 yylsp->first_column = yylloc.first_column;
3623 yylsp->last_line = (yylsp-1)->last_line;
3624 yylsp->last_column = (yylsp-1)->last_column;
3625 yylsp->text = 0;
3626 }
3627 else
3628 {
3629 yylsp->last_line = (yylsp+yylen-1)->last_line;
3630 yylsp->last_column = (yylsp+yylen-1)->last_column;
3631 }
3632#endif
3633
3634 /* Now "shift" the result of the reduction.
3635 Determine what state that goes to,
3636 based on the state we popped back to
3637 and the rule number reduced by. */
3638
3639 yyn = yyr1[yyn];
3640
3641 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
3642 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3643 yystate = yytable[yystate];
3644 else
3645 yystate = yydefgoto[yyn - YYNTBASE];
3646
3647 goto yynewstate;
3648
3649yyerrlab: /* here on detecting error */
3650
3651 if (! yyerrstatus)
3652 /* If not already recovering from an error, report this error. */
3653 {
3654 ++yynerrs;
3655
3656#ifdef YYERROR_VERBOSE
3657 yyn = yypact[yystate];
3658
3659 if (yyn > YYFLAG && yyn < YYLAST)
3660 {
3661 int size = 0;
3662 char *msg;
3663 int x, count;
3664
3665 count = 0;
3666 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
3667 for (x = (yyn < 0 ? -yyn : 0);
3668 x < (sizeof(yytname) / sizeof(char *)); x++)
3669 if (yycheck[x + yyn] == x)
3670 size += strlen(yytname[x]) + 15, count++;
3671 msg = (char *) malloc(size + 15);
3672 if (msg != 0)
3673 {
3674 strcpy(msg, "parse error");
3675
3676 if (count < 5)
3677 {
3678 count = 0;
3679 for (x = (yyn < 0 ? -yyn : 0);
3680 x < (sizeof(yytname) / sizeof(char *)); x++)
3681 if (yycheck[x + yyn] == x)
3682 {
3683 strcat(msg, count == 0 ? ", expecting `" : " or `");
3684 strcat(msg, yytname[x]);
3685 strcat(msg, "'");
3686 count++;
3687 }
3688 }
3689 yyerror(msg);
3690 free(msg);
3691 }
3692 else
3693 yyerror ("parse error; also virtual memory exceeded");
3694 }
3695 else
3696#endif /* YYERROR_VERBOSE */
3697 yyerror("parse error");
3698 }
3699
3700 goto yyerrlab1;
3701yyerrlab1: /* here on error raised explicitly by an action */
3702
3703 if (yyerrstatus == 3)
3704 {
3705 /* if just tried and failed to reuse lookahead token after an error, discard it. */
3706
3707 /* return failure if at end of input */
3708 if (yychar == YYEOF)
3709 YYABORT;
3710
3711#if YYDEBUG != 0
3712 if (yydebug)
3713 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
3714#endif
3715
3716 yychar = YYEMPTY;
3717 }
3718
3719 /* Else will try to reuse lookahead token
3720 after shifting the error token. */
3721
3722 yyerrstatus = 3; /* Each real token shifted decrements this */
3723
3724 goto yyerrhandle;
3725
3726yyerrdefault: /* current state does not do anything special for the error token. */
3727
3728#if 0
3729 /* This is wrong; only states that explicitly want error tokens
3730 should shift them. */
3731 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
3732 if (yyn) goto yydefault;
3733#endif
3734
3735yyerrpop: /* pop the current state because it cannot handle the error token */
3736
3737 if (yyssp == yyss) YYABORT;
3738 yyvsp--;
3739 yystate = *--yyssp;
3740#ifdef YYLSP_NEEDED
3741 yylsp--;
3742#endif
3743
3744#if YYDEBUG != 0
3745 if (yydebug)
3746 {
3747 short *ssp1 = yyss - 1;
3748 fprintf (stderr, "Error: state stack now");
3749 while (ssp1 != yyssp)
3750 fprintf (stderr, " %d", *++ssp1);
3751 fprintf (stderr, "\n");
3752 }
3753#endif
3754
3755yyerrhandle:
3756
3757 yyn = yypact[yystate];
3758 if (yyn == YYFLAG)
3759 goto yyerrdefault;
3760
3761 yyn += YYTERROR;
3762 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
3763 goto yyerrdefault;
3764
3765 yyn = yytable[yyn];
3766 if (yyn < 0)
3767 {
3768 if (yyn == YYFLAG)
3769 goto yyerrpop;
3770 yyn = -yyn;
3771 goto yyreduce;
3772 }
3773 else if (yyn == 0)
3774 goto yyerrpop;
3775
3776 if (yyn == YYFINAL)
3777 YYACCEPT;
3778
3779#if YYDEBUG != 0
3780 if (yydebug)
3781 fprintf(stderr, "Shifting error token, ");
3782#endif
3783
3784 *++yyvsp = yylval;
3785#ifdef YYLSP_NEEDED
3786 *++yylsp = yylloc;
3787#endif
3788
3789 yystate = yyn;
3790 goto yynewstate;
754746a0 3791
3792 yyacceptlab:
3793 /* YYACCEPT comes here. */
3794 if (yyfree_stacks)
3795 {
3796 free (yyss);
3797 free (yyvs);
3798#ifdef YYLSP_NEEDED
3799 free (yyls);
3800#endif
3801 }
3802 return 0;
3803
3804 yyabortlab:
3805 /* YYABORT comes here. */
3806 if (yyfree_stacks)
3807 {
3808 free (yyss);
3809 free (yyvs);
3810#ifdef YYLSP_NEEDED
3811 free (yyls);
3812#endif
3813 }
3814 return 1;
885824d3 3815}
1ac6313d 3816#line 1284 "llgrammar.y"
885824d3 3817
3818
3819# include "bison.reset"
3820
3821/*
3822** yytext is set in lex scanner
3823** extern YYSTYPE yylval;
3824** yylval is defined by code generated by bison
3825*/
3826
3827void ylerror (char *s)
3828{
3829 /*
3830 ** This resetting of the left context is very important when multiple
3831 ** files are to be parsed. We do not want failures to propagate.
3832 ** Lex/Yacc does not reset the flags when the parsing goes bad.
3833 ** BEGIN 0;
3834 **/
3835
3836 /*@-mustfree@*/
3837 lclfatalerror (yllval.ltok,
3838 message ("%s: Token code: %s, Token String: %s",
3839 cstring_fromChars (s),
3840 ltoken_unparseCodeName (yllval.ltok),
3841 ltoken_getRawString (yllval.ltok)));
3842 /*@=mustfree@*/
3843}
3844
3845static void yyprint (FILE *f, int t, YYSTYPE value)
3846{
3847 fprintf (f, " type: %d (%s)", t,
3848 cstring_toCharsSafe (ltoken_getRawString (value.ltok)));
3849}
3850
3851
3852
3853
3854
3855
3856
This page took 0.828323 seconds and 5 git commands to generate.