xref: /netbsd-src/external/gpl3/binutils/dist/gas/config/bfin-parse.h (revision 4f645668ed707e1f969c546666f8c8e45e6f8888)
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