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" 385 typedef 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 403 extern YYSTYPE yylval; 404 405 406 407