/* A Bison parser, made by GNU Bison 3.0.4.  */

/* Bison interface for Yacc-like parsers in C

   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.

   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */

#ifndef YY_YY_Y_TAB_H_INCLUDED
# define YY_YY_Y_TAB_H_INCLUDED
/* Debug traces.  */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int yydebug;
#endif

/* Token type.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
  enum yytokentype
  {
    AND = 258,
    BAXDEF = 259,
    BGENDEF = 260,
    BSCHEMA = 261,
    BSUP = 262,
    BSYNTAX = 263,
    BZED = 264,
    COCOEQ = 265,
    CROSS = 266,
    DECOR = 267,
    DEFEQ = 268,
    DUMMY = 269,
    EAXDEF = 270,
    EGENDEF = 271,
    EQEQ = 272,
    EQUIV = 273,
    ESCHEMA = 274,
    ESUP = 275,
    ESYNTAX = 276,
    EXISTS = 277,
    EXISTS1 = 278,
    EZED = 279,
    FALSITY = 280,
    FATSEMI = 281,
    FORALL = 282,
    GREEK = 283,
    HIDE = 284,
    IMPLIES = 285,
    IN = 286,
    INGEN = 287,
    INREL = 288,
    LAMBDA = 289,
    LBAG = 290,
    LDATA = 291,
    LET = 292,
    LIMG = 293,
    MU = 294,
    NL = 295,
    NOT = 296,
    NUMBER = 297,
    OR = 298,
    PIPE = 299,
    POWER = 300,
    PRE = 301,
    PROJECT = 302,
    RBAG = 303,
    RDATA = 304,
    RIMG = 305,
    THETA = 306,
    TRUTH = 307,
    UMINUS = 308,
    VDASH = 309,
    WHERE = 310,
    WORD = 311,
    XINGEN = 312,
    XINOP = 313,
    XINREL = 314,
    XPOSTOP = 315,
    XPREGEN = 316,
    XPREREL = 317,
    XABBREV = 318,
    XTAME = 319,
    XPNAME = 320,
    SNAME = 321,
    PREGEN = 322,
    PREREL = 323,
    POSTOP = 324,
    IMAGE = 325,
    STRING = 326,
    LBRACE = 327,
    RBRACE = 328,
    YINREL = 329,
    EDIR = 330,
    IF = 331,
    THEN = 332,
    ELSE = 333,
    LANGLE = 334,
    BIND = 335,
    RANGLE = 336,
    XTOKEN = 337,
    XIGNORE = 338,
    IGNORE = 339,
    XDEBUG = 340,
    XLINE = 341,
    BADTOK = 342,
    APPLY = 343,
    BAG = 344,
    BODY = 345,
    COMP = 346,
    DECL = 347,
    EQUAL = 348,
    EXT = 349,
    GIVEN = 350,
    IDENT = 351,
    INLHS = 352,
    INOP = 353,
    JUST = 354,
    LHS = 355,
    MEMBER = 356,
    NOTHING = 357,
    PRELHS = 358,
    REF = 359,
    SDEF = 360,
    SREF = 361,
    SELECT = 362,
    TEXT = 363,
    SEQ = 364,
    TUPLE = 365,
    CONS = 366,
    DATA = 367,
    ARM = 368,
    BINDING = 369,
    LETDEF = 370,
    PRED = 371,
    AXDEF = 372,
    DEFINE = 373,
    RENAME = 374,
    SHEAD = 375,
    PARA = 376,
    SEXPR = 377,
    SPRED = 378,
    SDECL = 379,
    LETEXPR = 380,
    LETPRED = 381,
    SNOT = 382,
    SAND = 383,
    SOR = 384,
    SIMPLIES = 385,
    SEQUIV = 386,
    SEXISTS = 387,
    SFORALL = 388,
    SEXISTS1 = 389,
    ERROR = 390,
    SET = 391,
    MAX_TOKEN = 392
  };
#endif
/* Tokens.  */
#define AND 258
#define BAXDEF 259
#define BGENDEF 260
#define BSCHEMA 261
#define BSUP 262
#define BSYNTAX 263
#define BZED 264
#define COCOEQ 265
#define CROSS 266
#define DECOR 267
#define DEFEQ 268
#define DUMMY 269
#define EAXDEF 270
#define EGENDEF 271
#define EQEQ 272
#define EQUIV 273
#define ESCHEMA 274
#define ESUP 275
#define ESYNTAX 276
#define EXISTS 277
#define EXISTS1 278
#define EZED 279
#define FALSITY 280
#define FATSEMI 281
#define FORALL 282
#define GREEK 283
#define HIDE 284
#define IMPLIES 285
#define IN 286
#define INGEN 287
#define INREL 288
#define LAMBDA 289
#define LBAG 290
#define LDATA 291
#define LET 292
#define LIMG 293
#define MU 294
#define NL 295
#define NOT 296
#define NUMBER 297
#define OR 298
#define PIPE 299
#define POWER 300
#define PRE 301
#define PROJECT 302
#define RBAG 303
#define RDATA 304
#define RIMG 305
#define THETA 306
#define TRUTH 307
#define UMINUS 308
#define VDASH 309
#define WHERE 310
#define WORD 311
#define XINGEN 312
#define XINOP 313
#define XINREL 314
#define XPOSTOP 315
#define XPREGEN 316
#define XPREREL 317
#define XABBREV 318
#define XTAME 319
#define XPNAME 320
#define SNAME 321
#define PREGEN 322
#define PREREL 323
#define POSTOP 324
#define IMAGE 325
#define STRING 326
#define LBRACE 327
#define RBRACE 328
#define YINREL 329
#define EDIR 330
#define IF 331
#define THEN 332
#define ELSE 333
#define LANGLE 334
#define BIND 335
#define RANGLE 336
#define XTOKEN 337
#define XIGNORE 338
#define IGNORE 339
#define XDEBUG 340
#define XLINE 341
#define BADTOK 342
#define APPLY 343
#define BAG 344
#define BODY 345
#define COMP 346
#define DECL 347
#define EQUAL 348
#define EXT 349
#define GIVEN 350
#define IDENT 351
#define INLHS 352
#define INOP 353
#define JUST 354
#define LHS 355
#define MEMBER 356
#define NOTHING 357
#define PRELHS 358
#define REF 359
#define SDEF 360
#define SREF 361
#define SELECT 362
#define TEXT 363
#define SEQ 364
#define TUPLE 365
#define CONS 366
#define DATA 367
#define ARM 368
#define BINDING 369
#define LETDEF 370
#define PRED 371
#define AXDEF 372
#define DEFINE 373
#define RENAME 374
#define SHEAD 375
#define PARA 376
#define SEXPR 377
#define SPRED 378
#define SDECL 379
#define LETEXPR 380
#define LETPRED 381
#define SNOT 382
#define SAND 383
#define SOR 384
#define SIMPLIES 385
#define SEQUIV 386
#define SEXISTS 387
#define SFORALL 388
#define SEXISTS1 389
#define ERROR 390
#define SET 391
#define MAX_TOKEN 392

/* Value type.  */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif

/* Location type.  */
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE YYLTYPE;
struct YYLTYPE
{
  int first_line;
  int first_column;
  int last_line;
  int last_column;
};
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif


extern YYSTYPE yylval;
extern YYLTYPE yylloc;
int yyparse (void);

#endif /* !YY_YY_Y_TAB_H_INCLUDED  */
