| /* 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 441 "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; |
| |