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