| /* 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, |
| BYTEOP3P = 262, |
| BYTEUNPACK = 263, |
| BYTEPACK = 264, |
| PACK = 265, |
| SAA = 266, |
| ALIGN8 = 267, |
| ALIGN16 = 268, |
| ALIGN24 = 269, |
| VIT_MAX = 270, |
| EXTRACT = 271, |
| DEPOSIT = 272, |
| EXPADJ = 273, |
| SEARCH = 274, |
| ONES = 275, |
| SIGN = 276, |
| SIGNBITS = 277, |
| LINK = 278, |
| UNLINK = 279, |
| REG = 280, |
| PC = 281, |
| CCREG = 282, |
| BYTE_DREG = 283, |
| REG_A_DOUBLE_ZERO = 284, |
| REG_A_DOUBLE_ONE = 285, |
| A_ZERO_DOT_L = 286, |
| A_ZERO_DOT_H = 287, |
| A_ONE_DOT_L = 288, |
| A_ONE_DOT_H = 289, |
| HALF_REG = 290, |
| NOP = 291, |
| RTI = 292, |
| RTS = 293, |
| RTX = 294, |
| RTN = 295, |
| RTE = 296, |
| HLT = 297, |
| IDLE = 298, |
| STI = 299, |
| CLI = 300, |
| CSYNC = 301, |
| SSYNC = 302, |
| EMUEXCPT = 303, |
| RAISE = 304, |
| EXCPT = 305, |
| LSETUP = 306, |
| LOOP = 307, |
| LOOP_BEGIN = 308, |
| LOOP_END = 309, |
| DISALGNEXCPT = 310, |
| JUMP = 311, |
| JUMP_DOT_S = 312, |
| JUMP_DOT_L = 313, |
| CALL = 314, |
| ABORT = 315, |
| NOT = 316, |
| TILDA = 317, |
| BANG = 318, |
| AMPERSAND = 319, |
| BAR = 320, |
| PERCENT = 321, |
| CARET = 322, |
| BXOR = 323, |
| MINUS = 324, |
| PLUS = 325, |
| STAR = 326, |
| SLASH = 327, |
| NEG = 328, |
| MIN = 329, |
| MAX = 330, |
| ABS = 331, |
| DOUBLE_BAR = 332, |
| _PLUS_BAR_PLUS = 333, |
| _PLUS_BAR_MINUS = 334, |
| _MINUS_BAR_PLUS = 335, |
| _MINUS_BAR_MINUS = 336, |
| _MINUS_MINUS = 337, |
| _PLUS_PLUS = 338, |
| SHIFT = 339, |
| LSHIFT = 340, |
| ASHIFT = 341, |
| BXORSHIFT = 342, |
| _GREATER_GREATER_GREATER_THAN_ASSIGN = 343, |
| ROT = 344, |
| LESS_LESS = 345, |
| GREATER_GREATER = 346, |
| _GREATER_GREATER_GREATER = 347, |
| _LESS_LESS_ASSIGN = 348, |
| _GREATER_GREATER_ASSIGN = 349, |
| DIVS = 350, |
| DIVQ = 351, |
| ASSIGN = 352, |
| _STAR_ASSIGN = 353, |
| _BAR_ASSIGN = 354, |
| _CARET_ASSIGN = 355, |
| _AMPERSAND_ASSIGN = 356, |
| _MINUS_ASSIGN = 357, |
| _PLUS_ASSIGN = 358, |
| _ASSIGN_BANG = 359, |
| _LESS_THAN_ASSIGN = 360, |
| _ASSIGN_ASSIGN = 361, |
| GE = 362, |
| LT = 363, |
| LE = 364, |
| GT = 365, |
| LESS_THAN = 366, |
| FLUSHINV = 367, |
| FLUSH = 368, |
| IFLUSH = 369, |
| PREFETCH = 370, |
| PRNT = 371, |
| OUTC = 372, |
| WHATREG = 373, |
| TESTSET = 374, |
| ASL = 375, |
| ASR = 376, |
| B = 377, |
| W = 378, |
| NS = 379, |
| S = 380, |
| CO = 381, |
| SCO = 382, |
| TH = 383, |
| TL = 384, |
| BP = 385, |
| BREV = 386, |
| X = 387, |
| Z = 388, |
| M = 389, |
| MMOD = 390, |
| R = 391, |
| RND = 392, |
| RNDL = 393, |
| RNDH = 394, |
| RND12 = 395, |
| RND20 = 396, |
| V = 397, |
| LO = 398, |
| HI = 399, |
| BITTGL = 400, |
| BITCLR = 401, |
| BITSET = 402, |
| BITTST = 403, |
| BITMUX = 404, |
| DBGAL = 405, |
| DBGAH = 406, |
| DBGHALT = 407, |
| DBG = 408, |
| DBGA = 409, |
| DBGCMPLX = 410, |
| IF = 411, |
| COMMA = 412, |
| BY = 413, |
| COLON = 414, |
| SEMICOLON = 415, |
| RPAREN = 416, |
| LPAREN = 417, |
| LBRACK = 418, |
| RBRACK = 419, |
| STATUS_REG = 420, |
| MNOP = 421, |
| SYMBOL = 422, |
| NUMBER = 423, |
| GOT = 424, |
| GOT17M4 = 425, |
| FUNCDESC_GOT17M4 = 426, |
| AT = 427, |
| PLTPC = 428 |
| }; |
| #endif |
| /* Tokens. */ |
| #define BYTEOP16P 258 |
| #define BYTEOP16M 259 |
| #define BYTEOP1P 260 |
| #define BYTEOP2P 261 |
| #define BYTEOP3P 262 |
| #define BYTEUNPACK 263 |
| #define BYTEPACK 264 |
| #define PACK 265 |
| #define SAA 266 |
| #define ALIGN8 267 |
| #define ALIGN16 268 |
| #define ALIGN24 269 |
| #define VIT_MAX 270 |
| #define EXTRACT 271 |
| #define DEPOSIT 272 |
| #define EXPADJ 273 |
| #define SEARCH 274 |
| #define ONES 275 |
| #define SIGN 276 |
| #define SIGNBITS 277 |
| #define LINK 278 |
| #define UNLINK 279 |
| #define REG 280 |
| #define PC 281 |
| #define CCREG 282 |
| #define BYTE_DREG 283 |
| #define REG_A_DOUBLE_ZERO 284 |
| #define REG_A_DOUBLE_ONE 285 |
| #define A_ZERO_DOT_L 286 |
| #define A_ZERO_DOT_H 287 |
| #define A_ONE_DOT_L 288 |
| #define A_ONE_DOT_H 289 |
| #define HALF_REG 290 |
| #define NOP 291 |
| #define RTI 292 |
| #define RTS 293 |
| #define RTX 294 |
| #define RTN 295 |
| #define RTE 296 |
| #define HLT 297 |
| #define IDLE 298 |
| #define STI 299 |
| #define CLI 300 |
| #define CSYNC 301 |
| #define SSYNC 302 |
| #define EMUEXCPT 303 |
| #define RAISE 304 |
| #define EXCPT 305 |
| #define LSETUP 306 |
| #define LOOP 307 |
| #define LOOP_BEGIN 308 |
| #define LOOP_END 309 |
| #define DISALGNEXCPT 310 |
| #define JUMP 311 |
| #define JUMP_DOT_S 312 |
| #define JUMP_DOT_L 313 |
| #define CALL 314 |
| #define ABORT 315 |
| #define NOT 316 |
| #define TILDA 317 |
| #define BANG 318 |
| #define AMPERSAND 319 |
| #define BAR 320 |
| #define PERCENT 321 |
| #define CARET 322 |
| #define BXOR 323 |
| #define MINUS 324 |
| #define PLUS 325 |
| #define STAR 326 |
| #define SLASH 327 |
| #define NEG 328 |
| #define MIN 329 |
| #define MAX 330 |
| #define ABS 331 |
| #define DOUBLE_BAR 332 |
| #define _PLUS_BAR_PLUS 333 |
| #define _PLUS_BAR_MINUS 334 |
| #define _MINUS_BAR_PLUS 335 |
| #define _MINUS_BAR_MINUS 336 |
| #define _MINUS_MINUS 337 |
| #define _PLUS_PLUS 338 |
| #define SHIFT 339 |
| #define LSHIFT 340 |
| #define ASHIFT 341 |
| #define BXORSHIFT 342 |
| #define _GREATER_GREATER_GREATER_THAN_ASSIGN 343 |
| #define ROT 344 |
| #define LESS_LESS 345 |
| #define GREATER_GREATER 346 |
| #define _GREATER_GREATER_GREATER 347 |
| #define _LESS_LESS_ASSIGN 348 |
| #define _GREATER_GREATER_ASSIGN 349 |
| #define DIVS 350 |
| #define DIVQ 351 |
| #define ASSIGN 352 |
| #define _STAR_ASSIGN 353 |
| #define _BAR_ASSIGN 354 |
| #define _CARET_ASSIGN 355 |
| #define _AMPERSAND_ASSIGN 356 |
| #define _MINUS_ASSIGN 357 |
| #define _PLUS_ASSIGN 358 |
| #define _ASSIGN_BANG 359 |
| #define _LESS_THAN_ASSIGN 360 |
| #define _ASSIGN_ASSIGN 361 |
| #define GE 362 |
| #define LT 363 |
| #define LE 364 |
| #define GT 365 |
| #define LESS_THAN 366 |
| #define FLUSHINV 367 |
| #define FLUSH 368 |
| #define IFLUSH 369 |
| #define PREFETCH 370 |
| #define PRNT 371 |
| #define OUTC 372 |
| #define WHATREG 373 |
| #define TESTSET 374 |
| #define ASL 375 |
| #define ASR 376 |
| #define B 377 |
| #define W 378 |
| #define NS 379 |
| #define S 380 |
| #define CO 381 |
| #define SCO 382 |
| #define TH 383 |
| #define TL 384 |
| #define BP 385 |
| #define BREV 386 |
| #define X 387 |
| #define Z 388 |
| #define M 389 |
| #define MMOD 390 |
| #define R 391 |
| #define RND 392 |
| #define RNDL 393 |
| #define RNDH 394 |
| #define RND12 395 |
| #define RND20 396 |
| #define V 397 |
| #define LO 398 |
| #define HI 399 |
| #define BITTGL 400 |
| #define BITCLR 401 |
| #define BITSET 402 |
| #define BITTST 403 |
| #define BITMUX 404 |
| #define DBGAL 405 |
| #define DBGAH 406 |
| #define DBGHALT 407 |
| #define DBG 408 |
| #define DBGA 409 |
| #define DBGCMPLX 410 |
| #define IF 411 |
| #define COMMA 412 |
| #define BY 413 |
| #define COLON 414 |
| #define SEMICOLON 415 |
| #define RPAREN 416 |
| #define LPAREN 417 |
| #define LBRACK 418 |
| #define RBRACK 419 |
| #define STATUS_REG 420 |
| #define MNOP 421 |
| #define SYMBOL 422 |
| #define NUMBER 423 |
| #define GOT 424 |
| #define GOT17M4 425 |
| #define FUNCDESC_GOT17M4 426 |
| #define AT 427 |
| #define PLTPC 428 |
| |
| |
| |
| |
| #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
| typedef union YYSTYPE |
| #line 446 "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 407 "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; |
| |