/* ex: set ro ft=c:
 * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 *
 * This file is generated automatically from 'compilers/imcc/imcc.y'
 * by tools/build/fixup_gen_file.pl.
 *
 * Any changes made here will be lost!
 *
 */
/* HEADERIZER HFILE: none */
/* HEADERIZER STOP */
/* A Bison parser, made by GNU Bison 2.3.  */

/* Skeleton interface for Bison's Yacc-like parsers in C

   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   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 2, 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, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */

/* 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.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     LOW_PREC = 258,
     PARAM = 259,
     HLL = 260,
     HLL_MAP = 261,
     GOTO = 262,
     ARG = 263,
     IF = 264,
     UNLESS = 265,
     PNULL = 266,
     ADV_FLAT = 267,
     ADV_SLURPY = 268,
     ADV_OPTIONAL = 269,
     ADV_OPT_FLAG = 270,
     ADV_NAMED = 271,
     ADV_ARROW = 272,
     NEW = 273,
     ADV_INVOCANT = 274,
     NAMESPACE = 275,
     ENDNAMESPACE = 276,
     DOT_METHOD = 277,
     SUB = 278,
     SYM = 279,
     LOCAL = 280,
     LEXICAL = 281,
     CONST = 282,
     INC = 283,
     DEC = 284,
     GLOBAL_CONST = 285,
     PLUS_ASSIGN = 286,
     MINUS_ASSIGN = 287,
     MUL_ASSIGN = 288,
     DIV_ASSIGN = 289,
     CONCAT_ASSIGN = 290,
     BAND_ASSIGN = 291,
     BOR_ASSIGN = 292,
     BXOR_ASSIGN = 293,
     FDIV = 294,
     FDIV_ASSIGN = 295,
     MOD_ASSIGN = 296,
     SHR_ASSIGN = 297,
     SHL_ASSIGN = 298,
     SHR_U_ASSIGN = 299,
     SHIFT_LEFT = 300,
     SHIFT_RIGHT = 301,
     INTV = 302,
     FLOATV = 303,
     STRINGV = 304,
     PMCV = 305,
     LOG_XOR = 306,
     RELOP_EQ = 307,
     RELOP_NE = 308,
     RELOP_GT = 309,
     RELOP_GTE = 310,
     RELOP_LT = 311,
     RELOP_LTE = 312,
     GLOBALOP = 313,
     RESULT = 314,
     RETURN = 315,
     TAILCALL = 316,
     YIELDT = 317,
     GET_RESULTS = 318,
     POW = 319,
     SHIFT_RIGHT_U = 320,
     LOG_AND = 321,
     LOG_OR = 322,
     COMMA = 323,
     ESUB = 324,
     DOTDOT = 325,
     PCC_BEGIN = 326,
     PCC_END = 327,
     PCC_CALL = 328,
     PCC_SUB = 329,
     PCC_BEGIN_RETURN = 330,
     PCC_END_RETURN = 331,
     PCC_BEGIN_YIELD = 332,
     PCC_END_YIELD = 333,
     NCI_CALL = 334,
     METH_CALL = 335,
     INVOCANT = 336,
     MAIN = 337,
     LOAD = 338,
     INIT = 339,
     IMMEDIATE = 340,
     POSTCOMP = 341,
     METHOD = 342,
     ANON = 343,
     OUTER = 344,
     NEED_LEX = 345,
     MULTI = 346,
     VTABLE_METHOD = 347,
     LOADLIB = 348,
     SUB_INSTANCE_OF = 349,
     SUB_LEXID = 350,
     UNIQUE_REG = 351,
     LABEL = 352,
     EMIT = 353,
     EOM = 354,
     IREG = 355,
     NREG = 356,
     SREG = 357,
     PREG = 358,
     IDENTIFIER = 359,
     REG = 360,
     MACRO = 361,
     ENDM = 362,
     STRINGC = 363,
     INTC = 364,
     FLOATC = 365,
     USTRINGC = 366,
     PARROT_OP = 367,
     VAR = 368,
     LINECOMMENT = 369,
     FILECOMMENT = 370,
     DOT = 371,
     CONCAT = 372
   };
#endif
/* Tokens.  */
#define LOW_PREC 258
#define PARAM 259
#define HLL 260
#define HLL_MAP 261
#define GOTO 262
#define ARG 263
#define IF 264
#define UNLESS 265
#define PNULL 266
#define ADV_FLAT 267
#define ADV_SLURPY 268
#define ADV_OPTIONAL 269
#define ADV_OPT_FLAG 270
#define ADV_NAMED 271
#define ADV_ARROW 272
#define NEW 273
#define ADV_INVOCANT 274
#define NAMESPACE 275
#define ENDNAMESPACE 276
#define DOT_METHOD 277
#define SUB 278
#define SYM 279
#define LOCAL 280
#define LEXICAL 281
#define CONST 282
#define INC 283
#define DEC 284
#define GLOBAL_CONST 285
#define PLUS_ASSIGN 286
#define MINUS_ASSIGN 287
#define MUL_ASSIGN 288
#define DIV_ASSIGN 289
#define CONCAT_ASSIGN 290
#define BAND_ASSIGN 291
#define BOR_ASSIGN 292
#define BXOR_ASSIGN 293
#define FDIV 294
#define FDIV_ASSIGN 295
#define MOD_ASSIGN 296
#define SHR_ASSIGN 297
#define SHL_ASSIGN 298
#define SHR_U_ASSIGN 299
#define SHIFT_LEFT 300
#define SHIFT_RIGHT 301
#define INTV 302
#define FLOATV 303
#define STRINGV 304
#define PMCV 305
#define LOG_XOR 306
#define RELOP_EQ 307
#define RELOP_NE 308
#define RELOP_GT 309
#define RELOP_GTE 310
#define RELOP_LT 311
#define RELOP_LTE 312
#define GLOBALOP 313
#define RESULT 314
#define RETURN 315
#define TAILCALL 316
#define YIELDT 317
#define GET_RESULTS 318
#define POW 319
#define SHIFT_RIGHT_U 320
#define LOG_AND 321
#define LOG_OR 322
#define COMMA 323
#define ESUB 324
#define DOTDOT 325
#define PCC_BEGIN 326
#define PCC_END 327
#define PCC_CALL 328
#define PCC_SUB 329
#define PCC_BEGIN_RETURN 330
#define PCC_END_RETURN 331
#define PCC_BEGIN_YIELD 332
#define PCC_END_YIELD 333
#define NCI_CALL 334
#define METH_CALL 335
#define INVOCANT 336
#define MAIN 337
#define LOAD 338
#define INIT 339
#define IMMEDIATE 340
#define POSTCOMP 341
#define METHOD 342
#define ANON 343
#define OUTER 344
#define NEED_LEX 345
#define MULTI 346
#define VTABLE_METHOD 347
#define LOADLIB 348
#define SUB_INSTANCE_OF 349
#define SUB_LEXID 350
#define UNIQUE_REG 351
#define LABEL 352
#define EMIT 353
#define EOM 354
#define IREG 355
#define NREG 356
#define SREG 357
#define PREG 358
#define IDENTIFIER 359
#define REG 360
#define MACRO 361
#define ENDM 362
#define STRINGC 363
#define INTC 364
#define FLOATC 365
#define USTRINGC 366
#define PARROT_OP 367
#define VAR 368
#define LINECOMMENT 369
#define FILECOMMENT 370
#define DOT 371
#define CONCAT 372




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 687 "compilers/imcc/imcc.y"
{
    IdList * idlist;
    int t;
    char * s;
    SymReg * sr;
    Instruction *i;
}
/* Line 1489 of yacc.c.  */
#line 291 "compilers/imcc/imcparser.h"
	YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif



