1/* A Bison parser, made by GNU Bison 3.0.  */
2
3/* Bison interface for Yacc-like parsers in C
4
5   Copyright (C) 1984, 1989-1990, 2000-2013 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
396typedef union YYSTYPE YYSTYPE;
397union YYSTYPE
398{
399#line 444 "./config/bfin-parse.y" /* yacc.c:1915  */
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:1915  */
412};
413# define YYSTYPE_IS_TRIVIAL 1
414# define YYSTYPE_IS_DECLARED 1
415#endif
416
417
418extern YYSTYPE yylval;
419
420int yyparse (void);
421
422#endif /* !YY_YY_BFIN_PARSE_H_INCLUDED  */
423