]> andersk Git - splint.git/blame - src/Headers/llgrammar_gen2.h
Fixed off by one bug involving arrays initialized with a block of values.
[splint.git] / src / Headers / llgrammar_gen2.h
CommitLineData
0f55522a 1/*
2** Inserted at beginning of c files generated by bison
3** REMEMBER: Change bison.reset too.
4*/
5
6/*@-allmacros@*/
7/*@+boolint@*/
8/*@+charint@*/
9/*@-macroparams@*/
10/*@-macroundef@*/
11/*@-unreachable@*/
12/*@-macrospec@*/
13/*@-varuse@*/
14/*@+ignorequals@*/
15/*@-macrostmt@*/
16/*@-noeffect@*/
17/*@-shadow@*/
18/*@-exitarg@*/
19/*@-macroredef@*/
20/*@-uniondef@*/
21/*@-compdef@*/
22/*@-matchfields@*/
23/*@-exportlocal@*/
24/*@-evalorderuncon@*/
25/*@-exportheader@*/
26/*@-typeuse@*/
27/*@-redecl@*/
28/*@-redef@*/
29/*@-noparams@*/
30/*@-ansireserved@*/
31/*@-fielduse@*/
32/*@-ifblock@*/
33/*@-elseifcomplete@*/
34/*@-whileblock@*/
35/*@-forblock@*/
36/*@-branchstate@*/
37/*@-readonlytrans@*/
38/*@-namechecks@*/
39/*@-usedef@*/
40/*@-systemunrecog@*/
41/*@-dependenttrans@*/
42/*@-unqualifiedtrans@*/
43/*@-nullassign@*/
44/*@-nullpass@*/
45/*@-nullptrarith*/
46/*@-usereleased@*/
47/*@-declundef@*/
48
49/*drl added 11/27/2001*/
50/*@-bounds@*/
e015e087 51
52/*drl added 12/11/2002*/
53/*@-type@*/
54
0f55522a 55/* < end of bison.head > */
56
8f58355a 57/* A Bison parser, made by GNU Bison 1.875a. */
e5081f8c 58
8f58355a 59/* Skeleton parser for Yacc-like parsing with Bison,
60 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
61
62 This program is free software; you can redistribute it and/or modify
63 it under the terms of the GNU General Public License as published by
64 the Free Software Foundation; either version 2, or (at your option)
65 any later version.
66
67 This program is distributed in the hope that it will be useful,
68 but WITHOUT ANY WARRANTY; without even the implied warranty of
69 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
70 GNU General Public License for more details.
71
72 You should have received a copy of the GNU General Public License
73 along with this program; if not, write to the Free Software
74 Foundation, Inc., 59 Temple Place - Suite 330,
75 Boston, MA 02111-1307, USA. */
76
77/* As a special exception, when this file is copied by Bison into a
78 Bison output file, you may use that output file without restriction.
79 This special exception was added by the Free Software Foundation
80 in version 1.24 of Bison. */
81
82/* Tokens. */
83#ifndef YYTOKENTYPE
84# define YYTOKENTYPE
85 /* Put the tokens into the symbol table, so that GDB and other debuggers
86 know about them. */
87 enum yytokentype {
88 simpleOp = 258,
89 PREFIX_OP = 259,
90 POSTFIX_OP = 260,
91 LLT_MULOP = 261,
92 LLT_SEMI = 262,
93 LLT_VERTICALBAR = 263,
94 ITERATION_OP = 264,
95 selectSym = 265,
96 LLT_LBRACKET = 266,
97 LLT_LPAR = 267,
98 LLT_IF_THEN_ELSE = 268,
99 logicalOp = 269,
100 eqSepSym = 270,
101 equationSym = 271,
102 commentSym = 272,
103 LLT_WHITESPACE = 273,
104 LLT_EOL = 274,
105 LLT_TYPEDEF_NAME = 275,
106 quantifierSym = 276,
107 openSym = 277,
108 closeSym = 278,
109 sepSym = 279,
110 simpleId = 280,
111 mapSym = 281,
112 markerSym = 282,
113 preSym = 283,
114 postSym = 284,
115 anySym = 285,
116 LLT_COLON = 286,
117 LLT_COMMA = 287,
118 LLT_EQUALS = 288,
119 LLT_LBRACE = 289,
120 LLT_RBRACE = 290,
121 LLT_RBRACKET = 291,
122 LLT_RPAR = 292,
123 LLT_QUOTE = 293,
124 eqOp = 294,
125 LLT_CCHAR = 295,
126 LLT_CFLOAT = 296,
127 LLT_CINTEGER = 297,
128 LLT_LCSTRING = 298,
129 LLT_ALL = 299,
130 LLT_ANYTHING = 300,
131 LLT_BE = 301,
132 LLT_BODY = 302,
133 LLT_CLAIMS = 303,
134 LLT_CHECKS = 304,
135 LLT_CONSTANT = 305,
136 LLT_ELSE = 306,
137 LLT_ENSURES = 307,
138 LLT_FOR = 308,
139 LLT_FRESH = 309,
140 LLT_IF = 310,
141 LLT_IMMUTABLE = 311,
142 LLT_IMPORTS = 312,
143 LLT_CONSTRAINT = 313,
144 LLT_ISSUB = 314,
145 LLT_LET = 315,
146 LLT_MODIFIES = 316,
147 LLT_MUTABLE = 317,
148 LLT_NOTHING = 318,
149 LLT_INTERNAL = 319,
150 LLT_FILESYS = 320,
151 LLT_OBJ = 321,
152 LLT_OUT = 322,
153 LLT_SEF = 323,
154 LLT_ONLY = 324,
155 LLT_PARTIAL = 325,
156 LLT_OWNED = 326,
157 LLT_DEPENDENT = 327,
158 LLT_KEEP = 328,
159 LLT_KEPT = 329,
160 LLT_TEMP = 330,
161 LLT_SHARED = 331,
162 LLT_UNIQUE = 332,
163 LLT_UNUSED = 333,
164 LLT_EXITS = 334,
165 LLT_MAYEXIT = 335,
166 LLT_NEVEREXIT = 336,
167 LLT_TRUEEXIT = 337,
168 LLT_FALSEEXIT = 338,
169 LLT_UNDEF = 339,
170 LLT_KILLED = 340,
171 LLT_CHECKMOD = 341,
172 LLT_CHECKED = 342,
173 LLT_UNCHECKED = 343,
174 LLT_CHECKEDSTRICT = 344,
175 LLT_TRUENULL = 345,
176 LLT_FALSENULL = 346,
177 LLT_LNULL = 347,
178 LLT_LNOTNULL = 348,
179 LLT_RETURNED = 349,
180 LLT_OBSERVER = 350,
181 LLT_EXPOSED = 351,
182 LLT_REFCOUNTED = 352,
183 LLT_REFS = 353,
184 LLT_RELNULL = 354,
185 LLT_RELDEF = 355,
186 LLT_KILLREF = 356,
187 LLT_NULLTERMINATED = 357,
188 LLT_TEMPREF = 358,
189 LLT_NEWREF = 359,
190 LLT_PRIVATE = 360,
191 LLT_REQUIRES = 361,
192 LLT_RESULT = 362,
193 LLT_SIZEOF = 363,
194 LLT_SPEC = 364,
195 LLT_TAGGEDUNION = 365,
196 LLT_THEN = 366,
197 LLT_TYPE = 367,
198 LLT_TYPEDEF = 368,
199 LLT_UNCHANGED = 369,
200 LLT_USES = 370,
201 LLT_CHAR = 371,
202 LLT_CONST = 372,
203 LLT_DOUBLE = 373,
204 LLT_ENUM = 374,
205 LLT_FLOAT = 375,
206 LLT_INT = 376,
207 LLT_ITER = 377,
208 LLT_YIELD = 378,
209 LLT_LONG = 379,
210 LLT_SHORT = 380,
211 LLT_SIGNED = 381,
212 LLT_UNKNOWN = 382,
213 LLT_STRUCT = 383,
214 LLT_TELIPSIS = 384,
215 LLT_UNION = 385,
216 LLT_UNSIGNED = 386,
217 LLT_VOID = 387,
218 LLT_VOLATILE = 388,
219 LLT_PRINTFLIKE = 389,
220 LLT_SCANFLIKE = 390,
221 LLT_MESSAGELIKE = 391
222 };
223#endif
224#define simpleOp 258
225#define PREFIX_OP 259
226#define POSTFIX_OP 260
227#define LLT_MULOP 261
228#define LLT_SEMI 262
229#define LLT_VERTICALBAR 263
230#define ITERATION_OP 264
231#define selectSym 265
232#define LLT_LBRACKET 266
233#define LLT_LPAR 267
234#define LLT_IF_THEN_ELSE 268
235#define logicalOp 269
236#define eqSepSym 270
237#define equationSym 271
238#define commentSym 272
239#define LLT_WHITESPACE 273
240#define LLT_EOL 274
241#define LLT_TYPEDEF_NAME 275
242#define quantifierSym 276
243#define openSym 277
244#define closeSym 278
245#define sepSym 279
246#define simpleId 280
247#define mapSym 281
248#define markerSym 282
249#define preSym 283
250#define postSym 284
251#define anySym 285
252#define LLT_COLON 286
253#define LLT_COMMA 287
254#define LLT_EQUALS 288
255#define LLT_LBRACE 289
256#define LLT_RBRACE 290
257#define LLT_RBRACKET 291
258#define LLT_RPAR 292
259#define LLT_QUOTE 293
260#define eqOp 294
261#define LLT_CCHAR 295
262#define LLT_CFLOAT 296
263#define LLT_CINTEGER 297
264#define LLT_LCSTRING 298
265#define LLT_ALL 299
266#define LLT_ANYTHING 300
267#define LLT_BE 301
268#define LLT_BODY 302
269#define LLT_CLAIMS 303
270#define LLT_CHECKS 304
271#define LLT_CONSTANT 305
272#define LLT_ELSE 306
273#define LLT_ENSURES 307
274#define LLT_FOR 308
275#define LLT_FRESH 309
276#define LLT_IF 310
277#define LLT_IMMUTABLE 311
278#define LLT_IMPORTS 312
279#define LLT_CONSTRAINT 313
280#define LLT_ISSUB 314
281#define LLT_LET 315
282#define LLT_MODIFIES 316
283#define LLT_MUTABLE 317
284#define LLT_NOTHING 318
285#define LLT_INTERNAL 319
286#define LLT_FILESYS 320
287#define LLT_OBJ 321
288#define LLT_OUT 322
289#define LLT_SEF 323
290#define LLT_ONLY 324
291#define LLT_PARTIAL 325
292#define LLT_OWNED 326
293#define LLT_DEPENDENT 327
294#define LLT_KEEP 328
295#define LLT_KEPT 329
296#define LLT_TEMP 330
297#define LLT_SHARED 331
298#define LLT_UNIQUE 332
299#define LLT_UNUSED 333
300#define LLT_EXITS 334
301#define LLT_MAYEXIT 335
302#define LLT_NEVEREXIT 336
303#define LLT_TRUEEXIT 337
304#define LLT_FALSEEXIT 338
305#define LLT_UNDEF 339
306#define LLT_KILLED 340
307#define LLT_CHECKMOD 341
308#define LLT_CHECKED 342
309#define LLT_UNCHECKED 343
310#define LLT_CHECKEDSTRICT 344
311#define LLT_TRUENULL 345
312#define LLT_FALSENULL 346
313#define LLT_LNULL 347
314#define LLT_LNOTNULL 348
315#define LLT_RETURNED 349
316#define LLT_OBSERVER 350
317#define LLT_EXPOSED 351
318#define LLT_REFCOUNTED 352
319#define LLT_REFS 353
320#define LLT_RELNULL 354
321#define LLT_RELDEF 355
322#define LLT_KILLREF 356
323#define LLT_NULLTERMINATED 357
324#define LLT_TEMPREF 358
325#define LLT_NEWREF 359
326#define LLT_PRIVATE 360
327#define LLT_REQUIRES 361
328#define LLT_RESULT 362
329#define LLT_SIZEOF 363
330#define LLT_SPEC 364
331#define LLT_TAGGEDUNION 365
332#define LLT_THEN 366
333#define LLT_TYPE 367
334#define LLT_TYPEDEF 368
335#define LLT_UNCHANGED 369
336#define LLT_USES 370
337#define LLT_CHAR 371
338#define LLT_CONST 372
339#define LLT_DOUBLE 373
340#define LLT_ENUM 374
341#define LLT_FLOAT 375
342#define LLT_INT 376
343#define LLT_ITER 377
344#define LLT_YIELD 378
345#define LLT_LONG 379
346#define LLT_SHORT 380
347#define LLT_SIGNED 381
348#define LLT_UNKNOWN 382
349#define LLT_STRUCT 383
350#define LLT_TELIPSIS 384
351#define LLT_UNION 385
352#define LLT_UNSIGNED 386
353#define LLT_VOID 387
354#define LLT_VOLATILE 388
355#define LLT_PRINTFLIKE 389
356#define LLT_SCANFLIKE 390
357#define LLT_MESSAGELIKE 391
358
359
360
361
362#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
363
364typedef union YYSTYPE {
0f55522a 365 ltoken ltok; /* a leaf is also an ltoken */
366 qual typequal;
367 unsigned int count;
368 /*@only@*/ ltokenList ltokenList;
369 /*@only@*/ abstDeclaratorNode abstDecl;
370 /*@only@*/ declaratorNode declare;
371 /*@only@*/ declaratorNodeList declarelist;
372 /*@only@*/ typeExpr typeexpr;
373 /*@only@*/ arrayQualNode array;
374 /*@only@*/ quantifierNode quantifier;
375 /*@only@*/ quantifierNodeList quantifiers;
376 /*@only@*/ varNode var;
377 /*@only@*/ varNodeList vars;
378 /*@only@*/ storeRefNode storeref;
379 /*@only@*/ storeRefNodeList storereflist;
380 /*@only@*/ termNode term;
381 /*@only@*/ termNodeList termlist;
382 /*@only@*/ programNode program;
383 /*@only@*/ stmtNode stmt;
384 /*@only@*/ claimNode claim;
385 /*@only@*/ typeNode type;
386 /*@only@*/ iterNode iter;
387 /*@only@*/ fcnNode fcn;
388 /*@only@*/ fcnNodeList fcns;
389 /*@only@*/ letDeclNode letdecl;
390 /*@only@*/ letDeclNodeList letdecls;
391 /*@only@*/ lclPredicateNode lclpredicate;
392 /*@only@*/ modifyNode modify;
393 /*@only@*/ paramNode param;
394 /*@only@*/ paramNodeList paramlist;
395 /*@only@*/ declaratorInvNodeList declaratorinvs;
396 /*@only@*/ declaratorInvNode declaratorinv;
397 /*@only@*/ abstBodyNode abstbody;
398 /*@only@*/ abstractNode abstract;
399 /*@only@*/ exposedNode exposed;
f9264521 400 /*@only@*/ pointers pointers;
0f55522a 401 /* taggedUnionNode taggedunion; */
402 /*@only@*/ globalList globals;
403 /*@only@*/ constDeclarationNode constdeclaration;
404 /*@only@*/ varDeclarationNode vardeclaration;
405 /*@only@*/ varDeclarationNodeList vardeclarationlist;
406 /*@only@*/ initDeclNodeList initdecls;
407 /*@only@*/ initDeclNode initdecl;
408 /*@only@*/ stDeclNodeList structdecls;
409 /*@only@*/ stDeclNode structdecl;
410 /*@only@*/ strOrUnionNode structorunion;
411 /*@only@*/ enumSpecNode enumspec;
412 /*@only@*/ lclTypeSpecNode lcltypespec;
413 /*@only@*/ typeNameNode typname;
414 /*@only@*/ opFormNode opform;
415 /*@only@*/ sigNode signature;
416 /*@only@*/ nameNode name;
417 /*@only@*/ typeNameNodeList namelist;
418 /*@only@*/ replaceNode replace;
419 /*@only@*/ replaceNodeList replacelist;
420 /*@only@*/ renamingNode renaming;
421 /*@only@*/ traitRefNode traitref;
422 /*@only@*/ traitRefNodeList traitreflist;
423 /*@only@*/ importNode import;
424 /*@only@*/ importNodeList importlist;
425 /*@only@*/ interfaceNode iface;
426 /*@only@*/ interfaceNodeList interfacelist;
427 /*@only@*/ CTypesNode ctypes;
428 /*@-redef@*/
8f58355a 429} YYSTYPE;
430/* Line 1240 of yacc.c. */
431
432# define yystype YYSTYPE /* obsolescent; will be withdrawn */
433# define YYSTYPE_IS_DECLARED 1
e5081f8c 434# define YYSTYPE_IS_TRIVIAL 1
435#endif
0f55522a 436
437extern YYSTYPE yllval;
e5081f8c 438
8f58355a 439
440
0f55522a 441/*
442** Resets all flags in bison.head
443*/
444
445
446/*@=allmacros@*/
447/*@=boolint@*/
448/*@=charint@*/
449/*@=macroparams@*/
450/*@=macroundef@*/
451/*@=unreachable@*/
452/*@=macrospec@*/
453/*@=varuse@*/
454/*@=ignorequals@*/
455/*@=macrostmt@*/
456/*@=noeffect@*/
457/*@=shadow@*/
458/*@=exitarg@*/
459/*@=macroredef@*/
460/*@=uniondef@*/
461/*@=compdef@*/
462/*@=matchfields@*/
463/*@=exportlocal@*/
464/*@=evalorderuncon@*/
465/*@=exportheader@*/
466/*@=typeuse@*/
467/*@=redecl@*/
468/*@=redef@*/
469/*@=noparams@*/
470/*@=ansireserved@*/
471/*@=fielduse@*/
472/*@=ifblock@*/
473/*@=elseifcomplete@*/
474/*@=whileblock@*/
475/*@=forblock@*/
476/*@=branchstate@*/
477/*@=readonlytrans@*/
478/*@=namechecks@*/
479/*@=usedef@*/
480/*@=systemunrecog@*/
481/*@=dependenttrans@*/
482/*@=unqualifiedtrans@*/
483/*@=declundef@*/
484
485
486/*drl added 11/27/2001*/
487/*@=bounds@*/
e015e087 488
489/*drl added 12/11/2002*/
490/*@=type@*/
This page took 0.130545 seconds and 5 git commands to generate.