summaryrefslogtreecommitdiff
path: root/gas/rl78-parse.h
blob: 6fd5ff225fd33152cfabc16634b29918dc81ea83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
/* A Bison parser, made by GNU Bison 2.3.  */

/* Skeleton interface for Bison's Yacc-like parsers in C

   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.

   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     A = 258,
     X = 259,
     B = 260,
     C = 261,
     D = 262,
     E = 263,
     H = 264,
     L = 265,
     AX = 266,
     BC = 267,
     DE = 268,
     HL = 269,
     SPL = 270,
     SPH = 271,
     PSW = 272,
     CS = 273,
     ES = 274,
     PMC = 275,
     MEM = 276,
     FLAG = 277,
     SP = 278,
     CY = 279,
     RB0 = 280,
     RB1 = 281,
     RB2 = 282,
     RB3 = 283,
     EXPR = 284,
     UNKNOWN_OPCODE = 285,
     IS_OPCODE = 286,
     DOT_S = 287,
     DOT_B = 288,
     DOT_W = 289,
     DOT_L = 290,
     DOT_A = 291,
     DOT_UB = 292,
     DOT_UW = 293,
     ADD = 294,
     ADDC = 295,
     ADDW = 296,
     AND_ = 297,
     AND1 = 298,
     BF = 299,
     BH = 300,
     BNC = 301,
     BNH = 302,
     BNZ = 303,
     BR = 304,
     BRK = 305,
     BRK1 = 306,
     BT = 307,
     BTCLR = 308,
     BZ = 309,
     CALL = 310,
     CALLT = 311,
     CLR1 = 312,
     CLRB = 313,
     CLRW = 314,
     CMP = 315,
     CMP0 = 316,
     CMPS = 317,
     CMPW = 318,
     DEC = 319,
     DECW = 320,
     DI = 321,
     DIVHU = 322,
     DIVWU = 323,
     EI = 324,
     HALT = 325,
     INC = 326,
     INCW = 327,
     MACH = 328,
     MACHU = 329,
     MOV = 330,
     MOV1 = 331,
     MOVS = 332,
     MOVW = 333,
     MULH = 334,
     MULHU = 335,
     MULU = 336,
     NOP = 337,
     NOT1 = 338,
     ONEB = 339,
     ONEW = 340,
     OR = 341,
     OR1 = 342,
     POP = 343,
     PUSH = 344,
     RET = 345,
     RETI = 346,
     RETB = 347,
     ROL = 348,
     ROLC = 349,
     ROLWC = 350,
     ROR = 351,
     RORC = 352,
     SAR = 353,
     SARW = 354,
     SEL = 355,
     SET1 = 356,
     SHL = 357,
     SHLW = 358,
     SHR = 359,
     SHRW = 360,
     SKC = 361,
     SKH = 362,
     SKNC = 363,
     SKNH = 364,
     SKNZ = 365,
     SKZ = 366,
     STOP = 367,
     SUB = 368,
     SUBC = 369,
     SUBW = 370,
     XCH = 371,
     XCHW = 372,
     XOR = 373,
     XOR1 = 374
   };
#endif
/* Tokens.  */
#define A 258
#define X 259
#define B 260
#define C 261
#define D 262
#define E 263
#define H 264
#define L 265
#define AX 266
#define BC 267
#define DE 268
#define HL 269
#define SPL 270
#define SPH 271
#define PSW 272
#define CS 273
#define ES 274
#define PMC 275
#define MEM 276
#define FLAG 277
#define SP 278
#define CY 279
#define RB0 280
#define RB1 281
#define RB2 282
#define RB3 283
#define EXPR 284
#define UNKNOWN_OPCODE 285
#define IS_OPCODE 286
#define DOT_S 287
#define DOT_B 288
#define DOT_W 289
#define DOT_L 290
#define DOT_A 291
#define DOT_UB 292
#define DOT_UW 293
#define ADD 294
#define ADDC 295
#define ADDW 296
#define AND_ 297
#define AND1 298
#define BF 299
#define BH 300
#define BNC 301
#define BNH 302
#define BNZ 303
#define BR 304
#define BRK 305
#define BRK1 306
#define BT 307
#define BTCLR 308
#define BZ 309
#define CALL 310
#define CALLT 311
#define CLR1 312
#define CLRB 313
#define CLRW 314
#define CMP 315
#define CMP0 316
#define CMPS 317
#define CMPW 318
#define DEC 319
#define DECW 320
#define DI 321
#define DIVHU 322
#define DIVWU 323
#define EI 324
#define HALT 325
#define INC 326
#define INCW 327
#define MACH 328
#define MACHU 329
#define MOV 330
#define MOV1 331
#define MOVS 332
#define MOVW 333
#define MULH 334
#define MULHU 335
#define MULU 336
#define NOP 337
#define NOT1 338
#define ONEB 339
#define ONEW 340
#define OR 341
#define OR1 342
#define POP 343
#define PUSH 344
#define RET 345
#define RETI 346
#define RETB 347
#define ROL 348
#define ROLC 349
#define ROLWC 350
#define ROR 351
#define RORC 352
#define SAR 353
#define SARW 354
#define SEL 355
#define SET1 356
#define SHL 357
#define SHLW 358
#define SHR 359
#define SHRW 360
#define SKC 361
#define SKH 362
#define SKNC 363
#define SKNH 364
#define SKNZ 365
#define SKZ 366
#define STOP 367
#define SUB 368
#define SUBC 369
#define SUBW 370
#define XCH 371
#define XCHW 372
#define XOR 373
#define XOR1 374




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 138 "rl78-parse.y"
{
  int regno;
  expressionS exp;
}
/* Line 1529 of yacc.c.  */
#line 292 "rl78-parse.h"
	YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif

extern YYSTYPE rl78_lval;