2 ** Inserted at beginning of c files generated by bison
3 ** REMEMBER: Change bison.reset too.
42 /*@-unqualifiedtrans@*/
49 /*drl added 11/27/2001*/
52 /*drl added 12/11/2002*/
57 /* < end of bison.head > */
59 /* A Bison parser, made by GNU Bison 2.3. */
61 /* Skeleton interface for Bison's Yacc-like parsers in C
63 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
64 Free Software Foundation, Inc.
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)
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.
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. */
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.
91 This special exception was added by the Free Software Foundation in
92 version 2.2 of Bison. */
97 /* Put the tokens into the symbol table, so that GDB and other debuggers
105 LLT_VERTICALBAR = 263,
110 LLT_IF_THEN_ELSE = 268,
115 LLT_WHITESPACE = 273,
117 LLT_TYPEDEF_NAME = 275,
155 LLT_CONSTRAINT = 313,
186 LLT_CHECKEDSTRICT = 344,
194 LLT_REFCOUNTED = 352,
199 LLT_NULLTERMINATED = 357,
207 LLT_TAGGEDUNION = 365,
231 LLT_PRINTFLIKE = 389,
233 LLT_MESSAGELIKE = 391
238 #define PREFIX_OP 259
239 #define POSTFIX_OP 260
240 #define LLT_MULOP 261
242 #define LLT_VERTICALBAR 263
243 #define ITERATION_OP 264
244 #define selectSym 265
245 #define LLT_LBRACKET 266
247 #define LLT_IF_THEN_ELSE 268
248 #define logicalOp 269
250 #define equationSym 271
251 #define commentSym 272
252 #define LLT_WHITESPACE 273
254 #define LLT_TYPEDEF_NAME 275
255 #define quantifierSym 276
261 #define markerSym 282
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
272 #define LLT_QUOTE 293
274 #define LLT_CCHAR 295
275 #define LLT_CFLOAT 296
276 #define LLT_CINTEGER 297
277 #define LLT_LCSTRING 298
279 #define LLT_ANYTHING 300
282 #define LLT_CLAIMS 303
283 #define LLT_CHECKS 304
284 #define LLT_CONSTANT 305
286 #define LLT_ENSURES 307
288 #define LLT_FRESH 309
290 #define LLT_IMMUTABLE 311
291 #define LLT_IMPORTS 312
292 #define LLT_CONSTRAINT 313
293 #define LLT_ISSUB 314
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
304 #define LLT_PARTIAL 325
305 #define LLT_OWNED 326
306 #define LLT_DEPENDENT 327
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
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
344 #define LLT_TAGGEDUNION 365
347 #define LLT_TYPEDEF 368
348 #define LLT_UNCHANGED 369
351 #define LLT_CONST 372
352 #define LLT_DOUBLE 373
354 #define LLT_FLOAT 375
357 #define LLT_YIELD 378
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
367 #define LLT_VOLATILE 388
368 #define LLT_PRINTFLIKE 389
369 #define LLT_SCANFLIKE 390
370 #define LLT_MESSAGELIKE 391
375 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
376 typedef union YYSTYPE
379 ltoken ltok; /* a leaf is also an ltoken */
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;
444 /* Line 1529 of yacc.c. */
447 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
448 # define YYSTYPE_IS_DECLARED 1
449 # define YYSTYPE_IS_TRIVIAL 1
452 extern YYSTYPE yllval;
455 ** Resets all flags in bison.head
477 /*@=evalorderuncon@*/
486 /*@=elseifcomplete@*/
494 /*@=dependenttrans@*/
495 /*@=unqualifiedtrans@*/
499 /*drl added 11/27/2001*/
502 /*drl added 12/11/2002*/