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