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

/* 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_SWF4_SWF4COMPILER_TAB_H_INCLUDED
# define YY_SWF4_SWF4COMPILER_TAB_H_INCLUDED
/* Debug traces.  */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
#if YYDEBUG
extern int swf4debug;
#endif

/* Token kinds.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
  enum yytokentype
  {
    YYEMPTY = -2,
    YYEOF = 0,                     /* "end of file"  */
    YYerror = 256,                 /* error  */
    YYUNDEF = 257,                 /* "invalid token"  */
    BREAK = 258,                   /* BREAK  */
    FOR = 259,                     /* FOR  */
    CONTINUE = 260,                /* CONTINUE  */
    IF = 261,                      /* IF  */
    ELSE = 262,                    /* ELSE  */
    DO = 263,                      /* DO  */
    WHILE = 264,                   /* WHILE  */
    THIS = 265,                    /* THIS  */
    EVAL = 266,                    /* EVAL  */
    TIME = 267,                    /* TIME  */
    RANDOM = 268,                  /* RANDOM  */
    LENGTH = 269,                  /* LENGTH  */
    INT = 270,                     /* INT  */
    CONCAT = 271,                  /* CONCAT  */
    DUPLICATECLIP = 272,           /* DUPLICATECLIP  */
    REMOVECLIP = 273,              /* REMOVECLIP  */
    TRACE = 274,                   /* TRACE  */
    STARTDRAG = 275,               /* STARTDRAG  */
    STOPDRAG = 276,                /* STOPDRAG  */
    ORD = 277,                     /* ORD  */
    CHR = 278,                     /* CHR  */
    CALLFRAME = 279,               /* CALLFRAME  */
    GETURL = 280,                  /* GETURL  */
    GETURL1 = 281,                 /* GETURL1  */
    LOADMOVIE = 282,               /* LOADMOVIE  */
    LOADMOVIENUM = 283,            /* LOADMOVIENUM  */
    LOADVARIABLES = 284,           /* LOADVARIABLES  */
    POSTURL = 285,                 /* POSTURL  */
    SUBSTR = 286,                  /* SUBSTR  */
    GETPROPERTY = 287,             /* GETPROPERTY  */
    NEXTFRAME = 288,               /* NEXTFRAME  */
    PREVFRAME = 289,               /* PREVFRAME  */
    PLAY = 290,                    /* PLAY  */
    STOP = 291,                    /* STOP  */
    TOGGLEQUALITY = 292,           /* TOGGLEQUALITY  */
    STOPSOUNDS = 293,              /* STOPSOUNDS  */
    GOTOFRAME = 294,               /* GOTOFRAME  */
    GOTOANDPLAY = 295,             /* GOTOANDPLAY  */
    FRAMELOADED = 296,             /* FRAMELOADED  */
    SETTARGET = 297,               /* SETTARGET  */
    ASM = 298,                     /* ASM  */
    ASMADD = 299,                  /* ASMADD  */
    ASMDIVIDE = 300,               /* ASMDIVIDE  */
    ASMMULTIPLY = 301,             /* ASMMULTIPLY  */
    ASMEQUALS = 302,               /* ASMEQUALS  */
    ASMLESS = 303,                 /* ASMLESS  */
    ASMLOGICALAND = 304,           /* ASMLOGICALAND  */
    ASMLOGICALOR = 305,            /* ASMLOGICALOR  */
    ASMLOGICALNOT = 306,           /* ASMLOGICALNOT  */
    ASMSTRINGAND = 307,            /* ASMSTRINGAND  */
    ASMSTRINGEQUALS = 308,         /* ASMSTRINGEQUALS  */
    ASMSTRINGEXTRACT = 309,        /* ASMSTRINGEXTRACT  */
    ASMSTRINGLENGTH = 310,         /* ASMSTRINGLENGTH  */
    ASMMBSTRINGEXTRACT = 311,      /* ASMMBSTRINGEXTRACT  */
    ASMMBSTRINGLENGTH = 312,       /* ASMMBSTRINGLENGTH  */
    ASMPOP = 313,                  /* ASMPOP  */
    ASMPUSH = 314,                 /* ASMPUSH  */
    ASMASCIITOCHAR = 315,          /* ASMASCIITOCHAR  */
    ASMCHARTOASCII = 316,          /* ASMCHARTOASCII  */
    ASMTOINTEGER = 317,            /* ASMTOINTEGER  */
    ASMCALL = 318,                 /* ASMCALL  */
    ASMIF = 319,                   /* ASMIF  */
    ASMJUMP = 320,                 /* ASMJUMP  */
    ASMGETVARIABLE = 321,          /* ASMGETVARIABLE  */
    ASMSETVARIABLE = 322,          /* ASMSETVARIABLE  */
    ASMGETURL2 = 323,              /* ASMGETURL2  */
    ASMGETPROPERTY = 324,          /* ASMGETPROPERTY  */
    ASMGOTOFRAME2 = 325,           /* ASMGOTOFRAME2  */
    ASMREMOVESPRITE = 326,         /* ASMREMOVESPRITE  */
    ASMSETPROPERTY = 327,          /* ASMSETPROPERTY  */
    ASMSETTARGET2 = 328,           /* ASMSETTARGET2  */
    ASMSTARTDRAG = 329,            /* ASMSTARTDRAG  */
    ASMWAITFORFRAME2 = 330,        /* ASMWAITFORFRAME2  */
    ASMCLONESPRITE = 331,          /* ASMCLONESPRITE  */
    ASMENDDRAG = 332,              /* ASMENDDRAG  */
    ASMGETTIME = 333,              /* ASMGETTIME  */
    ASMRANDOMNUMBER = 334,         /* ASMRANDOMNUMBER  */
    ASMTRACE = 335,                /* ASMTRACE  */
    ASMMBASCIITOCHAR = 336,        /* ASMMBASCIITOCHAR  */
    ASMMBCHARTOASCII = 337,        /* ASMMBCHARTOASCII  */
    ASMSUBSTRACT = 338,            /* ASMSUBSTRACT  */
    ASMSTRINGLESS = 339,           /* ASMSTRINGLESS  */
    TELLTARGET = 340,              /* TELLTARGET  */
    BROKENSTRING = 341,            /* BROKENSTRING  */
    STRING = 342,                  /* STRING  */
    NUMBER = 343,                  /* NUMBER  */
    IDENTIFIER = 344,              /* IDENTIFIER  */
    PATH = 345,                    /* PATH  */
    EQ = 346,                      /* "=="  */
    LE = 347,                      /* "<="  */
    GE = 348,                      /* ">="  */
    NE = 349,                      /* "!="  */
    LAN = 350,                     /* "&&"  */
    LOR = 351,                     /* "||"  */
    INC = 352,                     /* "++"  */
    DEC = 353,                     /* "--"  */
    IEQ = 354,                     /* "+="  */
    DEQ = 355,                     /* "/="  */
    MEQ = 356,                     /* "*="  */
    SEQ = 357,                     /* "-="  */
    STREQ = 358,                   /* "==="  */
    STRNE = 359,                   /* "!=="  */
    STRCMP = 360,                  /* "<=>"  */
    PARENT = 361,                  /* ".."  */
    END = 362,                     /* "end"  */
    UMINUS = 363,                  /* UMINUS  */
    POSTFIX = 364,                 /* POSTFIX  */
    NEGATE = 365                   /* NEGATE  */
  };
  typedef enum yytokentype yytoken_kind_t;
#endif
/* Token kinds.  */
#define YYEMPTY -2
#define YYEOF 0
#define YYerror 256
#define YYUNDEF 257
#define BREAK 258
#define FOR 259
#define CONTINUE 260
#define IF 261
#define ELSE 262
#define DO 263
#define WHILE 264
#define THIS 265
#define EVAL 266
#define TIME 267
#define RANDOM 268
#define LENGTH 269
#define INT 270
#define CONCAT 271
#define DUPLICATECLIP 272
#define REMOVECLIP 273
#define TRACE 274
#define STARTDRAG 275
#define STOPDRAG 276
#define ORD 277
#define CHR 278
#define CALLFRAME 279
#define GETURL 280
#define GETURL1 281
#define LOADMOVIE 282
#define LOADMOVIENUM 283
#define LOADVARIABLES 284
#define POSTURL 285
#define SUBSTR 286
#define GETPROPERTY 287
#define NEXTFRAME 288
#define PREVFRAME 289
#define PLAY 290
#define STOP 291
#define TOGGLEQUALITY 292
#define STOPSOUNDS 293
#define GOTOFRAME 294
#define GOTOANDPLAY 295
#define FRAMELOADED 296
#define SETTARGET 297
#define ASM 298
#define ASMADD 299
#define ASMDIVIDE 300
#define ASMMULTIPLY 301
#define ASMEQUALS 302
#define ASMLESS 303
#define ASMLOGICALAND 304
#define ASMLOGICALOR 305
#define ASMLOGICALNOT 306
#define ASMSTRINGAND 307
#define ASMSTRINGEQUALS 308
#define ASMSTRINGEXTRACT 309
#define ASMSTRINGLENGTH 310
#define ASMMBSTRINGEXTRACT 311
#define ASMMBSTRINGLENGTH 312
#define ASMPOP 313
#define ASMPUSH 314
#define ASMASCIITOCHAR 315
#define ASMCHARTOASCII 316
#define ASMTOINTEGER 317
#define ASMCALL 318
#define ASMIF 319
#define ASMJUMP 320
#define ASMGETVARIABLE 321
#define ASMSETVARIABLE 322
#define ASMGETURL2 323
#define ASMGETPROPERTY 324
#define ASMGOTOFRAME2 325
#define ASMREMOVESPRITE 326
#define ASMSETPROPERTY 327
#define ASMSETTARGET2 328
#define ASMSTARTDRAG 329
#define ASMWAITFORFRAME2 330
#define ASMCLONESPRITE 331
#define ASMENDDRAG 332
#define ASMGETTIME 333
#define ASMRANDOMNUMBER 334
#define ASMTRACE 335
#define ASMMBASCIITOCHAR 336
#define ASMMBCHARTOASCII 337
#define ASMSUBSTRACT 338
#define ASMSTRINGLESS 339
#define TELLTARGET 340
#define BROKENSTRING 341
#define STRING 342
#define NUMBER 343
#define IDENTIFIER 344
#define PATH 345
#define EQ 346
#define LE 347
#define GE 348
#define NE 349
#define LAN 350
#define LOR 351
#define INC 352
#define DEC 353
#define IEQ 354
#define DEQ 355
#define MEQ 356
#define SEQ 357
#define STREQ 358
#define STRNE 359
#define STRCMP 360
#define PARENT 361
#define END 362
#define UMINUS 363
#define POSTFIX 364
#define NEGATE 365

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

  Buffer action;
  char *str;
  SWFActionFunction function;
  SWFGetUrl2Method getURLMethod;
  int len;

#line 295 "swf4compiler.tab.h"

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


extern YYSTYPE swf4lval;


int swf4parse (void *buffer);


#endif /* !YY_SWF4_SWF4COMPILER_TAB_H_INCLUDED  */
