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

/* Bison interface for Yacc-like parsers in C

   Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 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 <https://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.  */

/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
   especially those whose name start with YY_ or yy_.  They are
   private implementation details that can be changed or removed.  */

#ifndef YY_DVDVM_DVDVMY_H_INCLUDED
# define YY_DVDVM_DVDVMY_H_INCLUDED
/* Debug traces.  */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int dvdvmdebug;
#endif

/* Token kinds.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
  enum yytokentype
  {
    YYEMPTY = -2,
    YYEOF = 0,                     /* "end of file"  */
    YYerror = 256,                 /* error  */
    YYUNDEF = 257,                 /* "invalid token"  */
    NUM_TOK = 258,                 /* NUM_TOK  */
    G_TOK = 259,                   /* G_TOK  */
    S_TOK = 260,                   /* S_TOK  */
    ID_TOK = 261,                  /* ID_TOK  */
    ANGLE_TOK = 262,               /* ANGLE_TOK  */
    AUDIO_TOK = 263,               /* AUDIO_TOK  */
    BREAK_TOK = 264,               /* BREAK_TOK  */
    BUTTON_TOK = 265,              /* BUTTON_TOK  */
    CALL_TOK = 266,                /* CALL_TOK  */
    CELL_TOK = 267,                /* CELL_TOK  */
    CHAPTER_TOK = 268,             /* CHAPTER_TOK  */
    CLOSEBRACE_TOK = 269,          /* CLOSEBRACE_TOK  */
    CLOSEPAREN_TOK = 270,          /* CLOSEPAREN_TOK  */
    COUNTER_TOK = 271,             /* COUNTER_TOK  */
    ELSE_TOK = 272,                /* ELSE_TOK  */
    ENTRY_TOK = 273,               /* ENTRY_TOK  */
    EXIT_TOK = 274,                /* EXIT_TOK  */
    FPC_TOK = 275,                 /* FPC_TOK  */
    GOTO_TOK = 276,                /* GOTO_TOK  */
    IF_TOK = 277,                  /* IF_TOK  */
    JUMP_TOK = 278,                /* JUMP_TOK  */
    LAST_TOK = 279,                /* LAST_TOK  */
    MENU_TOK = 280,                /* MENU_TOK  */
    NEXT_TOK = 281,                /* NEXT_TOK  */
    OPENBRACE_TOK = 282,           /* OPENBRACE_TOK  */
    OPENPAREN_TOK = 283,           /* OPENPAREN_TOK  */
    PGC_TOK = 284,                 /* PGC_TOK  */
    PREV_TOK = 285,                /* PREV_TOK  */
    PROGRAM_TOK = 286,             /* PROGRAM_TOK  */
    PTT_TOK = 287,                 /* PTT_TOK  */
    REGION_TOK = 288,              /* REGION_TOK  */
    RESUME_TOK = 289,              /* RESUME_TOK  */
    RND_TOK = 290,                 /* RND_TOK  */
    ROOT_TOK = 291,                /* ROOT_TOK  */
    SET_TOK = 292,                 /* SET_TOK  */
    SUBTITLE_TOK = 293,            /* SUBTITLE_TOK  */
    TAIL_TOK = 294,                /* TAIL_TOK  */
    TITLE_TOK = 295,               /* TITLE_TOK  */
    TITLESET_TOK = 296,            /* TITLESET_TOK  */
    TOP_TOK = 297,                 /* TOP_TOK  */
    UP_TOK = 298,                  /* UP_TOK  */
    VMGM_TOK = 299,                /* VMGM_TOK  */
    _OR_TOK = 300,                 /* _OR_TOK  */
    XOR_TOK = 301,                 /* XOR_TOK  */
    LOR_TOK = 302,                 /* LOR_TOK  */
    BOR_TOK = 303,                 /* BOR_TOK  */
    _AND_TOK = 304,                /* _AND_TOK  */
    LAND_TOK = 305,                /* LAND_TOK  */
    BAND_TOK = 306,                /* BAND_TOK  */
    NOT_TOK = 307,                 /* NOT_TOK  */
    EQ_TOK = 308,                  /* EQ_TOK  */
    NE_TOK = 309,                  /* NE_TOK  */
    GE_TOK = 310,                  /* GE_TOK  */
    GT_TOK = 311,                  /* GT_TOK  */
    LE_TOK = 312,                  /* LE_TOK  */
    LT_TOK = 313,                  /* LT_TOK  */
    ADD_TOK = 314,                 /* ADD_TOK  */
    SUB_TOK = 315,                 /* SUB_TOK  */
    MUL_TOK = 316,                 /* MUL_TOK  */
    DIV_TOK = 317,                 /* DIV_TOK  */
    MOD_TOK = 318,                 /* MOD_TOK  */
    ADDSET_TOK = 319,              /* ADDSET_TOK  */
    SUBSET_TOK = 320,              /* SUBSET_TOK  */
    MULSET_TOK = 321,              /* MULSET_TOK  */
    DIVSET_TOK = 322,              /* DIVSET_TOK  */
    MODSET_TOK = 323,              /* MODSET_TOK  */
    ANDSET_TOK = 324,              /* ANDSET_TOK  */
    ORSET_TOK = 325,               /* ORSET_TOK  */
    XORSET_TOK = 326,              /* XORSET_TOK  */
    SEMICOLON_TOK = 327,           /* SEMICOLON_TOK  */
    COLON_TOK = 328,               /* COLON_TOK  */
    ERROR_TOK = 329                /* ERROR_TOK  */
  };
  typedef enum yytokentype yytoken_kind_t;
#endif
/* Token kinds.  */
#define YYEMPTY -2
#define YYEOF 0
#define YYerror 256
#define YYUNDEF 257
#define NUM_TOK 258
#define G_TOK 259
#define S_TOK 260
#define ID_TOK 261
#define ANGLE_TOK 262
#define AUDIO_TOK 263
#define BREAK_TOK 264
#define BUTTON_TOK 265
#define CALL_TOK 266
#define CELL_TOK 267
#define CHAPTER_TOK 268
#define CLOSEBRACE_TOK 269
#define CLOSEPAREN_TOK 270
#define COUNTER_TOK 271
#define ELSE_TOK 272
#define ENTRY_TOK 273
#define EXIT_TOK 274
#define FPC_TOK 275
#define GOTO_TOK 276
#define IF_TOK 277
#define JUMP_TOK 278
#define LAST_TOK 279
#define MENU_TOK 280
#define NEXT_TOK 281
#define OPENBRACE_TOK 282
#define OPENPAREN_TOK 283
#define PGC_TOK 284
#define PREV_TOK 285
#define PROGRAM_TOK 286
#define PTT_TOK 287
#define REGION_TOK 288
#define RESUME_TOK 289
#define RND_TOK 290
#define ROOT_TOK 291
#define SET_TOK 292
#define SUBTITLE_TOK 293
#define TAIL_TOK 294
#define TITLE_TOK 295
#define TITLESET_TOK 296
#define TOP_TOK 297
#define UP_TOK 298
#define VMGM_TOK 299
#define _OR_TOK 300
#define XOR_TOK 301
#define LOR_TOK 302
#define BOR_TOK 303
#define _AND_TOK 304
#define LAND_TOK 305
#define BAND_TOK 306
#define NOT_TOK 307
#define EQ_TOK 308
#define NE_TOK 309
#define GE_TOK 310
#define GT_TOK 311
#define LE_TOK 312
#define LT_TOK 313
#define ADD_TOK 314
#define SUB_TOK 315
#define MUL_TOK 316
#define DIV_TOK 317
#define MOD_TOK 318
#define ADDSET_TOK 319
#define SUBSET_TOK 320
#define MULSET_TOK 321
#define DIVSET_TOK 322
#define MODSET_TOK 323
#define ANDSET_TOK 324
#define ORSET_TOK 325
#define XORSET_TOK 326
#define SEMICOLON_TOK 327
#define COLON_TOK 328
#define ERROR_TOK 329

/* Value type.  */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
union YYSTYPE
{
#line 92 "dvdvmy.y"

    unsigned int int_val;
    char *str_val;
    struct vm_statement *statement;

#line 221 "dvdvmy.h"

};
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
#endif


extern YYSTYPE dvdvmlval;

int dvdvmparse (void);

#endif /* !YY_DVDVM_DVDVMY_H_INCLUDED  */
