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