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