blob: ad965a6afce3932c74ecf126c63df1b05efd87ab [file] [log] [blame]
/* A Bison parser, made by GNU Bison 2.1. */
/* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 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, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 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 {
BYTEOP16P = 258,
BYTEOP16M = 259,
BYTEOP1P = 260,
BYTEOP2P = 261,
BYTEOP2M = 262,
BYTEOP3P = 263,
BYTEUNPACK = 264,
BYTEPACK = 265,
PACK = 266,
SAA = 267,
ALIGN8 = 268,
ALIGN16 = 269,
ALIGN24 = 270,
VIT_MAX = 271,
EXTRACT = 272,
DEPOSIT = 273,
EXPADJ = 274,
SEARCH = 275,
ONES = 276,
SIGN = 277,
SIGNBITS = 278,
LINK = 279,
UNLINK = 280,
REG = 281,
PC = 282,
CCREG = 283,
BYTE_DREG = 284,
REG_A_DOUBLE_ZERO = 285,
REG_A_DOUBLE_ONE = 286,
A_ZERO_DOT_L = 287,
A_ZERO_DOT_H = 288,
A_ONE_DOT_L = 289,
A_ONE_DOT_H = 290,
HALF_REG = 291,
NOP = 292,
RTI = 293,
RTS = 294,
RTX = 295,
RTN = 296,
RTE = 297,
HLT = 298,
IDLE = 299,
STI = 300,
CLI = 301,
CSYNC = 302,
SSYNC = 303,
EMUEXCPT = 304,
RAISE = 305,
EXCPT = 306,
LSETUP = 307,
LOOP = 308,
LOOP_BEGIN = 309,
LOOP_END = 310,
DISALGNEXCPT = 311,
JUMP = 312,
JUMP_DOT_S = 313,
JUMP_DOT_L = 314,
CALL = 315,
ABORT = 316,
NOT = 317,
TILDA = 318,
BANG = 319,
AMPERSAND = 320,
BAR = 321,
PERCENT = 322,
CARET = 323,
BXOR = 324,
MINUS = 325,
PLUS = 326,
STAR = 327,
SLASH = 328,
NEG = 329,
MIN = 330,
MAX = 331,
ABS = 332,
DOUBLE_BAR = 333,
_PLUS_BAR_PLUS = 334,
_PLUS_BAR_MINUS = 335,
_MINUS_BAR_PLUS = 336,
_MINUS_BAR_MINUS = 337,
_MINUS_MINUS = 338,
_PLUS_PLUS = 339,
SHIFT = 340,
LSHIFT = 341,
ASHIFT = 342,
BXORSHIFT = 343,
_GREATER_GREATER_GREATER_THAN_ASSIGN = 344,
ROT = 345,
LESS_LESS = 346,
GREATER_GREATER = 347,
_GREATER_GREATER_GREATER = 348,
_LESS_LESS_ASSIGN = 349,
_GREATER_GREATER_ASSIGN = 350,
DIVS = 351,
DIVQ = 352,
ASSIGN = 353,
_STAR_ASSIGN = 354,
_BAR_ASSIGN = 355,
_CARET_ASSIGN = 356,
_AMPERSAND_ASSIGN = 357,
_MINUS_ASSIGN = 358,
_PLUS_ASSIGN = 359,
_ASSIGN_BANG = 360,
_LESS_THAN_ASSIGN = 361,
_ASSIGN_ASSIGN = 362,
GE = 363,
LT = 364,
LE = 365,
GT = 366,
LESS_THAN = 367,
FLUSHINV = 368,
FLUSH = 369,
IFLUSH = 370,
PREFETCH = 371,
PRNT = 372,
OUTC = 373,
WHATREG = 374,
TESTSET = 375,
ASL = 376,
ASR = 377,
B = 378,
W = 379,
NS = 380,
S = 381,
CO = 382,
SCO = 383,
TH = 384,
TL = 385,
BP = 386,
BREV = 387,
X = 388,
Z = 389,
M = 390,
MMOD = 391,
R = 392,
RND = 393,
RNDL = 394,
RNDH = 395,
RND12 = 396,
RND20 = 397,
V = 398,
LO = 399,
HI = 400,
BITTGL = 401,
BITCLR = 402,
BITSET = 403,
BITTST = 404,
BITMUX = 405,
DBGAL = 406,
DBGAH = 407,
DBGHALT = 408,
DBG = 409,
DBGA = 410,
DBGCMPLX = 411,
IF = 412,
COMMA = 413,
BY = 414,
COLON = 415,
SEMICOLON = 416,
RPAREN = 417,
LPAREN = 418,
LBRACK = 419,
RBRACK = 420,
STATUS_REG = 421,
MNOP = 422,
SYMBOL = 423,
NUMBER = 424,
GOT = 425,
GOT17M4 = 426,
FUNCDESC_GOT17M4 = 427,
AT = 428,
PLTPC = 429
};
#endif
/* Tokens. */
#define BYTEOP16P 258
#define BYTEOP16M 259
#define BYTEOP1P 260
#define BYTEOP2P 261
#define BYTEOP2M 262
#define BYTEOP3P 263
#define BYTEUNPACK 264
#define BYTEPACK 265
#define PACK 266
#define SAA 267
#define ALIGN8 268
#define ALIGN16 269
#define ALIGN24 270
#define VIT_MAX 271
#define EXTRACT 272
#define DEPOSIT 273
#define EXPADJ 274
#define SEARCH 275
#define ONES 276
#define SIGN 277
#define SIGNBITS 278
#define LINK 279
#define UNLINK 280
#define REG 281
#define PC 282
#define CCREG 283
#define BYTE_DREG 284
#define REG_A_DOUBLE_ZERO 285
#define REG_A_DOUBLE_ONE 286
#define A_ZERO_DOT_L 287
#define A_ZERO_DOT_H 288
#define A_ONE_DOT_L 289
#define A_ONE_DOT_H 290
#define HALF_REG 291
#define NOP 292
#define RTI 293
#define RTS 294
#define RTX 295
#define RTN 296
#define RTE 297
#define HLT 298
#define IDLE 299
#define STI 300
#define CLI 301
#define CSYNC 302
#define SSYNC 303
#define EMUEXCPT 304
#define RAISE 305
#define EXCPT 306
#define LSETUP 307
#define LOOP 308
#define LOOP_BEGIN 309
#define LOOP_END 310
#define DISALGNEXCPT 311
#define JUMP 312
#define JUMP_DOT_S 313
#define JUMP_DOT_L 314
#define CALL 315
#define ABORT 316
#define NOT 317
#define TILDA 318
#define BANG 319
#define AMPERSAND 320
#define BAR 321
#define PERCENT 322
#define CARET 323
#define BXOR 324
#define MINUS 325
#define PLUS 326
#define STAR 327
#define SLASH 328
#define NEG 329
#define MIN 330
#define MAX 331
#define ABS 332
#define DOUBLE_BAR 333
#define _PLUS_BAR_PLUS 334
#define _PLUS_BAR_MINUS 335
#define _MINUS_BAR_PLUS 336
#define _MINUS_BAR_MINUS 337
#define _MINUS_MINUS 338
#define _PLUS_PLUS 339
#define SHIFT 340
#define LSHIFT 341
#define ASHIFT 342
#define BXORSHIFT 343
#define _GREATER_GREATER_GREATER_THAN_ASSIGN 344
#define ROT 345
#define LESS_LESS 346
#define GREATER_GREATER 347
#define _GREATER_GREATER_GREATER 348
#define _LESS_LESS_ASSIGN 349
#define _GREATER_GREATER_ASSIGN 350
#define DIVS 351
#define DIVQ 352
#define ASSIGN 353
#define _STAR_ASSIGN 354
#define _BAR_ASSIGN 355
#define _CARET_ASSIGN 356
#define _AMPERSAND_ASSIGN 357
#define _MINUS_ASSIGN 358
#define _PLUS_ASSIGN 359
#define _ASSIGN_BANG 360
#define _LESS_THAN_ASSIGN 361
#define _ASSIGN_ASSIGN 362
#define GE 363
#define LT 364
#define LE 365
#define GT 366
#define LESS_THAN 367
#define FLUSHINV 368
#define FLUSH 369
#define IFLUSH 370
#define PREFETCH 371
#define PRNT 372
#define OUTC 373
#define WHATREG 374
#define TESTSET 375
#define ASL 376
#define ASR 377
#define B 378
#define W 379
#define NS 380
#define S 381
#define CO 382
#define SCO 383
#define TH 384
#define TL 385
#define BP 386
#define BREV 387
#define X 388
#define Z 389
#define M 390
#define MMOD 391
#define R 392
#define RND 393
#define RNDL 394
#define RNDH 395
#define RND12 396
#define RND20 397
#define V 398
#define LO 399
#define HI 400
#define BITTGL 401
#define BITCLR 402
#define BITSET 403
#define BITTST 404
#define BITMUX 405
#define DBGAL 406
#define DBGAH 407
#define DBGHALT 408
#define DBG 409
#define DBGA 410
#define DBGCMPLX 411
#define IF 412
#define COMMA 413
#define BY 414
#define COLON 415
#define SEMICOLON 416
#define RPAREN 417
#define LPAREN 418
#define LBRACK 419
#define RBRACK 420
#define STATUS_REG 421
#define MNOP 422
#define SYMBOL 423
#define NUMBER 424
#define GOT 425
#define GOT17M4 426
#define FUNCDESC_GOT17M4 427
#define AT 428
#define PLTPC 429
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#line 390 "bfin-parse.y"
typedef union YYSTYPE {
INSTR_T instr;
Expr_Node *expr;
SYMBOL_T symbol;
long value;
Register reg;
Macfunc macfunc;
struct { int r0; int s0; int x0; int aop; } modcodes;
struct { int r0; } r0;
Opt_mode mod;
} YYSTYPE;
/* Line 1447 of yacc.c. */
#line 398 "bfin-parse.h"
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif
extern YYSTYPE yylval;