/* 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_SWF5_SWF5COMPILER_TAB_H_INCLUDED
# define YY_SWF5_SWF5COMPILER_TAB_H_INCLUDED
/* Debug traces.  */
#ifndef YYDEBUG
# define YYDEBUG 1
#endif
#if YYDEBUG
extern int swf5debug;
#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  */
    CONTINUE = 259,                /* CONTINUE  */
    FUNCTION = 260,                /* FUNCTION  */
    ELSE = 261,                    /* ELSE  */
    SWITCH = 262,                  /* SWITCH  */
    CASE = 263,                    /* CASE  */
    DEFAULT = 264,                 /* DEFAULT  */
    FOR = 265,                     /* FOR  */
    IN = 266,                      /* IN  */
    IF = 267,                      /* IF  */
    WHILE = 268,                   /* WHILE  */
    DO = 269,                      /* DO  */
    VAR = 270,                     /* VAR  */
    NEW = 271,                     /* NEW  */
    DELETE = 272,                  /* DELETE  */
    DELETE2 = 273,                 /* DELETE2  */
    TARGETPATH = 274,              /* TARGETPATH  */
    RETURN = 275,                  /* RETURN  */
    END = 276,                     /* END  */
    WITH = 277,                    /* WITH  */
    ASM = 278,                     /* ASM  */
    EVAL = 279,                    /* EVAL  */
    SWFACTION = 280,               /* SWFACTION  */
    RANDOM = 281,                  /* RANDOM  */
    GETTIMER = 282,                /* GETTIMER  */
    LENGTH = 283,                  /* LENGTH  */
    CONCAT = 284,                  /* CONCAT  */
    SUBSTR = 285,                  /* SUBSTR  */
    TRACE = 286,                   /* TRACE  */
    INT = 287,                     /* INT  */
    ORD = 288,                     /* ORD  */
    CHR = 289,                     /* CHR  */
    GETURL = 290,                  /* GETURL  */
    GETURL1 = 291,                 /* GETURL1  */
    NEXTFRAME = 292,               /* NEXTFRAME  */
    PREVFRAME = 293,               /* PREVFRAME  */
    PLAY = 294,                    /* PLAY  */
    STOP = 295,                    /* STOP  */
    TOGGLEQUALITY = 296,           /* TOGGLEQUALITY  */
    STOPSOUNDS = 297,              /* STOPSOUNDS  */
    DUP = 298,                     /* DUP  */
    SWAP = 299,                    /* SWAP  */
    POP = 300,                     /* POP  */
    PUSH = 301,                    /* PUSH  */
    SETREGISTER = 302,             /* SETREGISTER  */
    CALLFUNCTION = 303,            /* CALLFUNCTION  */
    CALLMETHOD = 304,              /* CALLMETHOD  */
    NEWOBJECT = 305,               /* NEWOBJECT  */
    NEWMETHOD = 306,               /* NEWMETHOD  */
    AND = 307,                     /* AND  */
    OR = 308,                      /* OR  */
    XOR = 309,                     /* XOR  */
    MODULO = 310,                  /* MODULO  */
    ADD = 311,                     /* ADD  */
    LESSTHAN = 312,                /* LESSTHAN  */
    EQUALS = 313,                  /* EQUALS  */
    INC = 314,                     /* INC  */
    DEC = 315,                     /* DEC  */
    TYPEOF = 316,                  /* TYPEOF  */
    INSTANCEOF = 317,              /* INSTANCEOF  */
    ENUMERATE = 318,               /* ENUMERATE  */
    ENUMERATE2 = 319,              /* ENUMERATE2  */
    INITOBJECT = 320,              /* INITOBJECT  */
    INITARRAY = 321,               /* INITARRAY  */
    GETMEMBER = 322,               /* GETMEMBER  */
    SETMEMBER = 323,               /* SETMEMBER  */
    SHIFTLEFT = 324,               /* SHIFTLEFT  */
    SHIFTRIGHT = 325,              /* SHIFTRIGHT  */
    SHIFTRIGHT2 = 326,             /* SHIFTRIGHT2  */
    VAREQUALS = 327,               /* VAREQUALS  */
    OLDADD = 328,                  /* OLDADD  */
    SUBTRACT = 329,                /* SUBTRACT  */
    MULTIPLY = 330,                /* MULTIPLY  */
    DIVIDE = 331,                  /* DIVIDE  */
    OLDEQUALS = 332,               /* OLDEQUALS  */
    OLDLESSTHAN = 333,             /* OLDLESSTHAN  */
    LOGICALAND = 334,              /* LOGICALAND  */
    LOGICALOR = 335,               /* LOGICALOR  */
    NOT = 336,                     /* NOT  */
    STRINGEQ = 337,                /* STRINGEQ  */
    STRINGLENGTH = 338,            /* STRINGLENGTH  */
    SUBSTRING = 339,               /* SUBSTRING  */
    GETVARIABLE = 340,             /* GETVARIABLE  */
    SETVARIABLE = 341,             /* SETVARIABLE  */
    SETTARGETEXPRESSION = 342,     /* SETTARGETEXPRESSION  */
    DUPLICATEMOVIECLIP = 343,      /* DUPLICATEMOVIECLIP  */
    REMOVEMOVIECLIP = 344,         /* REMOVEMOVIECLIP  */
    STRINGLESSTHAN = 345,          /* STRINGLESSTHAN  */
    MBLENGTH = 346,                /* MBLENGTH  */
    MBSUBSTRING = 347,             /* MBSUBSTRING  */
    MBORD = 348,                   /* MBORD  */
    MBCHR = 349,                   /* MBCHR  */
    BRANCHALWAYS = 350,            /* BRANCHALWAYS  */
    BRANCHIFTRUE = 351,            /* BRANCHIFTRUE  */
    GETURL2 = 352,                 /* GETURL2  */
    POST = 353,                    /* POST  */
    GET = 354,                     /* GET  */
    CAST = 355,                    /* CAST  */
    LOADVARIABLES = 356,           /* LOADVARIABLES  */
    LOADMOVIE = 357,               /* LOADMOVIE  */
    LOADVARIABLESNUM = 358,        /* LOADVARIABLESNUM  */
    LOADMOVIENUM = 359,            /* LOADMOVIENUM  */
    CALLFRAME = 360,               /* CALLFRAME  */
    STARTDRAG = 361,               /* STARTDRAG  */
    STOPDRAG = 362,                /* STOPDRAG  */
    GOTOANDSTOP = 363,             /* GOTOANDSTOP  */
    GOTOANDPLAY = 364,             /* GOTOANDPLAY  */
    SETTARGET = 365,               /* SETTARGET  */
    GETPROPERTY = 366,             /* GETPROPERTY  */
    SETPROPERTY = 367,             /* SETPROPERTY  */
    TONUMBER = 368,                /* TONUMBER  */
    TOSTRING = 369,                /* TOSTRING  */
    TRY = 370,                     /* TRY  */
    THROW = 371,                   /* THROW  */
    CATCH = 372,                   /* CATCH  */
    FINALLY = 373,                 /* FINALLY  */
    THIS = 374,                    /* THIS  */
    EXTENDS = 375,                 /* EXTENDS  */
    IMPLEMENTS = 376,              /* IMPLEMENTS  */
    FSCOMMAND2 = 377,              /* FSCOMMAND2  */
    CLASS = 378,                   /* CLASS  */
    PUBLIC = 379,                  /* PUBLIC  */
    PRIVATE = 380,                 /* PRIVATE  */
    NULLVAL = 381,                 /* NULLVAL  */
    UNDEFINED = 382,               /* UNDEFINED  */
    INTEGER = 383,                 /* INTEGER  */
    DOUBLE = 384,                  /* DOUBLE  */
    BOOLEAN = 385,                 /* BOOLEAN  */
    REGISTER = 386,                /* REGISTER  */
    BROKENSTRING = 387,            /* BROKENSTRING  */
    STRING = 388,                  /* STRING  */
    IDENTIFIER = 389,              /* IDENTIFIER  */
    EQ = 390,                      /* "=="  */
    EEQ = 391,                     /* "==="  */
    NEE = 392,                     /* "!=="  */
    LE = 393,                      /* "<="  */
    GE = 394,                      /* ">="  */
    NE = 395,                      /* "!="  */
    LAN = 396,                     /* "&&"  */
    LOR = 397,                     /* "||"  */
    INCR = 398,                    /* "++"  */
    DECR = 399,                    /* "--"  */
    IEQ = 400,                     /* "+="  */
    DEQ = 401,                     /* "/="  */
    MEQ = 402,                     /* "*="  */
    SEQ = 403,                     /* "-="  */
    REQ = 404,                     /* "%="  */
    AEQ = 405,                     /* "&="  */
    OEQ = 406,                     /* "|="  */
    SHL = 407,                     /* "<<"  */
    SHR = 408,                     /* ">>"  */
    SHR2 = 409,                    /* ">>>"  */
    SHLEQ = 410,                   /* "<<="  */
    SHREQ = 411,                   /* ">>="  */
    SHR2EQ = 412,                  /* ">>>="  */
    _P_X = 413,                    /* _P_X  */
    _P_Y = 414,                    /* _P_Y  */
    _P_XSCALE = 415,               /* _P_XSCALE  */
    _P_YSCALE = 416,               /* _P_YSCALE  */
    _P_CURRENTFRAME = 417,         /* _P_CURRENTFRAME  */
    _P_TOTALFRAMES = 418,          /* _P_TOTALFRAMES  */
    _P_ALPHA = 419,                /* _P_ALPHA  */
    _P_VISIBLE = 420,              /* _P_VISIBLE  */
    _P_WIDTH = 421,                /* _P_WIDTH  */
    _P_HEIGHT = 422,               /* _P_HEIGHT  */
    _P_ROTATION = 423,             /* _P_ROTATION  */
    _P_TARGET = 424,               /* _P_TARGET  */
    _P_FRAMESLOADED = 425,         /* _P_FRAMESLOADED  */
    _P_NAME = 426,                 /* _P_NAME  */
    _P_DROPTARGET = 427,           /* _P_DROPTARGET  */
    _P_URL = 428,                  /* _P_URL  */
    _P_HIGHQUALITY = 429,          /* _P_HIGHQUALITY  */
    _P_FOCUSRECT = 430,            /* _P_FOCUSRECT  */
    _P_SOUNDBUFTIME = 431,         /* _P_SOUNDBUFTIME  */
    _P_QUALITY = 432,              /* _P_QUALITY  */
    _P_XMOUSE = 433,               /* _P_XMOUSE  */
    _P_YMOUSE = 434,               /* _P_YMOUSE  */
    NOELSE = 435,                  /* NOELSE  */
    UMINUS = 437,                  /* UMINUS  */
    POSTFIX = 438                  /* POSTFIX  */
  };
  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 CONTINUE 259
#define FUNCTION 260
#define ELSE 261
#define SWITCH 262
#define CASE 263
#define DEFAULT 264
#define FOR 265
#define IN 266
#define IF 267
#define WHILE 268
#define DO 269
#define VAR 270
#define NEW 271
#define DELETE 272
#define DELETE2 273
#define TARGETPATH 274
#define RETURN 275
#define END 276
#define WITH 277
#define ASM 278
#define EVAL 279
#define SWFACTION 280
#define RANDOM 281
#define GETTIMER 282
#define LENGTH 283
#define CONCAT 284
#define SUBSTR 285
#define TRACE 286
#define INT 287
#define ORD 288
#define CHR 289
#define GETURL 290
#define GETURL1 291
#define NEXTFRAME 292
#define PREVFRAME 293
#define PLAY 294
#define STOP 295
#define TOGGLEQUALITY 296
#define STOPSOUNDS 297
#define DUP 298
#define SWAP 299
#define POP 300
#define PUSH 301
#define SETREGISTER 302
#define CALLFUNCTION 303
#define CALLMETHOD 304
#define NEWOBJECT 305
#define NEWMETHOD 306
#define AND 307
#define OR 308
#define XOR 309
#define MODULO 310
#define ADD 311
#define LESSTHAN 312
#define EQUALS 313
#define INC 314
#define DEC 315
#define TYPEOF 316
#define INSTANCEOF 317
#define ENUMERATE 318
#define ENUMERATE2 319
#define INITOBJECT 320
#define INITARRAY 321
#define GETMEMBER 322
#define SETMEMBER 323
#define SHIFTLEFT 324
#define SHIFTRIGHT 325
#define SHIFTRIGHT2 326
#define VAREQUALS 327
#define OLDADD 328
#define SUBTRACT 329
#define MULTIPLY 330
#define DIVIDE 331
#define OLDEQUALS 332
#define OLDLESSTHAN 333
#define LOGICALAND 334
#define LOGICALOR 335
#define NOT 336
#define STRINGEQ 337
#define STRINGLENGTH 338
#define SUBSTRING 339
#define GETVARIABLE 340
#define SETVARIABLE 341
#define SETTARGETEXPRESSION 342
#define DUPLICATEMOVIECLIP 343
#define REMOVEMOVIECLIP 344
#define STRINGLESSTHAN 345
#define MBLENGTH 346
#define MBSUBSTRING 347
#define MBORD 348
#define MBCHR 349
#define BRANCHALWAYS 350
#define BRANCHIFTRUE 351
#define GETURL2 352
#define POST 353
#define GET 354
#define CAST 355
#define LOADVARIABLES 356
#define LOADMOVIE 357
#define LOADVARIABLESNUM 358
#define LOADMOVIENUM 359
#define CALLFRAME 360
#define STARTDRAG 361
#define STOPDRAG 362
#define GOTOANDSTOP 363
#define GOTOANDPLAY 364
#define SETTARGET 365
#define GETPROPERTY 366
#define SETPROPERTY 367
#define TONUMBER 368
#define TOSTRING 369
#define TRY 370
#define THROW 371
#define CATCH 372
#define FINALLY 373
#define THIS 374
#define EXTENDS 375
#define IMPLEMENTS 376
#define FSCOMMAND2 377
#define CLASS 378
#define PUBLIC 379
#define PRIVATE 380
#define NULLVAL 381
#define UNDEFINED 382
#define INTEGER 383
#define DOUBLE 384
#define BOOLEAN 385
#define REGISTER 386
#define BROKENSTRING 387
#define STRING 388
#define IDENTIFIER 389
#define EQ 390
#define EEQ 391
#define NEE 392
#define LE 393
#define GE 394
#define NE 395
#define LAN 396
#define LOR 397
#define INCR 398
#define DECR 399
#define IEQ 400
#define DEQ 401
#define MEQ 402
#define SEQ 403
#define REQ 404
#define AEQ 405
#define OEQ 406
#define SHL 407
#define SHR 408
#define SHR2 409
#define SHLEQ 410
#define SHREQ 411
#define SHR2EQ 412
#define _P_X 413
#define _P_Y 414
#define _P_XSCALE 415
#define _P_YSCALE 416
#define _P_CURRENTFRAME 417
#define _P_TOTALFRAMES 418
#define _P_ALPHA 419
#define _P_VISIBLE 420
#define _P_WIDTH 421
#define _P_HEIGHT 422
#define _P_ROTATION 423
#define _P_TARGET 424
#define _P_FRAMESLOADED 425
#define _P_NAME 426
#define _P_DROPTARGET 427
#define _P_URL 428
#define _P_HIGHQUALITY 429
#define _P_FOCUSRECT 430
#define _P_SOUNDBUFTIME 431
#define _P_QUALITY 432
#define _P_XMOUSE 433
#define _P_YMOUSE 434
#define NOELSE 435
#define UMINUS 437
#define POSTFIX 438

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

  Buffer action;
  char *str;
  SWFGetUrl2Method getURLMethod;
  int op;
  int intVal;
  int len;
  double doubleVal;
  ASFunction 		function;
  ASClass		clazz;
  ASClassMember		classMember;
  struct exprlist_s 	exprlist;
  struct switchcase	switchcase;
  struct switchcases	switchcases;
  struct
  {
	Buffer obj, ident, memexpr;
  } lval;

#line 451 "swf5compiler.tab.h"

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


extern YYSTYPE swf5lval;


int swf5parse (void *buffer);


#endif /* !YY_SWF5_SWF5COMPILER_TAB_H_INCLUDED  */
