mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-27 07:31:35 +00:00
417 lines
8.9 KiB
C
417 lines
8.9 KiB
C
/* 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 {
|
|
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
|
|
typedef union YYSTYPE
|
|
#line 407 "bfin-parse.y"
|
|
{
|
|
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;
|
|
}
|
|
/* Line 1529 of yacc.c. */
|
|
#line 409 "bfin-parse.h"
|
|
YYSTYPE;
|
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
# define YYSTYPE_IS_DECLARED 1
|
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
#endif
|
|
|
|
extern YYSTYPE yylval;
|
|
|