1/* A Bison parser, made by GNU Bison 2.1. */ 2 3/* Skeleton parser for Yacc-like parsing with Bison, 4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 Boston, MA 02110-1301, USA. */ 20 21/* As a special exception, when this file is copied by Bison into a 22 Bison output file, you may use that output file without restriction. 23 This special exception was added by the Free Software Foundation 24 in version 1.24 of Bison. */ 25 26/* Tokens. */ 27#ifndef YYTOKENTYPE 28# define YYTOKENTYPE 29 /* Put the tokens into the symbol table, so that GDB and other debuggers 30 know about them. */ 31 enum yytokentype { 32 BYTEOP16P = 258, 33 BYTEOP16M = 259, 34 BYTEOP1P = 260, 35 BYTEOP2P = 261, 36 BYTEOP2M = 262, 37 BYTEOP3P = 263, 38 BYTEUNPACK = 264, 39 BYTEPACK = 265, 40 PACK = 266, 41 SAA = 267, 42 ALIGN8 = 268, 43 ALIGN16 = 269, 44 ALIGN24 = 270, 45 VIT_MAX = 271, 46 EXTRACT = 272, 47 DEPOSIT = 273, 48 EXPADJ = 274, 49 SEARCH = 275, 50 ONES = 276, 51 SIGN = 277, 52 SIGNBITS = 278, 53 LINK = 279, 54 UNLINK = 280, 55 REG = 281, 56 PC = 282, 57 CCREG = 283, 58 BYTE_DREG = 284, 59 REG_A_DOUBLE_ZERO = 285, 60 REG_A_DOUBLE_ONE = 286, 61 A_ZERO_DOT_L = 287, 62 A_ZERO_DOT_H = 288, 63 A_ONE_DOT_L = 289, 64 A_ONE_DOT_H = 290, 65 HALF_REG = 291, 66 NOP = 292, 67 RTI = 293, 68 RTS = 294, 69 RTX = 295, 70 RTN = 296, 71 RTE = 297, 72 HLT = 298, 73 IDLE = 299, 74 STI = 300, 75 CLI = 301, 76 CSYNC = 302, 77 SSYNC = 303, 78 EMUEXCPT = 304, 79 RAISE = 305, 80 EXCPT = 306, 81 LSETUP = 307, 82 LOOP = 308, 83 LOOP_BEGIN = 309, 84 LOOP_END = 310, 85 DISALGNEXCPT = 311, 86 JUMP = 312, 87 JUMP_DOT_S = 313, 88 JUMP_DOT_L = 314, 89 CALL = 315, 90 ABORT = 316, 91 NOT = 317, 92 TILDA = 318, 93 BANG = 319, 94 AMPERSAND = 320, 95 BAR = 321, 96 PERCENT = 322, 97 CARET = 323, 98 BXOR = 324, 99 MINUS = 325, 100 PLUS = 326, 101 STAR = 327, 102 SLASH = 328, 103 NEG = 329, 104 MIN = 330, 105 MAX = 331, 106 ABS = 332, 107 DOUBLE_BAR = 333, 108 _PLUS_BAR_PLUS = 334, 109 _PLUS_BAR_MINUS = 335, 110 _MINUS_BAR_PLUS = 336, 111 _MINUS_BAR_MINUS = 337, 112 _MINUS_MINUS = 338, 113 _PLUS_PLUS = 339, 114 SHIFT = 340, 115 LSHIFT = 341, 116 ASHIFT = 342, 117 BXORSHIFT = 343, 118 _GREATER_GREATER_GREATER_THAN_ASSIGN = 344, 119 ROT = 345, 120 LESS_LESS = 346, 121 GREATER_GREATER = 347, 122 _GREATER_GREATER_GREATER = 348, 123 _LESS_LESS_ASSIGN = 349, 124 _GREATER_GREATER_ASSIGN = 350, 125 DIVS = 351, 126 DIVQ = 352, 127 ASSIGN = 353, 128 _STAR_ASSIGN = 354, 129 _BAR_ASSIGN = 355, 130 _CARET_ASSIGN = 356, 131 _AMPERSAND_ASSIGN = 357, 132 _MINUS_ASSIGN = 358, 133 _PLUS_ASSIGN = 359, 134 _ASSIGN_BANG = 360, 135 _LESS_THAN_ASSIGN = 361, 136 _ASSIGN_ASSIGN = 362, 137 GE = 363, 138 LT = 364, 139 LE = 365, 140 GT = 366, 141 LESS_THAN = 367, 142 FLUSHINV = 368, 143 FLUSH = 369, 144 IFLUSH = 370, 145 PREFETCH = 371, 146 PRNT = 372, 147 OUTC = 373, 148 WHATREG = 374, 149 TESTSET = 375, 150 ASL = 376, 151 ASR = 377, 152 B = 378, 153 W = 379, 154 NS = 380, 155 S = 381, 156 CO = 382, 157 SCO = 383, 158 TH = 384, 159 TL = 385, 160 BP = 386, 161 BREV = 387, 162 X = 388, 163 Z = 389, 164 M = 390, 165 MMOD = 391, 166 R = 392, 167 RND = 393, 168 RNDL = 394, 169 RNDH = 395, 170 RND12 = 396, 171 RND20 = 397, 172 V = 398, 173 LO = 399, 174 HI = 400, 175 BITTGL = 401, 176 BITCLR = 402, 177 BITSET = 403, 178 BITTST = 404, 179 BITMUX = 405, 180 DBGAL = 406, 181 DBGAH = 407, 182 DBGHALT = 408, 183 DBG = 409, 184 DBGA = 410, 185 DBGCMPLX = 411, 186 IF = 412, 187 COMMA = 413, 188 BY = 414, 189 COLON = 415, 190 SEMICOLON = 416, 191 RPAREN = 417, 192 LPAREN = 418, 193 LBRACK = 419, 194 RBRACK = 420, 195 STATUS_REG = 421, 196 MNOP = 422, 197 SYMBOL = 423, 198 NUMBER = 424, 199 GOT = 425, 200 GOT17M4 = 426, 201 FUNCDESC_GOT17M4 = 427, 202 AT = 428, 203 PLTPC = 429 204 }; 205#endif 206/* Tokens. */ 207#define BYTEOP16P 258 208#define BYTEOP16M 259 209#define BYTEOP1P 260 210#define BYTEOP2P 261 211#define BYTEOP2M 262 212#define BYTEOP3P 263 213#define BYTEUNPACK 264 214#define BYTEPACK 265 215#define PACK 266 216#define SAA 267 217#define ALIGN8 268 218#define ALIGN16 269 219#define ALIGN24 270 220#define VIT_MAX 271 221#define EXTRACT 272 222#define DEPOSIT 273 223#define EXPADJ 274 224#define SEARCH 275 225#define ONES 276 226#define SIGN 277 227#define SIGNBITS 278 228#define LINK 279 229#define UNLINK 280 230#define REG 281 231#define PC 282 232#define CCREG 283 233#define BYTE_DREG 284 234#define REG_A_DOUBLE_ZERO 285 235#define REG_A_DOUBLE_ONE 286 236#define A_ZERO_DOT_L 287 237#define A_ZERO_DOT_H 288 238#define A_ONE_DOT_L 289 239#define A_ONE_DOT_H 290 240#define HALF_REG 291 241#define NOP 292 242#define RTI 293 243#define RTS 294 244#define RTX 295 245#define RTN 296 246#define RTE 297 247#define HLT 298 248#define IDLE 299 249#define STI 300 250#define CLI 301 251#define CSYNC 302 252#define SSYNC 303 253#define EMUEXCPT 304 254#define RAISE 305 255#define EXCPT 306 256#define LSETUP 307 257#define LOOP 308 258#define LOOP_BEGIN 309 259#define LOOP_END 310 260#define DISALGNEXCPT 311 261#define JUMP 312 262#define JUMP_DOT_S 313 263#define JUMP_DOT_L 314 264#define CALL 315 265#define ABORT 316 266#define NOT 317 267#define TILDA 318 268#define BANG 319 269#define AMPERSAND 320 270#define BAR 321 271#define PERCENT 322 272#define CARET 323 273#define BXOR 324 274#define MINUS 325 275#define PLUS 326 276#define STAR 327 277#define SLASH 328 278#define NEG 329 279#define MIN 330 280#define MAX 331 281#define ABS 332 282#define DOUBLE_BAR 333 283#define _PLUS_BAR_PLUS 334 284#define _PLUS_BAR_MINUS 335 285#define _MINUS_BAR_PLUS 336 286#define _MINUS_BAR_MINUS 337 287#define _MINUS_MINUS 338 288#define _PLUS_PLUS 339 289#define SHIFT 340 290#define LSHIFT 341 291#define ASHIFT 342 292#define BXORSHIFT 343 293#define _GREATER_GREATER_GREATER_THAN_ASSIGN 344 294#define ROT 345 295#define LESS_LESS 346 296#define GREATER_GREATER 347 297#define _GREATER_GREATER_GREATER 348 298#define _LESS_LESS_ASSIGN 349 299#define _GREATER_GREATER_ASSIGN 350 300#define DIVS 351 301#define DIVQ 352 302#define ASSIGN 353 303#define _STAR_ASSIGN 354 304#define _BAR_ASSIGN 355 305#define _CARET_ASSIGN 356 306#define _AMPERSAND_ASSIGN 357 307#define _MINUS_ASSIGN 358 308#define _PLUS_ASSIGN 359 309#define _ASSIGN_BANG 360 310#define _LESS_THAN_ASSIGN 361 311#define _ASSIGN_ASSIGN 362 312#define GE 363 313#define LT 364 314#define LE 365 315#define GT 366 316#define LESS_THAN 367 317#define FLUSHINV 368 318#define FLUSH 369 319#define IFLUSH 370 320#define PREFETCH 371 321#define PRNT 372 322#define OUTC 373 323#define WHATREG 374 324#define TESTSET 375 325#define ASL 376 326#define ASR 377 327#define B 378 328#define W 379 329#define NS 380 330#define S 381 331#define CO 382 332#define SCO 383 333#define TH 384 334#define TL 385 335#define BP 386 336#define BREV 387 337#define X 388 338#define Z 389 339#define M 390 340#define MMOD 391 341#define R 392 342#define RND 393 343#define RNDL 394 344#define RNDH 395 345#define RND12 396 346#define RND20 397 347#define V 398 348#define LO 399 349#define HI 400 350#define BITTGL 401 351#define BITCLR 402 352#define BITSET 403 353#define BITTST 404 354#define BITMUX 405 355#define DBGAL 406 356#define DBGAH 407 357#define DBGHALT 408 358#define DBG 409 359#define DBGA 410 360#define DBGCMPLX 411 361#define IF 412 362#define COMMA 413 363#define BY 414 364#define COLON 415 365#define SEMICOLON 416 366#define RPAREN 417 367#define LPAREN 418 368#define LBRACK 419 369#define RBRACK 420 370#define STATUS_REG 421 371#define MNOP 422 372#define SYMBOL 423 373#define NUMBER 424 374#define GOT 425 375#define GOT17M4 426 376#define FUNCDESC_GOT17M4 427 377#define AT 428 378#define PLTPC 429 379 380 381 382 383#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) 384#line 366 "bfin-parse.y" 385typedef union YYSTYPE { 386 INSTR_T instr; 387 Expr_Node *expr; 388 SYMBOL_T symbol; 389 long value; 390 Register reg; 391 Macfunc macfunc; 392 struct { int r0; int s0; int x0; int aop; } modcodes; 393 struct { int r0; } r0; 394 Opt_mode mod; 395} YYSTYPE; 396/* Line 1447 of yacc.c. */ 397#line 398 "bfin-parse.h" 398# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 399# define YYSTYPE_IS_DECLARED 1 400# define YYSTYPE_IS_TRIVIAL 1 401#endif 402 403extern YYSTYPE yylval; 404 405 406 407