]> andersk Git - splint.git/blob - src/Headers/llgrammar_gen2.h
*** empty log message ***
[splint.git] / src / Headers / llgrammar_gen2.h
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@*/
51
52 /*drl added 12/11/2002*/
53 /*@-type@*/
54
55 /*@-enummemuse@*/
56
57 /* < end of bison.head > */
58
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
376 typedef union YYSTYPE
377
378 {
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;
414   /*@only@*/ pointers pointers;
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@*/
443 }
444 /* Line 1529 of yacc.c.  */
445
446         YYSTYPE;
447 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
448 # define YYSTYPE_IS_DECLARED 1
449 # define YYSTYPE_IS_TRIVIAL 1
450 #endif
451
452 extern YYSTYPE yllval;
453
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@*/
501
502 /*drl added 12/11/2002*/
503 /*@=type@*/
504
505 /*@=enummemuse@*/
This page took 0.091327 seconds and 5 git commands to generate.