bfin-lex.c revision 1.1.1.1 1 1.1 christos
2 1.1 christos #line 2 "config/bfin-lex.c"
3 1.1 christos
4 1.1 christos #define YY_INT_ALIGNED short int
5 1.1 christos
6 1.1 christos /* A lexical scanner generated by flex */
7 1.1 christos
8 1.1 christos #define FLEX_SCANNER
9 1.1 christos #define YY_FLEX_MAJOR_VERSION 2
10 1.1 christos #define YY_FLEX_MINOR_VERSION 6
11 1.1 christos #define YY_FLEX_SUBMINOR_VERSION 4
12 1.1 christos #if YY_FLEX_SUBMINOR_VERSION > 0
13 1.1 christos #define FLEX_BETA
14 1.1 christos #endif
15 1.1 christos
16 1.1 christos /* First, we deal with platform-specific or compiler-specific issues. */
17 1.1 christos
18 1.1 christos /* begin standard C headers. */
19 1.1 christos #include <stdio.h>
20 1.1 christos #include <string.h>
21 1.1 christos #include <errno.h>
22 1.1 christos #include <stdlib.h>
23 1.1 christos
24 1.1 christos /* end standard C headers. */
25 1.1 christos
26 1.1 christos /* flex integer type definitions */
27 1.1 christos
28 1.1 christos #ifndef FLEXINT_H
29 1.1 christos #define FLEXINT_H
30 1.1 christos
31 1.1 christos /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32 1.1 christos
33 1.1 christos #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34 1.1 christos
35 1.1 christos /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36 1.1 christos * if you want the limit (max/min) macros for int types.
37 1.1 christos */
38 1.1 christos #ifndef __STDC_LIMIT_MACROS
39 1.1 christos #define __STDC_LIMIT_MACROS 1
40 1.1 christos #endif
41 1.1 christos
42 1.1 christos #include <inttypes.h>
43 1.1 christos typedef int8_t flex_int8_t;
44 1.1 christos typedef uint8_t flex_uint8_t;
45 1.1 christos typedef int16_t flex_int16_t;
46 1.1 christos typedef uint16_t flex_uint16_t;
47 1.1 christos typedef int32_t flex_int32_t;
48 1.1 christos typedef uint32_t flex_uint32_t;
49 1.1 christos #else
50 1.1 christos typedef signed char flex_int8_t;
51 1.1 christos typedef short int flex_int16_t;
52 1.1 christos typedef int flex_int32_t;
53 1.1 christos typedef unsigned char flex_uint8_t;
54 1.1 christos typedef unsigned short int flex_uint16_t;
55 1.1 christos typedef unsigned int flex_uint32_t;
56 1.1 christos
57 1.1 christos /* Limits of integral types. */
58 1.1 christos #ifndef INT8_MIN
59 1.1 christos #define INT8_MIN (-128)
60 1.1 christos #endif
61 1.1 christos #ifndef INT16_MIN
62 1.1 christos #define INT16_MIN (-32767-1)
63 1.1 christos #endif
64 1.1 christos #ifndef INT32_MIN
65 1.1 christos #define INT32_MIN (-2147483647-1)
66 1.1 christos #endif
67 1.1 christos #ifndef INT8_MAX
68 1.1 christos #define INT8_MAX (127)
69 1.1 christos #endif
70 1.1 christos #ifndef INT16_MAX
71 1.1 christos #define INT16_MAX (32767)
72 1.1 christos #endif
73 1.1 christos #ifndef INT32_MAX
74 1.1 christos #define INT32_MAX (2147483647)
75 1.1 christos #endif
76 1.1 christos #ifndef UINT8_MAX
77 1.1 christos #define UINT8_MAX (255U)
78 1.1 christos #endif
79 1.1 christos #ifndef UINT16_MAX
80 1.1 christos #define UINT16_MAX (65535U)
81 1.1 christos #endif
82 1.1 christos #ifndef UINT32_MAX
83 1.1 christos #define UINT32_MAX (4294967295U)
84 1.1 christos #endif
85 1.1 christos
86 1.1 christos #ifndef SIZE_MAX
87 1.1 christos #define SIZE_MAX (~(size_t)0)
88 1.1 christos #endif
89 1.1 christos
90 1.1 christos #endif /* ! C99 */
91 1.1 christos
92 1.1 christos #endif /* ! FLEXINT_H */
93 1.1 christos
94 1.1 christos /* begin standard C++ headers. */
95 1.1 christos
96 1.1 christos /* TODO: this is always defined, so inline it */
97 1.1 christos #define yyconst const
98 1.1 christos
99 1.1 christos #if defined(__GNUC__) && __GNUC__ >= 3
100 1.1 christos #define yynoreturn __attribute__((__noreturn__))
101 1.1 christos #else
102 1.1 christos #define yynoreturn
103 1.1 christos #endif
104 1.1 christos
105 1.1 christos /* Returned upon end-of-file. */
106 1.1 christos #define YY_NULL 0
107 1.1 christos
108 1.1 christos /* Promotes a possibly negative, possibly signed char to an
109 1.1 christos * integer in range [0..255] for use as an array index.
110 1.1 christos */
111 1.1 christos #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
112 1.1 christos
113 1.1 christos /* Enter a start condition. This macro really ought to take a parameter,
114 1.1 christos * but we do it the disgusting crufty way forced on us by the ()-less
115 1.1 christos * definition of BEGIN.
116 1.1 christos */
117 1.1 christos #define BEGIN (yy_start) = 1 + 2 *
118 1.1 christos /* Translate the current start state into a value that can be later handed
119 1.1 christos * to BEGIN to return to the state. The YYSTATE alias is for lex
120 1.1 christos * compatibility.
121 1.1 christos */
122 1.1 christos #define YY_START (((yy_start) - 1) / 2)
123 1.1 christos #define YYSTATE YY_START
124 1.1 christos /* Action number for EOF rule of a given start state. */
125 1.1 christos #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126 1.1 christos /* Special action meaning "start processing a new file". */
127 1.1 christos #define YY_NEW_FILE yyrestart( yyin )
128 1.1 christos #define YY_END_OF_BUFFER_CHAR 0
129 1.1 christos
130 1.1 christos /* Size of default input buffer. */
131 1.1 christos #ifndef YY_BUF_SIZE
132 1.1 christos #ifdef __ia64__
133 1.1 christos /* On IA-64, the buffer size is 16k, not 8k.
134 1.1 christos * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135 1.1 christos * Ditto for the __ia64__ case accordingly.
136 1.1 christos */
137 1.1 christos #define YY_BUF_SIZE 32768
138 1.1 christos #else
139 1.1 christos #define YY_BUF_SIZE 16384
140 1.1 christos #endif /* __ia64__ */
141 1.1 christos #endif
142 1.1 christos
143 1.1 christos /* The state buf must be large enough to hold one state per character in the main buffer.
144 1.1 christos */
145 1.1 christos #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
146 1.1 christos
147 1.1 christos #ifndef YY_TYPEDEF_YY_BUFFER_STATE
148 1.1 christos #define YY_TYPEDEF_YY_BUFFER_STATE
149 1.1 christos typedef struct yy_buffer_state *YY_BUFFER_STATE;
150 1.1 christos #endif
151 1.1 christos
152 1.1 christos #ifndef YY_TYPEDEF_YY_SIZE_T
153 1.1 christos #define YY_TYPEDEF_YY_SIZE_T
154 1.1 christos typedef size_t yy_size_t;
155 1.1 christos #endif
156 1.1 christos
157 1.1 christos extern int yyleng;
158 1.1 christos
159 1.1 christos extern FILE *yyin, *yyout;
160 1.1 christos
161 1.1 christos #define EOB_ACT_CONTINUE_SCAN 0
162 1.1 christos #define EOB_ACT_END_OF_FILE 1
163 1.1 christos #define EOB_ACT_LAST_MATCH 2
164 1.1 christos
165 1.1 christos #define YY_LESS_LINENO(n)
166 1.1 christos #define YY_LINENO_REWIND_TO(ptr)
167 1.1 christos
168 1.1 christos /* Return all but the first "n" matched characters back to the input stream. */
169 1.1 christos #define yyless(n) \
170 1.1 christos do \
171 1.1 christos { \
172 1.1 christos /* Undo effects of setting up yytext. */ \
173 1.1 christos int yyless_macro_arg = (n); \
174 1.1 christos YY_LESS_LINENO(yyless_macro_arg);\
175 1.1 christos *yy_cp = (yy_hold_char); \
176 1.1 christos YY_RESTORE_YY_MORE_OFFSET \
177 1.1 christos (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
178 1.1 christos YY_DO_BEFORE_ACTION; /* set up yytext again */ \
179 1.1 christos } \
180 1.1 christos while ( 0 )
181 1.1 christos #define unput(c) yyunput( c, (yytext_ptr) )
182 1.1 christos
183 1.1 christos #ifndef YY_STRUCT_YY_BUFFER_STATE
184 1.1 christos #define YY_STRUCT_YY_BUFFER_STATE
185 1.1 christos struct yy_buffer_state
186 1.1 christos {
187 1.1 christos FILE *yy_input_file;
188 1.1 christos
189 1.1 christos char *yy_ch_buf; /* input buffer */
190 1.1 christos char *yy_buf_pos; /* current position in input buffer */
191 1.1 christos
192 1.1 christos /* Size of input buffer in bytes, not including room for EOB
193 1.1 christos * characters.
194 1.1 christos */
195 1.1 christos int yy_buf_size;
196 1.1 christos
197 1.1 christos /* Number of characters read into yy_ch_buf, not including EOB
198 1.1 christos * characters.
199 1.1 christos */
200 1.1 christos int yy_n_chars;
201 1.1 christos
202 1.1 christos /* Whether we "own" the buffer - i.e., we know we created it,
203 1.1 christos * and can realloc() it to grow it, and should free() it to
204 1.1 christos * delete it.
205 1.1 christos */
206 1.1 christos int yy_is_our_buffer;
207 1.1 christos
208 1.1 christos /* Whether this is an "interactive" input source; if so, and
209 1.1 christos * if we're using stdio for input, then we want to use getc()
210 1.1 christos * instead of fread(), to make sure we stop fetching input after
211 1.1 christos * each newline.
212 1.1 christos */
213 1.1 christos int yy_is_interactive;
214 1.1 christos
215 1.1 christos /* Whether we're considered to be at the beginning of a line.
216 1.1 christos * If so, '^' rules will be active on the next match, otherwise
217 1.1 christos * not.
218 1.1 christos */
219 1.1 christos int yy_at_bol;
220 1.1 christos
221 1.1 christos int yy_bs_lineno; /**< The line count. */
222 1.1 christos int yy_bs_column; /**< The column count. */
223 1.1 christos
224 1.1 christos /* Whether to try to fill the input buffer when we reach the
225 1.1 christos * end of it.
226 1.1 christos */
227 1.1 christos int yy_fill_buffer;
228 1.1 christos
229 1.1 christos int yy_buffer_status;
230 1.1 christos
231 1.1 christos #define YY_BUFFER_NEW 0
232 1.1 christos #define YY_BUFFER_NORMAL 1
233 1.1 christos /* When an EOF's been seen but there's still some text to process
234 1.1 christos * then we mark the buffer as YY_EOF_PENDING, to indicate that we
235 1.1 christos * shouldn't try reading from the input source any more. We might
236 1.1 christos * still have a bunch of tokens to match, though, because of
237 1.1 christos * possible backing-up.
238 1.1 christos *
239 1.1 christos * When we actually see the EOF, we change the status to "new"
240 1.1 christos * (via yyrestart()), so that the user can continue scanning by
241 1.1 christos * just pointing yyin at a new input file.
242 1.1 christos */
243 1.1 christos #define YY_BUFFER_EOF_PENDING 2
244 1.1 christos
245 1.1 christos };
246 1.1 christos #endif /* !YY_STRUCT_YY_BUFFER_STATE */
247 1.1 christos
248 1.1 christos /* Stack of input buffers. */
249 1.1 christos static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
250 1.1 christos static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
251 1.1 christos static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
252 1.1 christos
253 1.1 christos /* We provide macros for accessing buffer states in case in the
254 1.1 christos * future we want to put the buffer states in a more general
255 1.1 christos * "scanner state".
256 1.1 christos *
257 1.1 christos * Returns the top of the stack, or NULL.
258 1.1 christos */
259 1.1 christos #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
260 1.1 christos ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
261 1.1 christos : NULL)
262 1.1 christos /* Same as previous macro, but useful when we know that the buffer stack is not
263 1.1 christos * NULL or when we need an lvalue. For internal use only.
264 1.1 christos */
265 1.1 christos #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
266 1.1 christos
267 1.1 christos /* yy_hold_char holds the character lost when yytext is formed. */
268 1.1 christos static char yy_hold_char;
269 1.1 christos static int yy_n_chars; /* number of characters read into yy_ch_buf */
270 1.1 christos int yyleng;
271 1.1 christos
272 1.1 christos /* Points to current character in buffer. */
273 1.1 christos static char *yy_c_buf_p = NULL;
274 1.1 christos static int yy_init = 0; /* whether we need to initialize */
275 1.1 christos static int yy_start = 0; /* start state number */
276 1.1 christos
277 1.1 christos /* Flag which is used to allow yywrap()'s to do buffer switches
278 1.1 christos * instead of setting up a fresh yyin. A bit of a hack ...
279 1.1 christos */
280 1.1 christos static int yy_did_buffer_switch_on_eof;
281 1.1 christos
282 1.1 christos void yyrestart ( FILE *input_file );
283 1.1 christos void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
284 1.1 christos YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
285 1.1 christos void yy_delete_buffer ( YY_BUFFER_STATE b );
286 1.1 christos void yy_flush_buffer ( YY_BUFFER_STATE b );
287 1.1 christos void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
288 1.1 christos void yypop_buffer_state ( void );
289 1.1 christos
290 1.1 christos static void yyensure_buffer_stack ( void );
291 1.1 christos static void yy_load_buffer_state ( void );
292 1.1 christos static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
293 1.1 christos #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
294 1.1 christos
295 1.1 christos YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
296 1.1 christos YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
297 1.1 christos YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
298 1.1 christos
299 1.1 christos void *yyalloc ( yy_size_t );
300 1.1 christos void *yyrealloc ( void *, yy_size_t );
301 1.1 christos void yyfree ( void * );
302 1.1 christos
303 1.1 christos #define yy_new_buffer yy_create_buffer
304 1.1 christos #define yy_set_interactive(is_interactive) \
305 1.1 christos { \
306 1.1 christos if ( ! YY_CURRENT_BUFFER ){ \
307 1.1 christos yyensure_buffer_stack (); \
308 1.1 christos YY_CURRENT_BUFFER_LVALUE = \
309 1.1 christos yy_create_buffer( yyin, YY_BUF_SIZE ); \
310 1.1 christos } \
311 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
312 1.1 christos }
313 1.1 christos #define yy_set_bol(at_bol) \
314 1.1 christos { \
315 1.1 christos if ( ! YY_CURRENT_BUFFER ){\
316 1.1 christos yyensure_buffer_stack (); \
317 1.1 christos YY_CURRENT_BUFFER_LVALUE = \
318 1.1 christos yy_create_buffer( yyin, YY_BUF_SIZE ); \
319 1.1 christos } \
320 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
321 1.1 christos }
322 1.1 christos #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
323 1.1 christos
324 1.1 christos /* Begin user sect3 */
325 1.1 christos
326 1.1 christos #define yywrap() (/*CONSTCOND*/1)
327 1.1 christos #define YY_SKIP_YYWRAP
328 1.1 christos typedef flex_uint8_t YY_CHAR;
329 1.1 christos
330 1.1 christos FILE *yyin = NULL, *yyout = NULL;
331 1.1 christos
332 1.1 christos typedef int yy_state_type;
333 1.1 christos
334 1.1 christos extern int yylineno;
335 1.1 christos int yylineno = 1;
336 1.1 christos
337 1.1 christos extern char *yytext;
338 1.1 christos #ifdef yytext_ptr
339 1.1 christos #undef yytext_ptr
340 1.1 christos #endif
341 1.1 christos #define yytext_ptr yytext
342 1.1 christos
343 1.1 christos static yy_state_type yy_get_previous_state ( void );
344 1.1 christos static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
345 1.1 christos static int yy_get_next_buffer ( void );
346 1.1 christos static void yynoreturn yy_fatal_error ( const char* msg );
347 1.1 christos
348 1.1 christos /* Done after the current pattern has been matched and before the
349 1.1 christos * corresponding action - sets up yytext.
350 1.1 christos */
351 1.1 christos #define YY_DO_BEFORE_ACTION \
352 1.1 christos (yytext_ptr) = yy_bp; \
353 1.1 christos yyleng = (int) (yy_cp - yy_bp); \
354 1.1 christos (yy_hold_char) = *yy_cp; \
355 1.1 christos *yy_cp = '\0'; \
356 1.1 christos (yy_c_buf_p) = yy_cp;
357 1.1 christos #define YY_NUM_RULES 239
358 1.1 christos #define YY_END_OF_BUFFER 240
359 1.1 christos /* This struct is not used in this scanner,
360 1.1 christos but its presence is necessary. */
361 1.1 christos struct yy_trans_info
362 1.1 christos {
363 1.1 christos flex_int32_t yy_verify;
364 1.1 christos flex_int32_t yy_nxt;
365 1.1 christos };
366 1.1 christos static const flex_int16_t yy_accept[571] =
367 1.1 christos { 0,
368 1.1 christos 0, 0, 0, 0, 0, 0, 240, 238, 236, 236,
369 1.1 christos 221, 234, 220, 219, 201, 202, 217, 215, 212, 211,
370 1.1 christos 204, 233, 233, 203, 222, 200, 196, 238, 225, 234,
371 1.1 christos 147, 234, 234, 234, 234, 234, 234, 234, 234, 234,
372 1.1 christos 234, 234, 234, 234, 54, 234, 234, 234, 12, 10,
373 1.1 christos 190, 189, 188, 186, 184, 234, 234, 234, 234, 234,
374 1.1 christos 70, 19, 18, 8, 7, 234, 218, 216, 214, 213,
375 1.1 christos 0, 210, 205, 0, 0, 0, 233, 235, 0, 199,
376 1.1 christos 197, 223, 195, 194, 179, 176, 234, 234, 234, 149,
377 1.1 christos 152, 234, 234, 148, 0, 146, 234, 139, 234, 234,
378 1.1 christos
379 1.1 christos 135, 234, 125, 234, 123, 234, 234, 234, 234, 234,
380 1.1 christos 234, 234, 103, 102, 101, 234, 100, 99, 234, 234,
381 1.1 christos 97, 234, 95, 94, 93, 91, 234, 85, 234, 234,
382 1.1 christos 77, 86, 234, 71, 69, 234, 234, 234, 234, 65,
383 1.1 christos 234, 234, 234, 59, 234, 56, 234, 234, 53, 234,
384 1.1 christos 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
385 1.1 christos 234, 25, 234, 234, 234, 234, 234, 15, 14, 234,
386 1.1 christos 234, 159, 234, 234, 187, 185, 224, 234, 234, 95,
387 1.1 christos 234, 234, 234, 206, 208, 207, 209, 0, 0, 233,
388 1.1 christos 233, 198, 192, 193, 234, 234, 234, 172, 153, 154,
389 1.1 christos
390 1.1 christos 234, 234, 163, 164, 234, 155, 157, 233, 234, 234,
391 1.1 christos 234, 234, 234, 234, 124, 234, 234, 119, 234, 234,
392 1.1 christos 234, 234, 234, 234, 234, 234, 234, 180, 98, 234,
393 1.1 christos 234, 234, 234, 234, 234, 80, 83, 78, 81, 234,
394 1.1 christos 234, 234, 79, 82, 234, 67, 66, 234, 63, 62,
395 1.1 christos 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
396 1.1 christos 44, 39, 38, 37, 36, 35, 34, 234, 32, 31,
397 1.1 christos 234, 234, 234, 234, 234, 234, 234, 21, 234, 234,
398 1.1 christos 16, 13, 234, 234, 9, 234, 234, 234, 234, 234,
399 1.1 christos 234, 237, 191, 171, 169, 178, 177, 170, 168, 175,
400 1.1 christos
401 1.1 christos 174, 234, 234, 234, 234, 234, 156, 158, 145, 234,
402 1.1 christos 234, 234, 234, 138, 137, 234, 127, 234, 234, 118,
403 1.1 christos 234, 234, 234, 234, 111, 110, 234, 234, 234, 234,
404 1.1 christos 234, 234, 234, 105, 104, 234, 234, 234, 96, 234,
405 1.1 christos 92, 89, 84, 74, 234, 234, 68, 64, 234, 61,
406 1.1 christos 60, 58, 57, 234, 55, 45, 234, 50, 47, 49,
407 1.1 christos 46, 48, 234, 234, 43, 42, 234, 234, 234, 234,
408 1.1 christos 234, 234, 27, 24, 23, 234, 234, 234, 234, 234,
409 1.1 christos 234, 229, 234, 228, 234, 234, 173, 234, 234, 234,
410 1.1 christos 161, 234, 234, 234, 234, 234, 234, 234, 234, 234,
411 1.1 christos
412 1.1 christos 234, 122, 234, 117, 116, 234, 234, 234, 234, 234,
413 1.1 christos 234, 234, 234, 108, 234, 234, 234, 234, 234, 234,
414 1.1 christos 234, 234, 234, 234, 2, 183, 52, 41, 40, 234,
415 1.1 christos 33, 234, 234, 234, 30, 234, 22, 234, 234, 234,
416 1.1 christos 234, 232, 234, 234, 234, 234, 234, 234, 165, 162,
417 1.1 christos 144, 143, 142, 141, 140, 234, 234, 234, 234, 126,
418 1.1 christos 121, 234, 234, 234, 234, 234, 51, 234, 234, 107,
419 1.1 christos 234, 234, 234, 234, 234, 88, 87, 90, 234, 234,
420 1.1 christos 73, 72, 234, 29, 234, 234, 234, 20, 234, 234,
421 1.1 christos 151, 234, 230, 234, 227, 234, 166, 167, 234, 234,
422 1.1 christos
423 1.1 christos 234, 234, 234, 234, 120, 234, 114, 113, 234, 234,
424 1.1 christos 234, 5, 106, 234, 181, 234, 234, 234, 234, 160,
425 1.1 christos 28, 234, 234, 17, 11, 234, 234, 150, 234, 234,
426 1.1 christos 134, 133, 132, 129, 234, 115, 234, 6, 109, 234,
427 1.1 christos 234, 3, 234, 76, 1, 26, 231, 226, 136, 130,
428 1.1 christos 131, 234, 234, 234, 234, 234, 128, 234, 234, 4,
429 1.1 christos 75, 234, 234, 112, 234, 234, 234, 234, 182, 0
430 1.1 christos } ;
431 1.1 christos
432 1.1 christos static const YY_CHAR yy_ec[256] =
433 1.1 christos { 0,
434 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
435 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
436 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
437 1.1 christos 1, 2, 4, 1, 5, 6, 7, 8, 1, 9,
438 1.1 christos 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
439 1.1 christos 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
440 1.1 christos 30, 31, 1, 32, 33, 34, 35, 36, 37, 38,
441 1.1 christos 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
442 1.1 christos 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
443 1.1 christos 59, 1, 60, 61, 62, 1, 33, 34, 35, 36,
444 1.1 christos
445 1.1 christos 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
446 1.1 christos 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
447 1.1 christos 57, 58, 1, 63, 1, 64, 1, 6, 6, 6,
448 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
449 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
450 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
451 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
452 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
453 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
454 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
455 1.1 christos
456 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
457 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
458 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
459 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
460 1.1 christos 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
461 1.1 christos 6, 6, 6, 6, 6
462 1.1 christos } ;
463 1.1 christos
464 1.1 christos static const YY_CHAR yy_meta[65] =
465 1.1 christos { 0,
466 1.1 christos 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
467 1.1 christos 1, 1, 1, 1, 4, 1, 5, 5, 5, 5,
468 1.1 christos 5, 5, 5, 5, 5, 5, 1, 1, 1, 1,
469 1.1 christos 1, 1, 6, 7, 6, 6, 6, 7, 3, 3,
470 1.1 christos 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
471 1.1 christos 3, 3, 3, 3, 3, 4, 3, 3, 1, 1,
472 1.1 christos 1, 3, 1, 1
473 1.1 christos } ;
474 1.1 christos
475 1.1 christos static const flex_int16_t yy_base[577] =
476 1.1 christos { 0,
477 1.1 christos 0, 0, 27, 28, 32, 40, 666, 667, 667, 667,
478 1.1 christos 667, 0, 667, 635, 667, 667, 634, 67, 667, 56,
479 1.1 christos 652, 67, 72, 667, 667, 44, 63, 631, 667, 114,
480 1.1 christos 168, 67, 99, 33, 89, 70, 111, 157, 608, 209,
481 1.1 christos 161, 48, 98, 245, 279, 313, 101, 609, 84, 639,
482 1.1 christos 667, 667, 628, 90, 667, 152, 77, 616, 606, 75,
483 1.1 christos 235, 0, 175, 0, 0, 0, 667, 667, 667, 667,
484 1.1 christos 115, 667, 667, 142, 644, 0, 74, 667, 0, 624,
485 1.1 christos 667, 667, 667, 131, 638, 637, 120, 152, 610, 0,
486 1.1 christos 0, 190, 165, 0, 0, 635, 597, 0, 611, 600,
487 1.1 christos
488 1.1 christos 594, 601, 0, 603, 0, 586, 607, 602, 592, 96,
489 1.1 christos 586, 169, 623, 591, 0, 584, 0, 0, 583, 597,
490 1.1 christos 618, 588, 0, 0, 580, 0, 585, 614, 172, 174,
491 1.1 christos 0, 581, 161, 205, 612, 570, 579, 577, 151, 0,
492 1.1 christos 576, 585, 569, 605, 584, 0, 566, 571, 601, 574,
493 1.1 christos 562, 577, 560, 236, 561, 577, 562, 187, 556, 566,
494 1.1 christos 567, 590, 547, 562, 551, 550, 547, 0, 0, 551,
495 1.1 christos 546, 0, 562, 577, 667, 667, 667, 542, 550, 549,
496 1.1 christos 546, 195, 547, 667, 667, 667, 667, 579, 148, 0,
497 1.1 christos 0, 667, 667, 559, 193, 195, 538, 0, 525, 0,
498 1.1 christos
499 1.1 christos 547, 544, 0, 0, 551, 532, 531, 0, 230, 234,
500 1.1 christos 527, 530, 542, 534, 0, 531, 532, 271, 528, 541,
501 1.1 christos 196, 222, 242, 540, 522, 244, 536, 552, 0, 519,
502 1.1 christos 265, 531, 548, 518, 270, 0, 0, 0, 0, 517,
503 1.1 christos 512, 522, 0, 0, 273, 0, 0, 514, 0, 0,
504 1.1 christos 525, 509, 524, 275, 515, 509, 504, 284, 504, 293,
505 1.1 christos 318, 0, 0, 0, 0, 0, 0, 508, 0, 0,
506 1.1 christos 503, 501, 501, 512, 503, 283, 502, 0, 512, 494,
507 1.1 christos 0, 0, 483, 497, 0, 492, 505, 488, 497, 501,
508 1.1 christos 497, 526, 667, 0, 0, 0, 0, 0, 0, 0,
509 1.1 christos
510 1.1 christos 0, 484, 500, 488, 495, 480, 0, 0, 0, 487,
511 1.1 christos 477, 492, 232, 0, 477, 294, 512, 491, 488, 289,
512 1.1 christos 479, 490, 471, 477, 0, 0, 487, 486, 462, 464,
513 1.1 christos 464, 479, 481, 0, 0, 477, 488, 461, 0, 448,
514 1.1 christos 0, 494, 0, 446, 454, 468, 0, 0, 468, 0,
515 1.1 christos 0, 0, 0, 469, 0, 0, 466, 0, 0, 0,
516 1.1 christos 0, 0, 483, 484, 0, 0, 455, 463, 463, 445,
517 1.1 christos 459, 443, 460, 0, 0, 458, 454, 440, 445, 441,
518 1.1 christos 448, 425, 435, 0, 448, 438, 0, 436, 338, 430,
519 1.1 christos 0, 431, 424, 427, 434, 425, 436, 427, 441, 427,
520 1.1 christos
521 1.1 christos 416, 0, 420, 0, 0, 422, 425, 427, 428, 413,
522 1.1 christos 413, 429, 412, 0, 420, 426, 423, 414, 423, 407,
523 1.1 christos 315, 177, 408, 403, 0, 0, 0, 0, 0, 407,
524 1.1 christos 0, 413, 419, 400, 0, 409, 0, 410, 411, 414,
525 1.1 christos 389, 404, 404, 391, 399, 393, 417, 418, 0, 0,
526 1.1 christos 0, 0, 0, 0, 0, 397, 302, 402, 388, 0,
527 1.1 christos 416, 390, 381, 380, 385, 379, 0, 381, 391, 0,
528 1.1 christos 375, 375, 404, 391, 386, 0, 0, 0, 385, 375,
529 1.1 christos 0, 0, 384, 0, 367, 381, 365, 0, 364, 359,
530 1.1 christos 0, 368, 0, 378, 0, 355, 0, 0, 373, 86,
531 1.1 christos
532 1.1 christos 362, 361, 365, 374, 0, 350, 0, 0, 368, 367,
533 1.1 christos 351, 0, 0, 356, 0, 335, 330, 339, 341, 0,
534 1.1 christos 0, 324, 324, 0, 0, 320, 333, 0, 320, 246,
535 1.1 christos 0, 0, 0, 0, 334, 0, 312, 0, 0, 305,
536 1.1 christos 309, 0, 314, 0, 0, 0, 0, 0, 0, 0,
537 1.1 christos 0, 309, 310, 304, 303, 292, 0, 287, 261, 0,
538 1.1 christos 0, 255, 241, 0, 254, 214, 186, 185, 0, 667,
539 1.1 christos 378, 382, 389, 179, 392, 395
540 1.1 christos } ;
541 1.1 christos
542 1.1 christos static const flex_int16_t yy_def[577] =
543 1.1 christos { 0,
544 1.1 christos 570, 1, 1, 1, 1, 1, 570, 570, 570, 570,
545 1.1 christos 570, 571, 570, 570, 570, 570, 570, 570, 570, 570,
546 1.1 christos 570, 572, 572, 570, 570, 570, 570, 570, 570, 571,
547 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
548 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
549 1.1 christos 570, 570, 570, 570, 570, 571, 38, 40, 44, 571,
550 1.1 christos 571, 46, 571, 571, 571, 571, 570, 570, 570, 570,
551 1.1 christos 570, 570, 570, 570, 573, 574, 23, 570, 575, 570,
552 1.1 christos 570, 570, 570, 570, 571, 571, 571, 571, 571, 571,
553 1.1 christos 571, 571, 571, 571, 576, 571, 571, 571, 571, 571,
554 1.1 christos
555 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
556 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
557 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
558 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
559 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
560 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
561 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
562 1.1 christos 571, 571, 571, 571, 570, 570, 570, 571, 571, 571,
563 1.1 christos 571, 571, 571, 570, 570, 570, 570, 573, 573, 574,
564 1.1 christos 575, 570, 570, 570, 571, 571, 571, 571, 571, 571,
565 1.1 christos
566 1.1 christos 571, 571, 571, 571, 571, 571, 571, 576, 571, 571,
567 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
568 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
569 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
570 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
571 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
572 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
573 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
574 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
575 1.1 christos 571, 573, 570, 571, 571, 571, 571, 571, 571, 571,
576 1.1 christos
577 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
578 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
579 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
580 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
581 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
582 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
583 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
584 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
585 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
586 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
587 1.1 christos
588 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
589 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
590 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
591 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
592 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
593 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
594 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
595 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
596 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
597 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
598 1.1 christos
599 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
600 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
601 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
602 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
603 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
604 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 571,
605 1.1 christos 571, 571, 571, 571, 571, 571, 571, 571, 571, 0,
606 1.1 christos 570, 570, 570, 570, 570, 570
607 1.1 christos } ;
608 1.1 christos
609 1.1 christos static const flex_int16_t yy_nxt[732] =
610 1.1 christos { 0,
611 1.1 christos 8, 9, 10, 11, 8, 12, 13, 14, 15, 16,
612 1.1 christos 17, 18, 19, 20, 12, 21, 22, 23, 23, 23,
613 1.1 christos 23, 23, 23, 23, 23, 23, 24, 25, 26, 27,
614 1.1 christos 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
615 1.1 christos 38, 39, 12, 40, 41, 42, 43, 44, 12, 45,
616 1.1 christos 46, 47, 48, 49, 50, 12, 12, 12, 51, 52,
617 1.1 christos 53, 12, 54, 55, 56, 56, 82, 57, 57, 72,
618 1.1 christos 58, 58, 80, 81, 59, 59, 61, 111, 69, 60,
619 1.1 christos 60, 76, 62, 63, 61, 73, 570, 64, 112, 65,
620 1.1 christos 62, 63, 83, 95, 139, 64, 70, 65, 140, 102,
621 1.1 christos
622 1.1 christos 78, 103, 95, 95, 78, 78, 115, 570, 530, 78,
623 1.1 christos 104, 570, 179, 105, 180, 95, 116, 106, 74, 176,
624 1.1 christos 183, 117, 79, 107, 171, 170, 184, 570, 185, 71,
625 1.1 christos 85, 86, 108, 531, 172, 109, 113, 166, 167, 110,
626 1.1 christos 168, 114, 141, 142, 169, 173, 220, 87, 88, 221,
627 1.1 christos 143, 118, 177, 186, 119, 187, 95, 89, 189, 90,
628 1.1 christos 193, 194, 91, 292, 92, 120, 197, 93, 199, 200,
629 1.1 christos 198, 94, 95, 121, 121, 121, 121, 135, 135, 135,
630 1.1 christos 135, 206, 207, 190, 96, 96, 96, 96, 236, 237,
631 1.1 christos 238, 239, 122, 136, 123, 178, 124, 241, 249, 113,
632 1.1 christos
633 1.1 christos 242, 137, 250, 223, 114, 569, 138, 125, 97, 126,
634 1.1 christos 479, 166, 167, 480, 168, 98, 224, 99, 169, 271,
635 1.1 christos 225, 243, 244, 100, 101, 128, 128, 128, 128, 202,
636 1.1 christos 568, 290, 294, 203, 298, 272, 295, 567, 299, 204,
637 1.1 christos 257, 205, 129, 130, 325, 131, 326, 296, 297, 300,
638 1.1 christos 301, 135, 135, 135, 135, 132, 327, 328, 329, 133,
639 1.1 christos 134, 144, 144, 144, 144, 144, 144, 136, 310, 309,
640 1.1 christos 395, 566, 263, 309, 330, 137, 264, 145, 311, 146,
641 1.1 christos 138, 265, 396, 334, 312, 313, 266, 335, 147, 331,
642 1.1 christos 550, 267, 565, 551, 148, 149, 149, 149, 149, 149,
643 1.1 christos
644 1.1 christos 149, 149, 149, 320, 339, 321, 564, 563, 339, 343,
645 1.1 christos 322, 150, 347, 343, 352, 151, 347, 356, 352, 500,
646 1.1 christos 501, 502, 374, 356, 152, 153, 375, 356, 404, 358,
647 1.1 christos 154, 155, 405, 359, 562, 363, 364, 561, 360, 560,
648 1.1 christos 398, 399, 559, 361, 558, 156, 400, 157, 362, 158,
649 1.1 christos 159, 557, 160, 161, 556, 447, 448, 365, 476, 555,
650 1.1 christos 162, 366, 449, 163, 164, 477, 554, 553, 552, 165,
651 1.1 christos 478, 549, 548, 547, 546, 545, 544, 543, 542, 367,
652 1.1 christos 66, 66, 66, 66, 66, 77, 77, 541, 77, 188,
653 1.1 christos 540, 188, 188, 188, 188, 188, 191, 191, 191, 208,
654 1.1 christos
655 1.1 christos 208, 208, 539, 538, 537, 536, 535, 534, 533, 532,
656 1.1 christos 529, 528, 527, 526, 525, 524, 523, 522, 521, 520,
657 1.1 christos 519, 518, 517, 516, 515, 514, 513, 512, 511, 510,
658 1.1 christos 509, 508, 507, 506, 505, 504, 503, 499, 498, 497,
659 1.1 christos 496, 495, 494, 493, 492, 491, 490, 489, 488, 487,
660 1.1 christos 486, 485, 484, 483, 482, 481, 475, 474, 473, 472,
661 1.1 christos 471, 470, 469, 468, 467, 466, 465, 464, 463, 462,
662 1.1 christos 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,
663 1.1 christos 451, 450, 446, 445, 444, 443, 420, 442, 441, 440,
664 1.1 christos 439, 438, 437, 436, 435, 434, 433, 432, 431, 430,
665 1.1 christos
666 1.1 christos 429, 428, 427, 426, 425, 424, 423, 422, 421, 420,
667 1.1 christos 419, 418, 417, 416, 415, 414, 413, 412, 411, 410,
668 1.1 christos 409, 408, 407, 406, 403, 402, 401, 397, 394, 393,
669 1.1 christos 392, 391, 390, 389, 388, 387, 189, 386, 385, 384,
670 1.1 christos 383, 382, 381, 380, 379, 378, 377, 376, 373, 372,
671 1.1 christos 371, 370, 369, 368, 357, 355, 354, 353, 351, 350,
672 1.1 christos 349, 348, 346, 345, 344, 342, 341, 340, 338, 337,
673 1.1 christos 336, 333, 332, 324, 323, 319, 318, 317, 316, 315,
674 1.1 christos 314, 308, 307, 306, 305, 304, 303, 302, 293, 189,
675 1.1 christos 291, 289, 288, 287, 286, 285, 284, 283, 282, 281,
676 1.1 christos
677 1.1 christos 280, 279, 278, 277, 276, 275, 274, 273, 270, 269,
678 1.1 christos 268, 262, 261, 260, 259, 258, 257, 256, 255, 254,
679 1.1 christos 253, 252, 251, 248, 247, 246, 245, 240, 235, 234,
680 1.1 christos 233, 232, 231, 230, 229, 228, 227, 226, 222, 219,
681 1.1 christos 218, 217, 216, 215, 214, 213, 212, 211, 210, 209,
682 1.1 christos 201, 196, 195, 192, 189, 182, 181, 175, 174, 170,
683 1.1 christos 127, 84, 75, 68, 67, 570, 7, 570, 570, 570,
684 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
685 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
686 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
687 1.1 christos
688 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
689 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
690 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
691 1.1 christos 570
692 1.1 christos } ;
693 1.1 christos
694 1.1 christos static const flex_int16_t yy_chk[732] =
695 1.1 christos { 0,
696 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
697 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
698 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
699 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
700 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
701 1.1 christos 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
702 1.1 christos 1, 1, 1, 1, 3, 4, 27, 3, 4, 20,
703 1.1 christos 3, 4, 26, 26, 3, 4, 5, 34, 18, 3,
704 1.1 christos 4, 22, 5, 5, 6, 20, 23, 5, 34, 5,
705 1.1 christos 6, 6, 27, 35, 42, 6, 18, 6, 42, 32,
706 1.1 christos
707 1.1 christos 22, 32, 43, 33, 22, 23, 36, 77, 500, 23,
708 1.1 christos 32, 77, 57, 32, 57, 37, 36, 32, 20, 54,
709 1.1 christos 60, 36, 22, 32, 49, 60, 71, 23, 71, 18,
710 1.1 christos 30, 30, 33, 500, 49, 33, 35, 47, 47, 33,
711 1.1 christos 47, 35, 43, 43, 47, 49, 110, 30, 30, 110,
712 1.1 christos 43, 37, 54, 74, 37, 74, 56, 30, 189, 30,
713 1.1 christos 84, 84, 30, 189, 30, 37, 87, 30, 88, 88,
714 1.1 christos 87, 30, 31, 38, 38, 38, 38, 41, 41, 41,
715 1.1 christos 41, 93, 93, 574, 31, 31, 31, 31, 129, 129,
716 1.1 christos 130, 130, 38, 41, 38, 56, 38, 133, 139, 56,
717 1.1 christos
718 1.1 christos 133, 41, 139, 112, 56, 568, 41, 38, 31, 38,
719 1.1 christos 422, 63, 63, 422, 63, 31, 112, 31, 63, 158,
720 1.1 christos 112, 134, 134, 31, 31, 40, 40, 40, 40, 92,
721 1.1 christos 567, 182, 195, 92, 196, 158, 195, 566, 196, 92,
722 1.1 christos 182, 92, 40, 40, 221, 40, 221, 195, 195, 196,
723 1.1 christos 196, 61, 61, 61, 61, 40, 222, 222, 222, 40,
724 1.1 christos 40, 44, 44, 44, 44, 44, 44, 61, 210, 209,
725 1.1 christos 313, 565, 154, 209, 223, 61, 154, 44, 210, 44,
726 1.1 christos 61, 154, 313, 226, 210, 210, 154, 226, 44, 223,
727 1.1 christos 530, 154, 563, 530, 44, 45, 45, 45, 45, 45,
728 1.1 christos
729 1.1 christos 45, 45, 45, 218, 231, 218, 562, 559, 231, 235,
730 1.1 christos 218, 45, 245, 235, 254, 45, 245, 258, 254, 457,
731 1.1 christos 457, 457, 276, 258, 45, 45, 276, 258, 320, 260,
732 1.1 christos 45, 46, 320, 260, 558, 261, 261, 556, 260, 555,
733 1.1 christos 316, 316, 554, 260, 553, 46, 316, 46, 260, 46,
734 1.1 christos 46, 552, 46, 46, 543, 389, 389, 261, 421, 541,
735 1.1 christos 46, 261, 389, 46, 46, 421, 540, 537, 535, 46,
736 1.1 christos 421, 529, 527, 526, 523, 522, 519, 518, 517, 261,
737 1.1 christos 571, 571, 571, 571, 571, 572, 572, 516, 572, 573,
738 1.1 christos 514, 573, 573, 573, 573, 573, 575, 575, 575, 576,
739 1.1 christos
740 1.1 christos 576, 576, 511, 510, 509, 506, 504, 503, 502, 501,
741 1.1 christos 499, 496, 494, 492, 490, 489, 487, 486, 485, 483,
742 1.1 christos 480, 479, 475, 474, 473, 472, 471, 469, 468, 466,
743 1.1 christos 465, 464, 463, 462, 461, 459, 458, 456, 448, 447,
744 1.1 christos 446, 445, 444, 443, 442, 441, 440, 439, 438, 436,
745 1.1 christos 434, 433, 432, 430, 424, 423, 420, 419, 418, 417,
746 1.1 christos 416, 415, 413, 412, 411, 410, 409, 408, 407, 406,
747 1.1 christos 403, 401, 400, 399, 398, 397, 396, 395, 394, 393,
748 1.1 christos 392, 390, 388, 386, 385, 383, 382, 381, 380, 379,
749 1.1 christos 378, 377, 376, 373, 372, 371, 370, 369, 368, 367,
750 1.1 christos
751 1.1 christos 364, 363, 357, 354, 349, 346, 345, 344, 342, 340,
752 1.1 christos 338, 337, 336, 333, 332, 331, 330, 329, 328, 327,
753 1.1 christos 324, 323, 322, 321, 319, 318, 317, 315, 312, 311,
754 1.1 christos 310, 306, 305, 304, 303, 302, 292, 291, 290, 289,
755 1.1 christos 288, 287, 286, 284, 283, 280, 279, 277, 275, 274,
756 1.1 christos 273, 272, 271, 268, 259, 257, 256, 255, 253, 252,
757 1.1 christos 251, 248, 242, 241, 240, 234, 233, 232, 230, 228,
758 1.1 christos 227, 225, 224, 220, 219, 217, 216, 214, 213, 212,
759 1.1 christos 211, 207, 206, 205, 202, 201, 199, 197, 194, 188,
760 1.1 christos 183, 181, 180, 179, 178, 174, 173, 171, 170, 167,
761 1.1 christos
762 1.1 christos 166, 165, 164, 163, 162, 161, 160, 159, 157, 156,
763 1.1 christos 155, 153, 152, 151, 150, 149, 148, 147, 145, 144,
764 1.1 christos 143, 142, 141, 138, 137, 136, 135, 132, 128, 127,
765 1.1 christos 125, 122, 121, 120, 119, 116, 114, 113, 111, 109,
766 1.1 christos 108, 107, 106, 104, 102, 101, 100, 99, 97, 96,
767 1.1 christos 89, 86, 85, 80, 75, 59, 58, 53, 50, 48,
768 1.1 christos 39, 28, 21, 17, 14, 7, 570, 570, 570, 570,
769 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
770 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
771 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
772 1.1 christos
773 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
774 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
775 1.1 christos 570, 570, 570, 570, 570, 570, 570, 570, 570, 570,
776 1.1 christos 570
777 1.1 christos } ;
778 1.1 christos
779 1.1 christos static yy_state_type yy_last_accepting_state;
780 1.1 christos static char *yy_last_accepting_cpos;
781 1.1 christos
782 1.1 christos extern int yy_flex_debug;
783 1.1 christos int yy_flex_debug = 0;
784 1.1 christos
785 1.1 christos /* The intent behind this definition is that it'll catch
786 1.1 christos * any uses of REJECT which flex missed.
787 1.1 christos */
788 1.1 christos #define REJECT reject_used_but_not_detected
789 1.1 christos #define yymore() yymore_used_but_not_detected
790 1.1 christos #define YY_MORE_ADJ 0
791 1.1 christos #define YY_RESTORE_YY_MORE_OFFSET
792 1.1 christos char *yytext;
793 1.1 christos #line 1 "./config/bfin-lex.l"
794 1.1 christos /* bfin-lex.l ADI Blackfin lexer
795 1.1 christos Copyright (C) 2005-2022 Free Software Foundation, Inc.
796 1.1 christos
797 1.1 christos This file is part of GAS, the GNU Assembler.
798 1.1 christos
799 1.1 christos GAS is free software; you can redistribute it and/or modify
800 1.1 christos it under the terms of the GNU General Public License as published by
801 1.1 christos the Free Software Foundation; either version 3, or (at your option)
802 1.1 christos any later version.
803 1.1 christos
804 1.1 christos GAS is distributed in the hope that it will be useful,
805 1.1 christos but WITHOUT ANY WARRANTY; without even the implied warranty of
806 1.1 christos MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
807 1.1 christos GNU General Public License for more details.
808 1.1 christos
809 1.1 christos You should have received a copy of the GNU General Public License
810 1.1 christos along with GAS; see the file COPYING. If not, write to the Free
811 1.1 christos Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
812 1.1 christos 02110-1301, USA. */
813 1.1 christos #line 23 "./config/bfin-lex.l"
814 1.1 christos #include "bfin-defs.h"
815 1.1 christos #include "config/bfin-parse.h"
816 1.1 christos
817 1.1 christos static long parse_int (char **end);
818 1.1 christos static int parse_halfreg (Register *r, int cl, char *hr);
819 1.1 christos static int parse_reg (Register *r, int type, char *rt);
820 1.1 christos int yylex (void);
821 1.1 christos
822 1.1 christos #define _REG yylval.reg
823 1.1 christos
824 1.1 christos /* Flex generates static functions "input" & "unput" which are not used. */
825 1.1 christos #define YY_NO_INPUT
826 1.1 christos #define YY_NO_UNPUT
827 1.1 christos
828 1.1 christos #line 828 "config/bfin-lex.c"
829 1.1 christos /* Define Start States ... Actually we will use exclusion.
830 1.1 christos If no start state is specified it should match any state
831 1.1 christos and <INITIAL> would match some keyword rules only with
832 1.1 christos initial. */
833 1.1 christos
834 1.1 christos #line 834 "config/bfin-lex.c"
835 1.1 christos
836 1.1 christos #define INITIAL 0
837 1.1 christos #define KEYWORD 1
838 1.1 christos #define FLAGS 2
839 1.1 christos
840 1.1 christos #ifndef YY_NO_UNISTD_H
841 1.1 christos /* Special case for "unistd.h", since it is non-ANSI. We include it way
842 1.1 christos * down here because we want the user's section 1 to have been scanned first.
843 1.1 christos * The user has a chance to override it with an option.
844 1.1 christos */
845 1.1 christos #include <unistd.h>
846 1.1 christos #endif
847 1.1 christos
848 1.1 christos #ifndef YY_EXTRA_TYPE
849 1.1 christos #define YY_EXTRA_TYPE void *
850 1.1 christos #endif
851 1.1 christos
852 1.1 christos static int yy_init_globals ( void );
853 1.1 christos
854 1.1 christos /* Accessor methods to globals.
855 1.1 christos These are made visible to non-reentrant scanners for convenience. */
856 1.1 christos
857 1.1 christos int yylex_destroy ( void );
858 1.1 christos
859 1.1 christos int yyget_debug ( void );
860 1.1 christos
861 1.1 christos void yyset_debug ( int debug_flag );
862 1.1 christos
863 1.1 christos YY_EXTRA_TYPE yyget_extra ( void );
864 1.1 christos
865 1.1 christos void yyset_extra ( YY_EXTRA_TYPE user_defined );
866 1.1 christos
867 1.1 christos FILE *yyget_in ( void );
868 1.1 christos
869 1.1 christos void yyset_in ( FILE * _in_str );
870 1.1 christos
871 1.1 christos FILE *yyget_out ( void );
872 1.1 christos
873 1.1 christos void yyset_out ( FILE * _out_str );
874 1.1 christos
875 1.1 christos int yyget_leng ( void );
876 1.1 christos
877 1.1 christos char *yyget_text ( void );
878 1.1 christos
879 1.1 christos int yyget_lineno ( void );
880 1.1 christos
881 1.1 christos void yyset_lineno ( int _line_number );
882 1.1 christos
883 1.1 christos /* Macros after this point can all be overridden by user definitions in
884 1.1 christos * section 1.
885 1.1 christos */
886 1.1 christos
887 1.1 christos #ifndef YY_SKIP_YYWRAP
888 1.1 christos #ifdef __cplusplus
889 1.1 christos extern "C" int yywrap ( void );
890 1.1 christos #else
891 1.1 christos extern int yywrap ( void );
892 1.1 christos #endif
893 1.1 christos #endif
894 1.1 christos
895 1.1 christos #ifndef YY_NO_UNPUT
896 1.1 christos
897 1.1 christos static void yyunput ( int c, char *buf_ptr );
898 1.1 christos
899 1.1 christos #endif
900 1.1 christos
901 1.1 christos #ifndef yytext_ptr
902 1.1 christos static void yy_flex_strncpy ( char *, const char *, int );
903 1.1 christos #endif
904 1.1 christos
905 1.1 christos #ifdef YY_NEED_STRLEN
906 1.1 christos static int yy_flex_strlen ( const char * );
907 1.1 christos #endif
908 1.1 christos
909 1.1 christos #ifndef YY_NO_INPUT
910 1.1 christos #ifdef __cplusplus
911 1.1 christos static int yyinput ( void );
912 1.1 christos #else
913 1.1 christos static int input ( void );
914 1.1 christos #endif
915 1.1 christos
916 1.1 christos #endif
917 1.1 christos
918 1.1 christos /* Amount of stuff to slurp up with each read. */
919 1.1 christos #ifndef YY_READ_BUF_SIZE
920 1.1 christos #ifdef __ia64__
921 1.1 christos /* On IA-64, the buffer size is 16k, not 8k */
922 1.1 christos #define YY_READ_BUF_SIZE 16384
923 1.1 christos #else
924 1.1 christos #define YY_READ_BUF_SIZE 8192
925 1.1 christos #endif /* __ia64__ */
926 1.1 christos #endif
927 1.1 christos
928 1.1 christos /* Copy whatever the last rule matched to the standard output. */
929 1.1 christos #ifndef ECHO
930 1.1 christos /* This used to be an fputs(), but since the string might contain NUL's,
931 1.1 christos * we now use fwrite().
932 1.1 christos */
933 1.1 christos #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
934 1.1 christos #endif
935 1.1 christos
936 1.1 christos /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
937 1.1 christos * is returned in "result".
938 1.1 christos */
939 1.1 christos #ifndef YY_INPUT
940 1.1 christos #define YY_INPUT(buf,result,max_size) \
941 1.1 christos if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
942 1.1 christos { \
943 1.1 christos int c = '*'; \
944 1.1 christos int n; \
945 1.1 christos for ( n = 0; n < max_size && \
946 1.1 christos (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
947 1.1 christos buf[n] = (char) c; \
948 1.1 christos if ( c == '\n' ) \
949 1.1 christos buf[n++] = (char) c; \
950 1.1 christos if ( c == EOF && ferror( yyin ) ) \
951 1.1 christos YY_FATAL_ERROR( "input in flex scanner failed" ); \
952 1.1 christos result = n; \
953 1.1 christos } \
954 1.1 christos else \
955 1.1 christos { \
956 1.1 christos errno=0; \
957 1.1 christos while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
958 1.1 christos { \
959 1.1 christos if( errno != EINTR) \
960 1.1 christos { \
961 1.1 christos YY_FATAL_ERROR( "input in flex scanner failed" ); \
962 1.1 christos break; \
963 1.1 christos } \
964 1.1 christos errno=0; \
965 1.1 christos clearerr(yyin); \
966 1.1 christos } \
967 1.1 christos }\
968 1.1 christos \
969 1.1 christos
970 1.1 christos #endif
971 1.1 christos
972 1.1 christos /* No semi-colon after return; correct usage is to write "yyterminate();" -
973 1.1 christos * we don't want an extra ';' after the "return" because that will cause
974 1.1 christos * some compilers to complain about unreachable statements.
975 1.1 christos */
976 1.1 christos #ifndef yyterminate
977 1.1 christos #define yyterminate() return YY_NULL
978 1.1 christos #endif
979 1.1 christos
980 1.1 christos /* Number of entries by which start-condition stack grows. */
981 1.1 christos #ifndef YY_START_STACK_INCR
982 1.1 christos #define YY_START_STACK_INCR 25
983 1.1 christos #endif
984 1.1 christos
985 1.1 christos /* Report a fatal error. */
986 1.1 christos #ifndef YY_FATAL_ERROR
987 1.1 christos #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
988 1.1 christos #endif
989 1.1 christos
990 1.1 christos /* end tables serialization structures and prototypes */
991 1.1 christos
992 1.1 christos /* Default declaration of generated scanner - a define so the user can
993 1.1 christos * easily add parameters.
994 1.1 christos */
995 1.1 christos #ifndef YY_DECL
996 1.1 christos #define YY_DECL_IS_OURS 1
997 1.1 christos
998 1.1 christos extern int yylex (void);
999 1.1 christos
1000 1.1 christos #define YY_DECL int yylex (void)
1001 1.1 christos #endif /* !YY_DECL */
1002 1.1 christos
1003 1.1 christos /* Code executed at the beginning of each rule, after yytext and yyleng
1004 1.1 christos * have been set up.
1005 1.1 christos */
1006 1.1 christos #ifndef YY_USER_ACTION
1007 1.1 christos #define YY_USER_ACTION
1008 1.1 christos #endif
1009 1.1 christos
1010 1.1 christos /* Code executed at the end of each rule. */
1011 1.1 christos #ifndef YY_BREAK
1012 1.1 christos #define YY_BREAK /*LINTED*/break;
1013 1.1 christos #endif
1014 1.1 christos
1015 1.1 christos #define YY_RULE_SETUP \
1016 1.1 christos YY_USER_ACTION
1017 1.1 christos
1018 1.1 christos /** The main scanner function which does all the work.
1019 1.1 christos */
1020 1.1 christos YY_DECL
1021 1.1 christos {
1022 1.1 christos yy_state_type yy_current_state;
1023 1.1 christos char *yy_cp, *yy_bp;
1024 1.1 christos int yy_act;
1025 1.1 christos
1026 1.1 christos if ( !(yy_init) )
1027 1.1 christos {
1028 1.1 christos (yy_init) = 1;
1029 1.1 christos
1030 1.1 christos #ifdef YY_USER_INIT
1031 1.1 christos YY_USER_INIT;
1032 1.1 christos #endif
1033 1.1 christos
1034 1.1 christos if ( ! (yy_start) )
1035 1.1 christos (yy_start) = 1; /* first start state */
1036 1.1 christos
1037 1.1 christos if ( ! yyin )
1038 1.1 christos yyin = stdin;
1039 1.1 christos
1040 1.1 christos if ( ! yyout )
1041 1.1 christos yyout = stdout;
1042 1.1 christos
1043 1.1 christos if ( ! YY_CURRENT_BUFFER ) {
1044 1.1 christos yyensure_buffer_stack ();
1045 1.1 christos YY_CURRENT_BUFFER_LVALUE =
1046 1.1 christos yy_create_buffer( yyin, YY_BUF_SIZE );
1047 1.1 christos }
1048 1.1 christos
1049 1.1 christos yy_load_buffer_state( );
1050 1.1 christos }
1051 1.1 christos
1052 1.1 christos {
1053 1.1 christos #line 46 "./config/bfin-lex.l"
1054 1.1 christos
1055 1.1 christos #line 1055 "config/bfin-lex.c"
1056 1.1 christos
1057 1.1 christos while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
1058 1.1 christos {
1059 1.1 christos yy_cp = (yy_c_buf_p);
1060 1.1 christos
1061 1.1 christos /* Support of yytext. */
1062 1.1 christos *yy_cp = (yy_hold_char);
1063 1.1 christos
1064 1.1 christos /* yy_bp points to the position in yy_ch_buf of the start of
1065 1.1 christos * the current run.
1066 1.1 christos */
1067 1.1 christos yy_bp = yy_cp;
1068 1.1 christos
1069 1.1 christos yy_current_state = (yy_start);
1070 1.1 christos yy_match:
1071 1.1 christos do
1072 1.1 christos {
1073 1.1 christos YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1074 1.1 christos if ( yy_accept[yy_current_state] )
1075 1.1 christos {
1076 1.1 christos (yy_last_accepting_state) = yy_current_state;
1077 1.1 christos (yy_last_accepting_cpos) = yy_cp;
1078 1.1 christos }
1079 1.1 christos while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1080 1.1 christos {
1081 1.1 christos yy_current_state = (int) yy_def[yy_current_state];
1082 1.1 christos if ( yy_current_state >= 571 )
1083 1.1 christos yy_c = yy_meta[yy_c];
1084 1.1 christos }
1085 1.1 christos yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1086 1.1 christos ++yy_cp;
1087 1.1 christos }
1088 1.1 christos while ( yy_base[yy_current_state] != 667 );
1089 1.1 christos
1090 1.1 christos yy_find_action:
1091 1.1 christos yy_act = yy_accept[yy_current_state];
1092 1.1 christos if ( yy_act == 0 )
1093 1.1 christos { /* have to back up */
1094 1.1 christos yy_cp = (yy_last_accepting_cpos);
1095 1.1 christos yy_current_state = (yy_last_accepting_state);
1096 1.1 christos yy_act = yy_accept[yy_current_state];
1097 1.1 christos }
1098 1.1 christos
1099 1.1 christos YY_DO_BEFORE_ACTION;
1100 1.1 christos
1101 1.1 christos do_action: /* This label is used only to access EOF actions. */
1102 1.1 christos
1103 1.1 christos switch ( yy_act )
1104 1.1 christos { /* beginning of action switch */
1105 1.1 christos case 0: /* must back up */
1106 1.1 christos /* undo the effects of YY_DO_BEFORE_ACTION */
1107 1.1 christos *yy_cp = (yy_hold_char);
1108 1.1 christos yy_cp = (yy_last_accepting_cpos);
1109 1.1 christos yy_current_state = (yy_last_accepting_state);
1110 1.1 christos goto yy_find_action;
1111 1.1 christos
1112 1.1 christos case 1:
1113 1.1 christos YY_RULE_SETUP
1114 1.1 christos #line 47 "./config/bfin-lex.l"
1115 1.1 christos _REG.regno = REG_sftreset; return REG;
1116 1.1 christos YY_BREAK
1117 1.1 christos case 2:
1118 1.1 christos YY_RULE_SETUP
1119 1.1 christos #line 48 "./config/bfin-lex.l"
1120 1.1 christos _REG.regno = REG_omode; return REG;
1121 1.1 christos YY_BREAK
1122 1.1 christos case 3:
1123 1.1 christos YY_RULE_SETUP
1124 1.1 christos #line 49 "./config/bfin-lex.l"
1125 1.1 christos _REG.regno = REG_idle_req; return REG;
1126 1.1 christos YY_BREAK
1127 1.1 christos case 4:
1128 1.1 christos YY_RULE_SETUP
1129 1.1 christos #line 50 "./config/bfin-lex.l"
1130 1.1 christos _REG.regno = REG_hwerrcause; return REG;
1131 1.1 christos YY_BREAK
1132 1.1 christos case 5:
1133 1.1 christos YY_RULE_SETUP
1134 1.1 christos #line 51 "./config/bfin-lex.l"
1135 1.1 christos _REG.regno = REG_excause; return REG;
1136 1.1 christos YY_BREAK
1137 1.1 christos case 6:
1138 1.1 christos YY_RULE_SETUP
1139 1.1 christos #line 52 "./config/bfin-lex.l"
1140 1.1 christos _REG.regno = REG_emucause; return REG;
1141 1.1 christos YY_BREAK
1142 1.1 christos case 7:
1143 1.1 christos YY_RULE_SETUP
1144 1.1 christos #line 53 "./config/bfin-lex.l"
1145 1.1 christos return Z;
1146 1.1 christos YY_BREAK
1147 1.1 christos case 8:
1148 1.1 christos YY_RULE_SETUP
1149 1.1 christos #line 54 "./config/bfin-lex.l"
1150 1.1 christos return X;
1151 1.1 christos YY_BREAK
1152 1.1 christos case 9:
1153 1.1 christos YY_RULE_SETUP
1154 1.1 christos #line 55 "./config/bfin-lex.l"
1155 1.1 christos yylval.value = M_W32; return MMOD;
1156 1.1 christos YY_BREAK
1157 1.1 christos case 10:
1158 1.1 christos YY_RULE_SETUP
1159 1.1 christos #line 56 "./config/bfin-lex.l"
1160 1.1 christos return W;
1161 1.1 christos YY_BREAK
1162 1.1 christos case 11:
1163 1.1 christos YY_RULE_SETUP
1164 1.1 christos #line 57 "./config/bfin-lex.l"
1165 1.1 christos return VIT_MAX;
1166 1.1 christos YY_BREAK
1167 1.1 christos case 12:
1168 1.1 christos YY_RULE_SETUP
1169 1.1 christos #line 58 "./config/bfin-lex.l"
1170 1.1 christos return V; /* Special: V is a statflag and a modifier. */
1171 1.1 christos YY_BREAK
1172 1.1 christos case 13:
1173 1.1 christos YY_RULE_SETUP
1174 1.1 christos #line 59 "./config/bfin-lex.l"
1175 1.1 christos _REG.regno = REG_USP; return REG;
1176 1.1 christos YY_BREAK
1177 1.1 christos case 14:
1178 1.1 christos YY_RULE_SETUP
1179 1.1 christos #line 60 "./config/bfin-lex.l"
1180 1.1 christos return TL;
1181 1.1 christos YY_BREAK
1182 1.1 christos case 15:
1183 1.1 christos YY_RULE_SETUP
1184 1.1 christos #line 61 "./config/bfin-lex.l"
1185 1.1 christos return TH;
1186 1.1 christos YY_BREAK
1187 1.1 christos case 16:
1188 1.1 christos YY_RULE_SETUP
1189 1.1 christos #line 62 "./config/bfin-lex.l"
1190 1.1 christos yylval.value = M_TFU; return MMOD;
1191 1.1 christos YY_BREAK
1192 1.1 christos case 17:
1193 1.1 christos YY_RULE_SETUP
1194 1.1 christos #line 63 "./config/bfin-lex.l"
1195 1.1 christos return TESTSET;
1196 1.1 christos YY_BREAK
1197 1.1 christos case 18:
1198 1.1 christos YY_RULE_SETUP
1199 1.1 christos #line 64 "./config/bfin-lex.l"
1200 1.1 christos yylval.value = M_T; return MMOD;
1201 1.1 christos YY_BREAK
1202 1.1 christos case 19:
1203 1.1 christos YY_RULE_SETUP
1204 1.1 christos #line 65 "./config/bfin-lex.l"
1205 1.1 christos return S;
1206 1.1 christos YY_BREAK
1207 1.1 christos case 20:
1208 1.1 christos YY_RULE_SETUP
1209 1.1 christos #line 66 "./config/bfin-lex.l"
1210 1.1 christos _REG.regno = REG_SYSCFG; return REG;
1211 1.1 christos YY_BREAK
1212 1.1 christos case 21:
1213 1.1 christos YY_RULE_SETUP
1214 1.1 christos #line 67 "./config/bfin-lex.l"
1215 1.1 christos return STI;
1216 1.1 christos YY_BREAK
1217 1.1 christos case 22:
1218 1.1 christos YY_RULE_SETUP
1219 1.1 christos #line 68 "./config/bfin-lex.l"
1220 1.1 christos return SSYNC;
1221 1.1 christos YY_BREAK
1222 1.1 christos case 23:
1223 1.1 christos YY_RULE_SETUP
1224 1.1 christos #line 69 "./config/bfin-lex.l"
1225 1.1 christos _REG.regno = REG_SP; _REG.flags = F_REG_LOW; return HALF_REG;
1226 1.1 christos YY_BREAK
1227 1.1 christos case 24:
1228 1.1 christos YY_RULE_SETUP
1229 1.1 christos #line 70 "./config/bfin-lex.l"
1230 1.1 christos _REG.regno = REG_SP; _REG.flags = F_REG_HIGH; return HALF_REG;
1231 1.1 christos YY_BREAK
1232 1.1 christos case 25:
1233 1.1 christos YY_RULE_SETUP
1234 1.1 christos #line 71 "./config/bfin-lex.l"
1235 1.1 christos _REG.regno = REG_SP; return REG;
1236 1.1 christos YY_BREAK
1237 1.1 christos case 26:
1238 1.1 christos YY_RULE_SETUP
1239 1.1 christos #line 72 "./config/bfin-lex.l"
1240 1.1 christos return SIGNBITS;
1241 1.1 christos YY_BREAK
1242 1.1 christos case 27:
1243 1.1 christos YY_RULE_SETUP
1244 1.1 christos #line 73 "./config/bfin-lex.l"
1245 1.1 christos return SIGN;
1246 1.1 christos YY_BREAK
1247 1.1 christos case 28:
1248 1.1 christos YY_RULE_SETUP
1249 1.1 christos #line 74 "./config/bfin-lex.l"
1250 1.1 christos _REG.regno = REG_SEQSTAT; return REG;
1251 1.1 christos YY_BREAK
1252 1.1 christos case 29:
1253 1.1 christos YY_RULE_SETUP
1254 1.1 christos #line 75 "./config/bfin-lex.l"
1255 1.1 christos return SEARCH;
1256 1.1 christos YY_BREAK
1257 1.1 christos case 30:
1258 1.1 christos YY_RULE_SETUP
1259 1.1 christos #line 76 "./config/bfin-lex.l"
1260 1.1 christos return SHIFT;
1261 1.1 christos YY_BREAK
1262 1.1 christos case 31:
1263 1.1 christos YY_RULE_SETUP
1264 1.1 christos #line 77 "./config/bfin-lex.l"
1265 1.1 christos return SCO;
1266 1.1 christos YY_BREAK
1267 1.1 christos case 32:
1268 1.1 christos YY_RULE_SETUP
1269 1.1 christos #line 79 "./config/bfin-lex.l"
1270 1.1 christos return SAA;
1271 1.1 christos YY_BREAK
1272 1.1 christos case 33:
1273 1.1 christos YY_RULE_SETUP
1274 1.1 christos #line 80 "./config/bfin-lex.l"
1275 1.1 christos yylval.value = M_S2RND; return MMOD;
1276 1.1 christos YY_BREAK
1277 1.1 christos case 34:
1278 1.1 christos YY_RULE_SETUP
1279 1.1 christos #line 81 "./config/bfin-lex.l"
1280 1.1 christos return RTX;
1281 1.1 christos YY_BREAK
1282 1.1 christos case 35:
1283 1.1 christos YY_RULE_SETUP
1284 1.1 christos #line 82 "./config/bfin-lex.l"
1285 1.1 christos return RTS;
1286 1.1 christos YY_BREAK
1287 1.1 christos case 36:
1288 1.1 christos YY_RULE_SETUP
1289 1.1 christos #line 83 "./config/bfin-lex.l"
1290 1.1 christos return RTN;
1291 1.1 christos YY_BREAK
1292 1.1 christos case 37:
1293 1.1 christos YY_RULE_SETUP
1294 1.1 christos #line 84 "./config/bfin-lex.l"
1295 1.1 christos return RTI;
1296 1.1 christos YY_BREAK
1297 1.1 christos case 38:
1298 1.1 christos YY_RULE_SETUP
1299 1.1 christos #line 85 "./config/bfin-lex.l"
1300 1.1 christos return RTE;
1301 1.1 christos YY_BREAK
1302 1.1 christos case 39:
1303 1.1 christos YY_RULE_SETUP
1304 1.1 christos #line 86 "./config/bfin-lex.l"
1305 1.1 christos return ROT;
1306 1.1 christos YY_BREAK
1307 1.1 christos case 40:
1308 1.1 christos YY_RULE_SETUP
1309 1.1 christos #line 87 "./config/bfin-lex.l"
1310 1.1 christos return RND20;
1311 1.1 christos YY_BREAK
1312 1.1 christos case 41:
1313 1.1 christos YY_RULE_SETUP
1314 1.1 christos #line 88 "./config/bfin-lex.l"
1315 1.1 christos return RND12;
1316 1.1 christos YY_BREAK
1317 1.1 christos case 42:
1318 1.1 christos YY_RULE_SETUP
1319 1.1 christos #line 89 "./config/bfin-lex.l"
1320 1.1 christos return RNDL;
1321 1.1 christos YY_BREAK
1322 1.1 christos case 43:
1323 1.1 christos YY_RULE_SETUP
1324 1.1 christos #line 90 "./config/bfin-lex.l"
1325 1.1 christos return RNDH;
1326 1.1 christos YY_BREAK
1327 1.1 christos case 44:
1328 1.1 christos YY_RULE_SETUP
1329 1.1 christos #line 91 "./config/bfin-lex.l"
1330 1.1 christos return RND;
1331 1.1 christos YY_BREAK
1332 1.1 christos case 45:
1333 1.1 christos YY_RULE_SETUP
1334 1.1 christos #line 93 "./config/bfin-lex.l"
1335 1.1 christos return parse_halfreg(&yylval.reg, T_REG_R, yytext);
1336 1.1 christos YY_BREAK
1337 1.1 christos case 46:
1338 1.1 christos YY_RULE_SETUP
1339 1.1 christos #line 95 "./config/bfin-lex.l"
1340 1.1 christos _REG.regno = REG_RETS; return REG;
1341 1.1 christos YY_BREAK
1342 1.1 christos case 47:
1343 1.1 christos YY_RULE_SETUP
1344 1.1 christos #line 96 "./config/bfin-lex.l"
1345 1.1 christos _REG.regno = REG_RETI; return REG;
1346 1.1 christos YY_BREAK
1347 1.1 christos case 48:
1348 1.1 christos YY_RULE_SETUP
1349 1.1 christos #line 97 "./config/bfin-lex.l"
1350 1.1 christos _REG.regno = REG_RETX; return REG;
1351 1.1 christos YY_BREAK
1352 1.1 christos case 49:
1353 1.1 christos YY_RULE_SETUP
1354 1.1 christos #line 98 "./config/bfin-lex.l"
1355 1.1 christos _REG.regno = REG_RETN; return REG;
1356 1.1 christos YY_BREAK
1357 1.1 christos case 50:
1358 1.1 christos YY_RULE_SETUP
1359 1.1 christos #line 99 "./config/bfin-lex.l"
1360 1.1 christos _REG.regno = REG_RETE; return REG;
1361 1.1 christos YY_BREAK
1362 1.1 christos case 51:
1363 1.1 christos YY_RULE_SETUP
1364 1.1 christos #line 100 "./config/bfin-lex.l"
1365 1.1 christos _REG.regno = REG_EMUDAT; return REG;
1366 1.1 christos YY_BREAK
1367 1.1 christos case 52:
1368 1.1 christos YY_RULE_SETUP
1369 1.1 christos #line 101 "./config/bfin-lex.l"
1370 1.1 christos return RAISE;
1371 1.1 christos YY_BREAK
1372 1.1 christos case 53:
1373 1.1 christos YY_RULE_SETUP
1374 1.1 christos #line 103 "./config/bfin-lex.l"
1375 1.1 christos return parse_reg (&yylval.reg, T_REG_R, yytext);
1376 1.1 christos YY_BREAK
1377 1.1 christos case 54:
1378 1.1 christos YY_RULE_SETUP
1379 1.1 christos #line 105 "./config/bfin-lex.l"
1380 1.1 christos return R;
1381 1.1 christos YY_BREAK
1382 1.1 christos case 55:
1383 1.1 christos YY_RULE_SETUP
1384 1.1 christos #line 106 "./config/bfin-lex.l"
1385 1.1 christos return PRNT;
1386 1.1 christos YY_BREAK
1387 1.1 christos case 56:
1388 1.1 christos YY_RULE_SETUP
1389 1.1 christos #line 107 "./config/bfin-lex.l"
1390 1.1 christos return PC;
1391 1.1 christos YY_BREAK
1392 1.1 christos case 57:
1393 1.1 christos YY_RULE_SETUP
1394 1.1 christos #line 108 "./config/bfin-lex.l"
1395 1.1 christos return PACK;
1396 1.1 christos YY_BREAK
1397 1.1 christos case 58:
1398 1.1 christos YY_RULE_SETUP
1399 1.1 christos #line 110 "./config/bfin-lex.l"
1400 1.1 christos return parse_halfreg (&yylval.reg, T_REG_P, yytext);
1401 1.1 christos YY_BREAK
1402 1.1 christos case 59:
1403 1.1 christos YY_RULE_SETUP
1404 1.1 christos #line 111 "./config/bfin-lex.l"
1405 1.1 christos return parse_reg (&yylval.reg, T_REG_P, yytext);
1406 1.1 christos YY_BREAK
1407 1.1 christos case 60:
1408 1.1 christos YY_RULE_SETUP
1409 1.1 christos #line 113 "./config/bfin-lex.l"
1410 1.1 christos return OUTC;
1411 1.1 christos YY_BREAK
1412 1.1 christos case 61:
1413 1.1 christos YY_RULE_SETUP
1414 1.1 christos #line 114 "./config/bfin-lex.l"
1415 1.1 christos return ONES;
1416 1.1 christos YY_BREAK
1417 1.1 christos case 62:
1418 1.1 christos YY_RULE_SETUP
1419 1.1 christos #line 116 "./config/bfin-lex.l"
1420 1.1 christos return NOT;
1421 1.1 christos YY_BREAK
1422 1.1 christos case 63:
1423 1.1 christos YY_RULE_SETUP
1424 1.1 christos #line 117 "./config/bfin-lex.l"
1425 1.1 christos return NOP;
1426 1.1 christos YY_BREAK
1427 1.1 christos case 64:
1428 1.1 christos YY_RULE_SETUP
1429 1.1 christos #line 118 "./config/bfin-lex.l"
1430 1.1 christos return MNOP;
1431 1.1 christos YY_BREAK
1432 1.1 christos case 65:
1433 1.1 christos YY_RULE_SETUP
1434 1.1 christos #line 119 "./config/bfin-lex.l"
1435 1.1 christos return NS;
1436 1.1 christos YY_BREAK
1437 1.1 christos case 66:
1438 1.1 christos YY_RULE_SETUP
1439 1.1 christos #line 122 "./config/bfin-lex.l"
1440 1.1 christos return MIN;
1441 1.1 christos YY_BREAK
1442 1.1 christos case 67:
1443 1.1 christos YY_RULE_SETUP
1444 1.1 christos #line 123 "./config/bfin-lex.l"
1445 1.1 christos return MAX;
1446 1.1 christos YY_BREAK
1447 1.1 christos case 68:
1448 1.1 christos YY_RULE_SETUP
1449 1.1 christos #line 125 "./config/bfin-lex.l"
1450 1.1 christos return parse_halfreg (&yylval.reg, T_REG_M, yytext);
1451 1.1 christos YY_BREAK
1452 1.1 christos case 69:
1453 1.1 christos YY_RULE_SETUP
1454 1.1 christos #line 126 "./config/bfin-lex.l"
1455 1.1 christos return parse_reg (&yylval.reg, T_REG_M, yytext);
1456 1.1 christos YY_BREAK
1457 1.1 christos case 70:
1458 1.1 christos YY_RULE_SETUP
1459 1.1 christos #line 128 "./config/bfin-lex.l"
1460 1.1 christos return M;
1461 1.1 christos YY_BREAK
1462 1.1 christos case 71:
1463 1.1 christos YY_RULE_SETUP
1464 1.1 christos #line 129 "./config/bfin-lex.l"
1465 1.1 christos return LT;
1466 1.1 christos YY_BREAK
1467 1.1 christos case 72:
1468 1.1 christos YY_RULE_SETUP
1469 1.1 christos #line 130 "./config/bfin-lex.l"
1470 1.1 christos return LSHIFT;
1471 1.1 christos YY_BREAK
1472 1.1 christos case 73:
1473 1.1 christos YY_RULE_SETUP
1474 1.1 christos #line 131 "./config/bfin-lex.l"
1475 1.1 christos return LSETUP;
1476 1.1 christos YY_BREAK
1477 1.1 christos case 74:
1478 1.1 christos YY_RULE_SETUP
1479 1.1 christos #line 132 "./config/bfin-lex.l"
1480 1.1 christos return LOOP;
1481 1.1 christos YY_BREAK
1482 1.1 christos case 75:
1483 1.1 christos YY_RULE_SETUP
1484 1.1 christos #line 133 "./config/bfin-lex.l"
1485 1.1 christos return LOOP_BEGIN;
1486 1.1 christos YY_BREAK
1487 1.1 christos case 76:
1488 1.1 christos YY_RULE_SETUP
1489 1.1 christos #line 134 "./config/bfin-lex.l"
1490 1.1 christos return LOOP_END;
1491 1.1 christos YY_BREAK
1492 1.1 christos case 77:
1493 1.1 christos YY_RULE_SETUP
1494 1.1 christos #line 136 "./config/bfin-lex.l"
1495 1.1 christos return LE;
1496 1.1 christos YY_BREAK
1497 1.1 christos case 78:
1498 1.1 christos YY_RULE_SETUP
1499 1.1 christos #line 137 "./config/bfin-lex.l"
1500 1.1 christos _REG.regno = REG_LC0; return REG;
1501 1.1 christos YY_BREAK
1502 1.1 christos case 79:
1503 1.1 christos YY_RULE_SETUP
1504 1.1 christos #line 138 "./config/bfin-lex.l"
1505 1.1 christos _REG.regno = REG_LT0; return REG;
1506 1.1 christos YY_BREAK
1507 1.1 christos case 80:
1508 1.1 christos YY_RULE_SETUP
1509 1.1 christos #line 139 "./config/bfin-lex.l"
1510 1.1 christos _REG.regno = REG_LB0; return REG;
1511 1.1 christos YY_BREAK
1512 1.1 christos case 81:
1513 1.1 christos YY_RULE_SETUP
1514 1.1 christos #line 140 "./config/bfin-lex.l"
1515 1.1 christos _REG.regno = REG_LC1; return REG;
1516 1.1 christos YY_BREAK
1517 1.1 christos case 82:
1518 1.1 christos YY_RULE_SETUP
1519 1.1 christos #line 141 "./config/bfin-lex.l"
1520 1.1 christos _REG.regno = REG_LT1; return REG;
1521 1.1 christos YY_BREAK
1522 1.1 christos case 83:
1523 1.1 christos YY_RULE_SETUP
1524 1.1 christos #line 142 "./config/bfin-lex.l"
1525 1.1 christos _REG.regno = REG_LB1; return REG;
1526 1.1 christos YY_BREAK
1527 1.1 christos case 84:
1528 1.1 christos YY_RULE_SETUP
1529 1.1 christos #line 144 "./config/bfin-lex.l"
1530 1.1 christos return parse_halfreg (&yylval.reg, T_REG_L, yytext);
1531 1.1 christos YY_BREAK
1532 1.1 christos case 85:
1533 1.1 christos YY_RULE_SETUP
1534 1.1 christos #line 145 "./config/bfin-lex.l"
1535 1.1 christos return parse_reg (&yylval.reg, T_REG_L, yytext);
1536 1.1 christos YY_BREAK
1537 1.1 christos case 86:
1538 1.1 christos YY_RULE_SETUP
1539 1.1 christos #line 146 "./config/bfin-lex.l"
1540 1.1 christos return LO;
1541 1.1 christos YY_BREAK
1542 1.1 christos case 87:
1543 1.1 christos YY_RULE_SETUP
1544 1.1 christos #line 147 "./config/bfin-lex.l"
1545 1.1 christos { BEGIN 0; return JUMP_DOT_S;}
1546 1.1 christos YY_BREAK
1547 1.1 christos case 88:
1548 1.1 christos YY_RULE_SETUP
1549 1.1 christos #line 148 "./config/bfin-lex.l"
1550 1.1 christos { BEGIN 0; return JUMP_DOT_L;}
1551 1.1 christos YY_BREAK
1552 1.1 christos case 89:
1553 1.1 christos YY_RULE_SETUP
1554 1.1 christos #line 149 "./config/bfin-lex.l"
1555 1.1 christos { BEGIN 0; return JUMP;}
1556 1.1 christos YY_BREAK
1557 1.1 christos case 90:
1558 1.1 christos YY_RULE_SETUP
1559 1.1 christos #line 150 "./config/bfin-lex.l"
1560 1.1 christos { BEGIN 0; return JUMP_DOT_L; }
1561 1.1 christos YY_BREAK
1562 1.1 christos case 91:
1563 1.1 christos YY_RULE_SETUP
1564 1.1 christos #line 151 "./config/bfin-lex.l"
1565 1.1 christos yylval.value = M_IU; return MMOD;
1566 1.1 christos YY_BREAK
1567 1.1 christos case 92:
1568 1.1 christos YY_RULE_SETUP
1569 1.1 christos #line 152 "./config/bfin-lex.l"
1570 1.1 christos yylval.value = M_ISS2; return MMOD;
1571 1.1 christos YY_BREAK
1572 1.1 christos case 93:
1573 1.1 christos YY_RULE_SETUP
1574 1.1 christos #line 153 "./config/bfin-lex.l"
1575 1.1 christos yylval.value = M_IS; return MMOD;
1576 1.1 christos YY_BREAK
1577 1.1 christos case 94:
1578 1.1 christos YY_RULE_SETUP
1579 1.1 christos #line 154 "./config/bfin-lex.l"
1580 1.1 christos yylval.value = M_IH; return MMOD;
1581 1.1 christos YY_BREAK
1582 1.1 christos case 95:
1583 1.1 christos YY_RULE_SETUP
1584 1.1 christos #line 155 "./config/bfin-lex.l"
1585 1.1 christos return IF;
1586 1.1 christos YY_BREAK
1587 1.1 christos case 96:
1588 1.1 christos YY_RULE_SETUP
1589 1.1 christos #line 156 "./config/bfin-lex.l"
1590 1.1 christos return parse_halfreg (&yylval.reg, T_REG_I, yytext);
1591 1.1 christos YY_BREAK
1592 1.1 christos case 97:
1593 1.1 christos YY_RULE_SETUP
1594 1.1 christos #line 157 "./config/bfin-lex.l"
1595 1.1 christos return parse_reg (&yylval.reg, T_REG_I, yytext);
1596 1.1 christos YY_BREAK
1597 1.1 christos case 98:
1598 1.1 christos YY_RULE_SETUP
1599 1.1 christos #line 158 "./config/bfin-lex.l"
1600 1.1 christos return HLT;
1601 1.1 christos YY_BREAK
1602 1.1 christos case 99:
1603 1.1 christos YY_RULE_SETUP
1604 1.1 christos #line 159 "./config/bfin-lex.l"
1605 1.1 christos return HI;
1606 1.1 christos YY_BREAK
1607 1.1 christos case 100:
1608 1.1 christos YY_RULE_SETUP
1609 1.1 christos #line 160 "./config/bfin-lex.l"
1610 1.1 christos return GT;
1611 1.1 christos YY_BREAK
1612 1.1 christos case 101:
1613 1.1 christos YY_RULE_SETUP
1614 1.1 christos #line 161 "./config/bfin-lex.l"
1615 1.1 christos return GE;
1616 1.1 christos YY_BREAK
1617 1.1 christos case 102:
1618 1.1 christos YY_RULE_SETUP
1619 1.1 christos #line 162 "./config/bfin-lex.l"
1620 1.1 christos yylval.value = M_FU; return MMOD;
1621 1.1 christos YY_BREAK
1622 1.1 christos case 103:
1623 1.1 christos YY_RULE_SETUP
1624 1.1 christos #line 163 "./config/bfin-lex.l"
1625 1.1 christos _REG.regno = REG_FP; return REG;
1626 1.1 christos YY_BREAK
1627 1.1 christos case 104:
1628 1.1 christos YY_RULE_SETUP
1629 1.1 christos #line 164 "./config/bfin-lex.l"
1630 1.1 christos _REG.regno = REG_FP; _REG.flags = F_REG_LOW; return HALF_REG;
1631 1.1 christos YY_BREAK
1632 1.1 christos case 105:
1633 1.1 christos YY_RULE_SETUP
1634 1.1 christos #line 165 "./config/bfin-lex.l"
1635 1.1 christos _REG.regno = REG_FP; _REG.flags = F_REG_HIGH; return HALF_REG;
1636 1.1 christos YY_BREAK
1637 1.1 christos case 106:
1638 1.1 christos YY_RULE_SETUP
1639 1.1 christos #line 167 "./config/bfin-lex.l"
1640 1.1 christos return EXTRACT;
1641 1.1 christos YY_BREAK
1642 1.1 christos case 107:
1643 1.1 christos YY_RULE_SETUP
1644 1.1 christos #line 168 "./config/bfin-lex.l"
1645 1.1 christos return EXPADJ;
1646 1.1 christos YY_BREAK
1647 1.1 christos case 108:
1648 1.1 christos YY_RULE_SETUP
1649 1.1 christos #line 169 "./config/bfin-lex.l"
1650 1.1 christos return EXCPT;
1651 1.1 christos YY_BREAK
1652 1.1 christos case 109:
1653 1.1 christos YY_RULE_SETUP
1654 1.1 christos #line 170 "./config/bfin-lex.l"
1655 1.1 christos return EMUEXCPT;
1656 1.1 christos YY_BREAK
1657 1.1 christos case 110:
1658 1.1 christos YY_RULE_SETUP
1659 1.1 christos #line 171 "./config/bfin-lex.l"
1660 1.1 christos return DIVS;
1661 1.1 christos YY_BREAK
1662 1.1 christos case 111:
1663 1.1 christos YY_RULE_SETUP
1664 1.1 christos #line 172 "./config/bfin-lex.l"
1665 1.1 christos return DIVQ;
1666 1.1 christos YY_BREAK
1667 1.1 christos case 112:
1668 1.1 christos YY_RULE_SETUP
1669 1.1 christos #line 173 "./config/bfin-lex.l"
1670 1.1 christos return DISALGNEXCPT;
1671 1.1 christos YY_BREAK
1672 1.1 christos case 113:
1673 1.1 christos YY_RULE_SETUP
1674 1.1 christos #line 174 "./config/bfin-lex.l"
1675 1.1 christos return DEPOSIT;
1676 1.1 christos YY_BREAK
1677 1.1 christos case 114:
1678 1.1 christos YY_RULE_SETUP
1679 1.1 christos #line 175 "./config/bfin-lex.l"
1680 1.1 christos return DBGHALT;
1681 1.1 christos YY_BREAK
1682 1.1 christos case 115:
1683 1.1 christos YY_RULE_SETUP
1684 1.1 christos #line 176 "./config/bfin-lex.l"
1685 1.1 christos return DBGCMPLX;
1686 1.1 christos YY_BREAK
1687 1.1 christos case 116:
1688 1.1 christos YY_RULE_SETUP
1689 1.1 christos #line 177 "./config/bfin-lex.l"
1690 1.1 christos return DBGAL;
1691 1.1 christos YY_BREAK
1692 1.1 christos case 117:
1693 1.1 christos YY_RULE_SETUP
1694 1.1 christos #line 178 "./config/bfin-lex.l"
1695 1.1 christos return DBGAH;
1696 1.1 christos YY_BREAK
1697 1.1 christos case 118:
1698 1.1 christos YY_RULE_SETUP
1699 1.1 christos #line 179 "./config/bfin-lex.l"
1700 1.1 christos return DBGA;
1701 1.1 christos YY_BREAK
1702 1.1 christos case 119:
1703 1.1 christos YY_RULE_SETUP
1704 1.1 christos #line 180 "./config/bfin-lex.l"
1705 1.1 christos return DBG;
1706 1.1 christos YY_BREAK
1707 1.1 christos case 120:
1708 1.1 christos YY_RULE_SETUP
1709 1.1 christos #line 181 "./config/bfin-lex.l"
1710 1.1 christos { _REG.regno = REG_CYCLES2; return REG; }
1711 1.1 christos YY_BREAK
1712 1.1 christos case 121:
1713 1.1 christos YY_RULE_SETUP
1714 1.1 christos #line 182 "./config/bfin-lex.l"
1715 1.1 christos { _REG.regno = REG_CYCLES; return REG; }
1716 1.1 christos YY_BREAK
1717 1.1 christos case 122:
1718 1.1 christos YY_RULE_SETUP
1719 1.1 christos #line 183 "./config/bfin-lex.l"
1720 1.1 christos return CSYNC;
1721 1.1 christos YY_BREAK
1722 1.1 christos case 123:
1723 1.1 christos YY_RULE_SETUP
1724 1.1 christos #line 184 "./config/bfin-lex.l"
1725 1.1 christos return CO;
1726 1.1 christos YY_BREAK
1727 1.1 christos case 124:
1728 1.1 christos YY_RULE_SETUP
1729 1.1 christos #line 185 "./config/bfin-lex.l"
1730 1.1 christos return CLI;
1731 1.1 christos YY_BREAK
1732 1.1 christos case 125:
1733 1.1 christos YY_RULE_SETUP
1734 1.1 christos #line 187 "./config/bfin-lex.l"
1735 1.1 christos _REG.regno = REG_CC; return CCREG;
1736 1.1 christos YY_BREAK
1737 1.1 christos case 126:
1738 1.1 christos YY_RULE_SETUP
1739 1.1 christos #line 188 "./config/bfin-lex.l"
1740 1.1 christos { BEGIN 0; return CALL;}
1741 1.1 christos YY_BREAK
1742 1.1 christos case 127:
1743 1.1 christos YY_RULE_SETUP
1744 1.1 christos #line 189 "./config/bfin-lex.l"
1745 1.1 christos { BEGIN 0; return CALL;}
1746 1.1 christos YY_BREAK
1747 1.1 christos case 128:
1748 1.1 christos YY_RULE_SETUP
1749 1.1 christos #line 190 "./config/bfin-lex.l"
1750 1.1 christos return BYTEUNPACK;
1751 1.1 christos YY_BREAK
1752 1.1 christos case 129:
1753 1.1 christos YY_RULE_SETUP
1754 1.1 christos #line 191 "./config/bfin-lex.l"
1755 1.1 christos return BYTEPACK;
1756 1.1 christos YY_BREAK
1757 1.1 christos case 130:
1758 1.1 christos YY_RULE_SETUP
1759 1.1 christos #line 192 "./config/bfin-lex.l"
1760 1.1 christos return BYTEOP16M;
1761 1.1 christos YY_BREAK
1762 1.1 christos case 131:
1763 1.1 christos YY_RULE_SETUP
1764 1.1 christos #line 193 "./config/bfin-lex.l"
1765 1.1 christos return BYTEOP16P;
1766 1.1 christos YY_BREAK
1767 1.1 christos case 132:
1768 1.1 christos YY_RULE_SETUP
1769 1.1 christos #line 194 "./config/bfin-lex.l"
1770 1.1 christos return BYTEOP3P;
1771 1.1 christos YY_BREAK
1772 1.1 christos case 133:
1773 1.1 christos YY_RULE_SETUP
1774 1.1 christos #line 195 "./config/bfin-lex.l"
1775 1.1 christos return BYTEOP2P;
1776 1.1 christos YY_BREAK
1777 1.1 christos case 134:
1778 1.1 christos YY_RULE_SETUP
1779 1.1 christos #line 196 "./config/bfin-lex.l"
1780 1.1 christos return BYTEOP1P;
1781 1.1 christos YY_BREAK
1782 1.1 christos case 135:
1783 1.1 christos YY_RULE_SETUP
1784 1.1 christos #line 197 "./config/bfin-lex.l"
1785 1.1 christos return BY;
1786 1.1 christos YY_BREAK
1787 1.1 christos case 136:
1788 1.1 christos YY_RULE_SETUP
1789 1.1 christos #line 198 "./config/bfin-lex.l"
1790 1.1 christos return BXORSHIFT;
1791 1.1 christos YY_BREAK
1792 1.1 christos case 137:
1793 1.1 christos YY_RULE_SETUP
1794 1.1 christos #line 199 "./config/bfin-lex.l"
1795 1.1 christos return BXOR;
1796 1.1 christos YY_BREAK
1797 1.1 christos case 138:
1798 1.1 christos YY_RULE_SETUP
1799 1.1 christos #line 201 "./config/bfin-lex.l"
1800 1.1 christos return BREV;
1801 1.1 christos YY_BREAK
1802 1.1 christos case 139:
1803 1.1 christos YY_RULE_SETUP
1804 1.1 christos #line 202 "./config/bfin-lex.l"
1805 1.1 christos return BP;
1806 1.1 christos YY_BREAK
1807 1.1 christos case 140:
1808 1.1 christos YY_RULE_SETUP
1809 1.1 christos #line 203 "./config/bfin-lex.l"
1810 1.1 christos return BITTST;
1811 1.1 christos YY_BREAK
1812 1.1 christos case 141:
1813 1.1 christos YY_RULE_SETUP
1814 1.1 christos #line 204 "./config/bfin-lex.l"
1815 1.1 christos return BITTGL;
1816 1.1 christos YY_BREAK
1817 1.1 christos case 142:
1818 1.1 christos YY_RULE_SETUP
1819 1.1 christos #line 205 "./config/bfin-lex.l"
1820 1.1 christos return BITSET;
1821 1.1 christos YY_BREAK
1822 1.1 christos case 143:
1823 1.1 christos YY_RULE_SETUP
1824 1.1 christos #line 206 "./config/bfin-lex.l"
1825 1.1 christos return BITMUX;
1826 1.1 christos YY_BREAK
1827 1.1 christos case 144:
1828 1.1 christos YY_RULE_SETUP
1829 1.1 christos #line 207 "./config/bfin-lex.l"
1830 1.1 christos return BITCLR;
1831 1.1 christos YY_BREAK
1832 1.1 christos case 145:
1833 1.1 christos YY_RULE_SETUP
1834 1.1 christos #line 208 "./config/bfin-lex.l"
1835 1.1 christos return parse_halfreg (&yylval.reg, T_REG_B, yytext);
1836 1.1 christos YY_BREAK
1837 1.1 christos case 146:
1838 1.1 christos YY_RULE_SETUP
1839 1.1 christos #line 209 "./config/bfin-lex.l"
1840 1.1 christos return parse_reg (&yylval.reg, T_REG_B, yytext);
1841 1.1 christos YY_BREAK
1842 1.1 christos case 147:
1843 1.1 christos YY_RULE_SETUP
1844 1.1 christos #line 210 "./config/bfin-lex.l"
1845 1.1 christos return B;
1846 1.1 christos YY_BREAK
1847 1.1 christos case 148:
1848 1.1 christos YY_RULE_SETUP
1849 1.1 christos #line 211 "./config/bfin-lex.l"
1850 1.1 christos _REG.regno = S_AZ; return STATUS_REG;
1851 1.1 christos YY_BREAK
1852 1.1 christos case 149:
1853 1.1 christos YY_RULE_SETUP
1854 1.1 christos #line 212 "./config/bfin-lex.l"
1855 1.1 christos _REG.regno = S_AN; return STATUS_REG;
1856 1.1 christos YY_BREAK
1857 1.1 christos case 150:
1858 1.1 christos YY_RULE_SETUP
1859 1.1 christos #line 213 "./config/bfin-lex.l"
1860 1.1 christos _REG.regno = S_AC0_COPY; return STATUS_REG;
1861 1.1 christos YY_BREAK
1862 1.1 christos case 151:
1863 1.1 christos YY_RULE_SETUP
1864 1.1 christos #line 214 "./config/bfin-lex.l"
1865 1.1 christos _REG.regno = S_V_COPY; return STATUS_REG;
1866 1.1 christos YY_BREAK
1867 1.1 christos case 152:
1868 1.1 christos YY_RULE_SETUP
1869 1.1 christos #line 215 "./config/bfin-lex.l"
1870 1.1 christos _REG.regno = S_AQ; return STATUS_REG;
1871 1.1 christos YY_BREAK
1872 1.1 christos case 153:
1873 1.1 christos YY_RULE_SETUP
1874 1.1 christos #line 216 "./config/bfin-lex.l"
1875 1.1 christos _REG.regno = S_AC0; return STATUS_REG;
1876 1.1 christos YY_BREAK
1877 1.1 christos case 154:
1878 1.1 christos YY_RULE_SETUP
1879 1.1 christos #line 217 "./config/bfin-lex.l"
1880 1.1 christos _REG.regno = S_AC1; return STATUS_REG;
1881 1.1 christos YY_BREAK
1882 1.1 christos case 155:
1883 1.1 christos YY_RULE_SETUP
1884 1.1 christos #line 218 "./config/bfin-lex.l"
1885 1.1 christos _REG.regno = S_AV0; return STATUS_REG;
1886 1.1 christos YY_BREAK
1887 1.1 christos case 156:
1888 1.1 christos YY_RULE_SETUP
1889 1.1 christos #line 219 "./config/bfin-lex.l"
1890 1.1 christos _REG.regno = S_AV0S; return STATUS_REG;
1891 1.1 christos YY_BREAK
1892 1.1 christos case 157:
1893 1.1 christos YY_RULE_SETUP
1894 1.1 christos #line 220 "./config/bfin-lex.l"
1895 1.1 christos _REG.regno = S_AV1; return STATUS_REG;
1896 1.1 christos YY_BREAK
1897 1.1 christos case 158:
1898 1.1 christos YY_RULE_SETUP
1899 1.1 christos #line 221 "./config/bfin-lex.l"
1900 1.1 christos _REG.regno = S_AV1S; return STATUS_REG;
1901 1.1 christos YY_BREAK
1902 1.1 christos case 159:
1903 1.1 christos YY_RULE_SETUP
1904 1.1 christos #line 222 "./config/bfin-lex.l"
1905 1.1 christos _REG.regno = S_VS; return STATUS_REG;
1906 1.1 christos YY_BREAK
1907 1.1 christos case 160:
1908 1.1 christos YY_RULE_SETUP
1909 1.1 christos #line 223 "./config/bfin-lex.l"
1910 1.1 christos _REG.regno = S_RND_MOD; return STATUS_REG;
1911 1.1 christos YY_BREAK
1912 1.1 christos case 161:
1913 1.1 christos YY_RULE_SETUP
1914 1.1 christos #line 226 "./config/bfin-lex.l"
1915 1.1 christos _REG.regno = REG_ASTAT; return REG;
1916 1.1 christos YY_BREAK
1917 1.1 christos case 162:
1918 1.1 christos YY_RULE_SETUP
1919 1.1 christos #line 227 "./config/bfin-lex.l"
1920 1.1 christos return ASHIFT;
1921 1.1 christos YY_BREAK
1922 1.1 christos case 163:
1923 1.1 christos YY_RULE_SETUP
1924 1.1 christos #line 228 "./config/bfin-lex.l"
1925 1.1 christos return ASL;
1926 1.1 christos YY_BREAK
1927 1.1 christos case 164:
1928 1.1 christos YY_RULE_SETUP
1929 1.1 christos #line 229 "./config/bfin-lex.l"
1930 1.1 christos return ASR;
1931 1.1 christos YY_BREAK
1932 1.1 christos case 165:
1933 1.1 christos YY_RULE_SETUP
1934 1.1 christos #line 230 "./config/bfin-lex.l"
1935 1.1 christos return ALIGN8;
1936 1.1 christos YY_BREAK
1937 1.1 christos case 166:
1938 1.1 christos YY_RULE_SETUP
1939 1.1 christos #line 231 "./config/bfin-lex.l"
1940 1.1 christos return ALIGN16;
1941 1.1 christos YY_BREAK
1942 1.1 christos case 167:
1943 1.1 christos YY_RULE_SETUP
1944 1.1 christos #line 232 "./config/bfin-lex.l"
1945 1.1 christos return ALIGN24;
1946 1.1 christos YY_BREAK
1947 1.1 christos case 168:
1948 1.1 christos YY_RULE_SETUP
1949 1.1 christos #line 233 "./config/bfin-lex.l"
1950 1.1 christos return A_ONE_DOT_L;
1951 1.1 christos YY_BREAK
1952 1.1 christos case 169:
1953 1.1 christos YY_RULE_SETUP
1954 1.1 christos #line 234 "./config/bfin-lex.l"
1955 1.1 christos return A_ZERO_DOT_L;
1956 1.1 christos YY_BREAK
1957 1.1 christos case 170:
1958 1.1 christos YY_RULE_SETUP
1959 1.1 christos #line 235 "./config/bfin-lex.l"
1960 1.1 christos return A_ONE_DOT_H;
1961 1.1 christos YY_BREAK
1962 1.1 christos case 171:
1963 1.1 christos YY_RULE_SETUP
1964 1.1 christos #line 236 "./config/bfin-lex.l"
1965 1.1 christos return A_ZERO_DOT_H;
1966 1.1 christos YY_BREAK
1967 1.1 christos case 172:
1968 1.1 christos YY_RULE_SETUP
1969 1.1 christos #line 237 "./config/bfin-lex.l"
1970 1.1 christos return ABS;
1971 1.1 christos YY_BREAK
1972 1.1 christos case 173:
1973 1.1 christos YY_RULE_SETUP
1974 1.1 christos #line 238 "./config/bfin-lex.l"
1975 1.1 christos return ABORT;
1976 1.1 christos YY_BREAK
1977 1.1 christos case 174:
1978 1.1 christos YY_RULE_SETUP
1979 1.1 christos #line 239 "./config/bfin-lex.l"
1980 1.1 christos _REG.regno = REG_A1x; return REG;
1981 1.1 christos YY_BREAK
1982 1.1 christos case 175:
1983 1.1 christos YY_RULE_SETUP
1984 1.1 christos #line 240 "./config/bfin-lex.l"
1985 1.1 christos _REG.regno = REG_A1w; return REG;
1986 1.1 christos YY_BREAK
1987 1.1 christos case 176:
1988 1.1 christos YY_RULE_SETUP
1989 1.1 christos #line 241 "./config/bfin-lex.l"
1990 1.1 christos _REG.regno = REG_A1; return REG_A_DOUBLE_ONE;
1991 1.1 christos YY_BREAK
1992 1.1 christos case 177:
1993 1.1 christos YY_RULE_SETUP
1994 1.1 christos #line 242 "./config/bfin-lex.l"
1995 1.1 christos _REG.regno = REG_A0x; return REG;
1996 1.1 christos YY_BREAK
1997 1.1 christos case 178:
1998 1.1 christos YY_RULE_SETUP
1999 1.1 christos #line 243 "./config/bfin-lex.l"
2000 1.1 christos _REG.regno = REG_A0w; return REG;
2001 1.1 christos YY_BREAK
2002 1.1 christos case 179:
2003 1.1 christos YY_RULE_SETUP
2004 1.1 christos #line 244 "./config/bfin-lex.l"
2005 1.1 christos _REG.regno = REG_A0; return REG_A_DOUBLE_ZERO;
2006 1.1 christos YY_BREAK
2007 1.1 christos case 180:
2008 1.1 christos YY_RULE_SETUP
2009 1.1 christos #line 245 "./config/bfin-lex.l"
2010 1.1 christos return GOT;
2011 1.1 christos YY_BREAK
2012 1.1 christos case 181:
2013 1.1 christos YY_RULE_SETUP
2014 1.1 christos #line 246 "./config/bfin-lex.l"
2015 1.1 christos return GOT17M4;
2016 1.1 christos YY_BREAK
2017 1.1 christos case 182:
2018 1.1 christos YY_RULE_SETUP
2019 1.1 christos #line 247 "./config/bfin-lex.l"
2020 1.1 christos return FUNCDESC_GOT17M4;
2021 1.1 christos YY_BREAK
2022 1.1 christos case 183:
2023 1.1 christos YY_RULE_SETUP
2024 1.1 christos #line 248 "./config/bfin-lex.l"
2025 1.1 christos return PLTPC;
2026 1.1 christos YY_BREAK
2027 1.1 christos case 184:
2028 1.1 christos YY_RULE_SETUP
2029 1.1 christos #line 251 "./config/bfin-lex.l"
2030 1.1 christos return TILDA;
2031 1.1 christos YY_BREAK
2032 1.1 christos case 185:
2033 1.1 christos YY_RULE_SETUP
2034 1.1 christos #line 252 "./config/bfin-lex.l"
2035 1.1 christos return _BAR_ASSIGN;
2036 1.1 christos YY_BREAK
2037 1.1 christos case 186:
2038 1.1 christos YY_RULE_SETUP
2039 1.1 christos #line 253 "./config/bfin-lex.l"
2040 1.1 christos return BAR;
2041 1.1 christos YY_BREAK
2042 1.1 christos case 187:
2043 1.1 christos YY_RULE_SETUP
2044 1.1 christos #line 254 "./config/bfin-lex.l"
2045 1.1 christos return _CARET_ASSIGN;
2046 1.1 christos YY_BREAK
2047 1.1 christos case 188:
2048 1.1 christos YY_RULE_SETUP
2049 1.1 christos #line 255 "./config/bfin-lex.l"
2050 1.1 christos return CARET;
2051 1.1 christos YY_BREAK
2052 1.1 christos case 189:
2053 1.1 christos YY_RULE_SETUP
2054 1.1 christos #line 256 "./config/bfin-lex.l"
2055 1.1 christos return RBRACK;
2056 1.1 christos YY_BREAK
2057 1.1 christos case 190:
2058 1.1 christos YY_RULE_SETUP
2059 1.1 christos #line 257 "./config/bfin-lex.l"
2060 1.1 christos return LBRACK;
2061 1.1 christos YY_BREAK
2062 1.1 christos case 191:
2063 1.1 christos YY_RULE_SETUP
2064 1.1 christos #line 258 "./config/bfin-lex.l"
2065 1.1 christos return _GREATER_GREATER_GREATER_THAN_ASSIGN;
2066 1.1 christos YY_BREAK
2067 1.1 christos case 192:
2068 1.1 christos YY_RULE_SETUP
2069 1.1 christos #line 259 "./config/bfin-lex.l"
2070 1.1 christos return _GREATER_GREATER_ASSIGN;
2071 1.1 christos YY_BREAK
2072 1.1 christos case 193:
2073 1.1 christos YY_RULE_SETUP
2074 1.1 christos #line 260 "./config/bfin-lex.l"
2075 1.1 christos return _GREATER_GREATER_GREATER;
2076 1.1 christos YY_BREAK
2077 1.1 christos case 194:
2078 1.1 christos YY_RULE_SETUP
2079 1.1 christos #line 261 "./config/bfin-lex.l"
2080 1.1 christos return GREATER_GREATER;
2081 1.1 christos YY_BREAK
2082 1.1 christos case 195:
2083 1.1 christos YY_RULE_SETUP
2084 1.1 christos #line 262 "./config/bfin-lex.l"
2085 1.1 christos return _ASSIGN_ASSIGN;
2086 1.1 christos YY_BREAK
2087 1.1 christos case 196:
2088 1.1 christos YY_RULE_SETUP
2089 1.1 christos #line 263 "./config/bfin-lex.l"
2090 1.1 christos return ASSIGN;
2091 1.1 christos YY_BREAK
2092 1.1 christos case 197:
2093 1.1 christos YY_RULE_SETUP
2094 1.1 christos #line 264 "./config/bfin-lex.l"
2095 1.1 christos return _LESS_THAN_ASSIGN;
2096 1.1 christos YY_BREAK
2097 1.1 christos case 198:
2098 1.1 christos YY_RULE_SETUP
2099 1.1 christos #line 265 "./config/bfin-lex.l"
2100 1.1 christos return _LESS_LESS_ASSIGN;
2101 1.1 christos YY_BREAK
2102 1.1 christos case 199:
2103 1.1 christos YY_RULE_SETUP
2104 1.1 christos #line 266 "./config/bfin-lex.l"
2105 1.1 christos return LESS_LESS;
2106 1.1 christos YY_BREAK
2107 1.1 christos case 200:
2108 1.1 christos YY_RULE_SETUP
2109 1.1 christos #line 267 "./config/bfin-lex.l"
2110 1.1 christos return LESS_THAN;
2111 1.1 christos YY_BREAK
2112 1.1 christos case 201:
2113 1.1 christos YY_RULE_SETUP
2114 1.1 christos #line 268 "./config/bfin-lex.l"
2115 1.1 christos BEGIN(FLAGS); return LPAREN;
2116 1.1 christos YY_BREAK
2117 1.1 christos case 202:
2118 1.1 christos YY_RULE_SETUP
2119 1.1 christos #line 269 "./config/bfin-lex.l"
2120 1.1 christos BEGIN(INITIAL); return RPAREN;
2121 1.1 christos YY_BREAK
2122 1.1 christos case 203:
2123 1.1 christos YY_RULE_SETUP
2124 1.1 christos #line 270 "./config/bfin-lex.l"
2125 1.1 christos return COLON;
2126 1.1 christos YY_BREAK
2127 1.1 christos case 204:
2128 1.1 christos YY_RULE_SETUP
2129 1.1 christos #line 271 "./config/bfin-lex.l"
2130 1.1 christos return SLASH;
2131 1.1 christos YY_BREAK
2132 1.1 christos case 205:
2133 1.1 christos YY_RULE_SETUP
2134 1.1 christos #line 272 "./config/bfin-lex.l"
2135 1.1 christos return _MINUS_ASSIGN;
2136 1.1 christos YY_BREAK
2137 1.1 christos case 206:
2138 1.1 christos YY_RULE_SETUP
2139 1.1 christos #line 273 "./config/bfin-lex.l"
2140 1.1 christos return _PLUS_BAR_PLUS;
2141 1.1 christos YY_BREAK
2142 1.1 christos case 207:
2143 1.1 christos YY_RULE_SETUP
2144 1.1 christos #line 274 "./config/bfin-lex.l"
2145 1.1 christos return _MINUS_BAR_PLUS;
2146 1.1 christos YY_BREAK
2147 1.1 christos case 208:
2148 1.1 christos YY_RULE_SETUP
2149 1.1 christos #line 275 "./config/bfin-lex.l"
2150 1.1 christos return _PLUS_BAR_MINUS;
2151 1.1 christos YY_BREAK
2152 1.1 christos case 209:
2153 1.1 christos YY_RULE_SETUP
2154 1.1 christos #line 276 "./config/bfin-lex.l"
2155 1.1 christos return _MINUS_BAR_MINUS;
2156 1.1 christos YY_BREAK
2157 1.1 christos case 210:
2158 1.1 christos YY_RULE_SETUP
2159 1.1 christos #line 277 "./config/bfin-lex.l"
2160 1.1 christos return _MINUS_MINUS;
2161 1.1 christos YY_BREAK
2162 1.1 christos case 211:
2163 1.1 christos YY_RULE_SETUP
2164 1.1 christos #line 278 "./config/bfin-lex.l"
2165 1.1 christos return MINUS;
2166 1.1 christos YY_BREAK
2167 1.1 christos case 212:
2168 1.1 christos YY_RULE_SETUP
2169 1.1 christos #line 279 "./config/bfin-lex.l"
2170 1.1 christos return COMMA;
2171 1.1 christos YY_BREAK
2172 1.1 christos case 213:
2173 1.1 christos YY_RULE_SETUP
2174 1.1 christos #line 280 "./config/bfin-lex.l"
2175 1.1 christos return _PLUS_ASSIGN;
2176 1.1 christos YY_BREAK
2177 1.1 christos case 214:
2178 1.1 christos YY_RULE_SETUP
2179 1.1 christos #line 281 "./config/bfin-lex.l"
2180 1.1 christos return _PLUS_PLUS;
2181 1.1 christos YY_BREAK
2182 1.1 christos case 215:
2183 1.1 christos YY_RULE_SETUP
2184 1.1 christos #line 282 "./config/bfin-lex.l"
2185 1.1 christos return PLUS;
2186 1.1 christos YY_BREAK
2187 1.1 christos case 216:
2188 1.1 christos YY_RULE_SETUP
2189 1.1 christos #line 283 "./config/bfin-lex.l"
2190 1.1 christos return _STAR_ASSIGN;
2191 1.1 christos YY_BREAK
2192 1.1 christos case 217:
2193 1.1 christos YY_RULE_SETUP
2194 1.1 christos #line 284 "./config/bfin-lex.l"
2195 1.1 christos return STAR;
2196 1.1 christos YY_BREAK
2197 1.1 christos case 218:
2198 1.1 christos YY_RULE_SETUP
2199 1.1 christos #line 285 "./config/bfin-lex.l"
2200 1.1 christos return _AMPERSAND_ASSIGN;
2201 1.1 christos YY_BREAK
2202 1.1 christos case 219:
2203 1.1 christos YY_RULE_SETUP
2204 1.1 christos #line 286 "./config/bfin-lex.l"
2205 1.1 christos return AMPERSAND;
2206 1.1 christos YY_BREAK
2207 1.1 christos case 220:
2208 1.1 christos YY_RULE_SETUP
2209 1.1 christos #line 287 "./config/bfin-lex.l"
2210 1.1 christos return PERCENT;
2211 1.1 christos YY_BREAK
2212 1.1 christos case 221:
2213 1.1 christos YY_RULE_SETUP
2214 1.1 christos #line 288 "./config/bfin-lex.l"
2215 1.1 christos return BANG;
2216 1.1 christos YY_BREAK
2217 1.1 christos case 222:
2218 1.1 christos YY_RULE_SETUP
2219 1.1 christos #line 289 "./config/bfin-lex.l"
2220 1.1 christos return SEMICOLON;
2221 1.1 christos YY_BREAK
2222 1.1 christos case 223:
2223 1.1 christos YY_RULE_SETUP
2224 1.1 christos #line 290 "./config/bfin-lex.l"
2225 1.1 christos return _ASSIGN_BANG;
2226 1.1 christos YY_BREAK
2227 1.1 christos case 224:
2228 1.1 christos YY_RULE_SETUP
2229 1.1 christos #line 291 "./config/bfin-lex.l"
2230 1.1 christos return DOUBLE_BAR;
2231 1.1 christos YY_BREAK
2232 1.1 christos case 225:
2233 1.1 christos YY_RULE_SETUP
2234 1.1 christos #line 292 "./config/bfin-lex.l"
2235 1.1 christos return AT;
2236 1.1 christos YY_BREAK
2237 1.1 christos case 226:
2238 1.1 christos YY_RULE_SETUP
2239 1.1 christos #line 293 "./config/bfin-lex.l"
2240 1.1 christos return PREFETCH;
2241 1.1 christos YY_BREAK
2242 1.1 christos case 227:
2243 1.1 christos YY_RULE_SETUP
2244 1.1 christos #line 294 "./config/bfin-lex.l"
2245 1.1 christos return UNLINK;
2246 1.1 christos YY_BREAK
2247 1.1 christos case 228:
2248 1.1 christos YY_RULE_SETUP
2249 1.1 christos #line 295 "./config/bfin-lex.l"
2250 1.1 christos return LINK;
2251 1.1 christos YY_BREAK
2252 1.1 christos case 229:
2253 1.1 christos YY_RULE_SETUP
2254 1.1 christos #line 296 "./config/bfin-lex.l"
2255 1.1 christos return IDLE;
2256 1.1 christos YY_BREAK
2257 1.1 christos case 230:
2258 1.1 christos YY_RULE_SETUP
2259 1.1 christos #line 297 "./config/bfin-lex.l"
2260 1.1 christos return IFLUSH;
2261 1.1 christos YY_BREAK
2262 1.1 christos case 231:
2263 1.1 christos YY_RULE_SETUP
2264 1.1 christos #line 298 "./config/bfin-lex.l"
2265 1.1 christos return FLUSHINV;
2266 1.1 christos YY_BREAK
2267 1.1 christos case 232:
2268 1.1 christos YY_RULE_SETUP
2269 1.1 christos #line 299 "./config/bfin-lex.l"
2270 1.1 christos return FLUSH;
2271 1.1 christos YY_BREAK
2272 1.1 christos case 233:
2273 1.1 christos YY_RULE_SETUP
2274 1.1 christos #line 300 "./config/bfin-lex.l"
2275 1.1 christos {
2276 1.1 christos yylval.value = parse_int (&yytext);
2277 1.1 christos return NUMBER;
2278 1.1 christos }
2279 1.1 christos YY_BREAK
2280 1.1 christos case 234:
2281 1.1 christos YY_RULE_SETUP
2282 1.1 christos #line 304 "./config/bfin-lex.l"
2283 1.1 christos {
2284 1.1 christos yylval.symbol = symbol_find_or_make (yytext);
2285 1.1 christos symbol_mark_used (yylval.symbol);
2286 1.1 christos return SYMBOL;
2287 1.1 christos }
2288 1.1 christos YY_BREAK
2289 1.1 christos case 235:
2290 1.1 christos YY_RULE_SETUP
2291 1.1 christos #line 309 "./config/bfin-lex.l"
2292 1.1 christos {
2293 1.1 christos char *name;
2294 1.1 christos char *ref = strdup (yytext);
2295 1.1 christos if (ref[1] == 'b' || ref[1] == 'B')
2296 1.1 christos {
2297 1.1 christos name = fb_label_name (ref[0] - '0', 0);
2298 1.1 christos yylval.symbol = symbol_find (name);
2299 1.1 christos
2300 1.1 christos if ((yylval.symbol != NULL)
2301 1.1 christos && (S_IS_DEFINED (yylval.symbol)))
2302 1.1 christos return SYMBOL;
2303 1.1 christos as_bad ("backward reference to unknown label %d:",
2304 1.1 christos (int) (ref[0] - '0'));
2305 1.1 christos }
2306 1.1 christos else if (ref[1] == 'f' || ref[1] == 'F')
2307 1.1 christos {
2308 1.1 christos /* Forward reference. Expect symbol to be undefined or
2309 1.1 christos unknown. undefined: seen it before. unknown: never seen
2310 1.1 christos it before.
2311 1.1 christos
2312 1.1 christos Construct a local label name, then an undefined symbol.
2313 1.1 christos Just return it as never seen before. */
2314 1.1 christos
2315 1.1 christos name = fb_label_name (ref[0] - '0', 1);
2316 1.1 christos yylval.symbol = symbol_find_or_make (name);
2317 1.1 christos /* We have no need to check symbol properties. */
2318 1.1 christos return SYMBOL;
2319 1.1 christos }
2320 1.1 christos }
2321 1.1 christos YY_BREAK
2322 1.1 christos case 236:
2323 1.1 christos /* rule 236 can match eol */
2324 1.1 christos YY_RULE_SETUP
2325 1.1 christos #line 338 "./config/bfin-lex.l"
2326 1.1 christos ;
2327 1.1 christos YY_BREAK
2328 1.1 christos case 237:
2329 1.1 christos YY_RULE_SETUP
2330 1.1 christos #line 339 "./config/bfin-lex.l"
2331 1.1 christos ;
2332 1.1 christos YY_BREAK
2333 1.1 christos case 238:
2334 1.1 christos YY_RULE_SETUP
2335 1.1 christos #line 340 "./config/bfin-lex.l"
2336 1.1 christos return yytext[0];
2337 1.1 christos YY_BREAK
2338 1.1 christos case 239:
2339 1.1 christos YY_RULE_SETUP
2340 1.1 christos #line 341 "./config/bfin-lex.l"
2341 1.1 christos ECHO;
2342 1.1 christos YY_BREAK
2343 1.1 christos #line 2343 "config/bfin-lex.c"
2344 1.1 christos case YY_STATE_EOF(INITIAL):
2345 1.1 christos case YY_STATE_EOF(KEYWORD):
2346 1.1 christos case YY_STATE_EOF(FLAGS):
2347 1.1 christos yyterminate();
2348 1.1 christos
2349 1.1 christos case YY_END_OF_BUFFER:
2350 1.1 christos {
2351 1.1 christos /* Amount of text matched not including the EOB char. */
2352 1.1 christos int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2353 1.1 christos
2354 1.1 christos /* Undo the effects of YY_DO_BEFORE_ACTION. */
2355 1.1 christos *yy_cp = (yy_hold_char);
2356 1.1 christos YY_RESTORE_YY_MORE_OFFSET
2357 1.1 christos
2358 1.1 christos if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2359 1.1 christos {
2360 1.1 christos /* We're scanning a new file or input source. It's
2361 1.1 christos * possible that this happened because the user
2362 1.1 christos * just pointed yyin at a new source and called
2363 1.1 christos * yylex(). If so, then we have to assure
2364 1.1 christos * consistency between YY_CURRENT_BUFFER and our
2365 1.1 christos * globals. Here is the right place to do so, because
2366 1.1 christos * this is the first action (other than possibly a
2367 1.1 christos * back-up) that will match for the new input source.
2368 1.1 christos */
2369 1.1 christos (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2370 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2371 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2372 1.1 christos }
2373 1.1 christos
2374 1.1 christos /* Note that here we test for yy_c_buf_p "<=" to the position
2375 1.1 christos * of the first EOB in the buffer, since yy_c_buf_p will
2376 1.1 christos * already have been incremented past the NUL character
2377 1.1 christos * (since all states make transitions on EOB to the
2378 1.1 christos * end-of-buffer state). Contrast this with the test
2379 1.1 christos * in input().
2380 1.1 christos */
2381 1.1 christos if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2382 1.1 christos { /* This was really a NUL. */
2383 1.1 christos yy_state_type yy_next_state;
2384 1.1 christos
2385 1.1 christos (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2386 1.1 christos
2387 1.1 christos yy_current_state = yy_get_previous_state( );
2388 1.1 christos
2389 1.1 christos /* Okay, we're now positioned to make the NUL
2390 1.1 christos * transition. We couldn't have
2391 1.1 christos * yy_get_previous_state() go ahead and do it
2392 1.1 christos * for us because it doesn't know how to deal
2393 1.1 christos * with the possibility of jamming (and we don't
2394 1.1 christos * want to build jamming into it because then it
2395 1.1 christos * will run more slowly).
2396 1.1 christos */
2397 1.1 christos
2398 1.1 christos yy_next_state = yy_try_NUL_trans( yy_current_state );
2399 1.1 christos
2400 1.1 christos yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2401 1.1 christos
2402 1.1 christos if ( yy_next_state )
2403 1.1 christos {
2404 1.1 christos /* Consume the NUL. */
2405 1.1 christos yy_cp = ++(yy_c_buf_p);
2406 1.1 christos yy_current_state = yy_next_state;
2407 1.1 christos goto yy_match;
2408 1.1 christos }
2409 1.1 christos
2410 1.1 christos else
2411 1.1 christos {
2412 1.1 christos yy_cp = (yy_c_buf_p);
2413 1.1 christos goto yy_find_action;
2414 1.1 christos }
2415 1.1 christos }
2416 1.1 christos
2417 1.1 christos else switch ( yy_get_next_buffer( ) )
2418 1.1 christos {
2419 1.1 christos case EOB_ACT_END_OF_FILE:
2420 1.1 christos {
2421 1.1 christos (yy_did_buffer_switch_on_eof) = 0;
2422 1.1 christos
2423 1.1 christos if ( yywrap( ) )
2424 1.1 christos {
2425 1.1 christos /* Note: because we've taken care in
2426 1.1 christos * yy_get_next_buffer() to have set up
2427 1.1 christos * yytext, we can now set up
2428 1.1 christos * yy_c_buf_p so that if some total
2429 1.1 christos * hoser (like flex itself) wants to
2430 1.1 christos * call the scanner after we return the
2431 1.1 christos * YY_NULL, it'll still work - another
2432 1.1 christos * YY_NULL will get returned.
2433 1.1 christos */
2434 1.1 christos (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2435 1.1 christos
2436 1.1 christos yy_act = YY_STATE_EOF(YY_START);
2437 1.1 christos goto do_action;
2438 1.1 christos }
2439 1.1 christos
2440 1.1 christos else
2441 1.1 christos {
2442 1.1 christos if ( ! (yy_did_buffer_switch_on_eof) )
2443 1.1 christos YY_NEW_FILE;
2444 1.1 christos }
2445 1.1 christos break;
2446 1.1 christos }
2447 1.1 christos
2448 1.1 christos case EOB_ACT_CONTINUE_SCAN:
2449 1.1 christos (yy_c_buf_p) =
2450 1.1 christos (yytext_ptr) + yy_amount_of_matched_text;
2451 1.1 christos
2452 1.1 christos yy_current_state = yy_get_previous_state( );
2453 1.1 christos
2454 1.1 christos yy_cp = (yy_c_buf_p);
2455 1.1 christos yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2456 1.1 christos goto yy_match;
2457 1.1 christos
2458 1.1 christos case EOB_ACT_LAST_MATCH:
2459 1.1 christos (yy_c_buf_p) =
2460 1.1 christos &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2461 1.1 christos
2462 1.1 christos yy_current_state = yy_get_previous_state( );
2463 1.1 christos
2464 1.1 christos yy_cp = (yy_c_buf_p);
2465 1.1 christos yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2466 1.1 christos goto yy_find_action;
2467 1.1 christos }
2468 1.1 christos break;
2469 1.1 christos }
2470 1.1 christos
2471 1.1 christos default:
2472 1.1 christos YY_FATAL_ERROR(
2473 1.1 christos "fatal flex scanner internal error--no action found" );
2474 1.1 christos } /* end of action switch */
2475 1.1 christos } /* end of scanning one token */
2476 1.1 christos } /* end of user's declarations */
2477 1.1 christos } /* end of yylex */
2478 1.1 christos
2479 1.1 christos /* yy_get_next_buffer - try to read in a new buffer
2480 1.1 christos *
2481 1.1 christos * Returns a code representing an action:
2482 1.1 christos * EOB_ACT_LAST_MATCH -
2483 1.1 christos * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2484 1.1 christos * EOB_ACT_END_OF_FILE - end of file
2485 1.1 christos */
2486 1.1 christos static int yy_get_next_buffer (void)
2487 1.1 christos {
2488 1.1 christos char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2489 1.1 christos char *source = (yytext_ptr);
2490 1.1 christos int number_to_move, i;
2491 1.1 christos int ret_val;
2492 1.1 christos
2493 1.1 christos if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2494 1.1 christos YY_FATAL_ERROR(
2495 1.1 christos "fatal flex scanner internal error--end of buffer missed" );
2496 1.1 christos
2497 1.1 christos if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2498 1.1 christos { /* Don't try to fill the buffer, so this is an EOF. */
2499 1.1 christos if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2500 1.1 christos {
2501 1.1 christos /* We matched a single character, the EOB, so
2502 1.1 christos * treat this as a final EOF.
2503 1.1 christos */
2504 1.1 christos return EOB_ACT_END_OF_FILE;
2505 1.1 christos }
2506 1.1 christos
2507 1.1 christos else
2508 1.1 christos {
2509 1.1 christos /* We matched some text prior to the EOB, first
2510 1.1 christos * process it.
2511 1.1 christos */
2512 1.1 christos return EOB_ACT_LAST_MATCH;
2513 1.1 christos }
2514 1.1 christos }
2515 1.1 christos
2516 1.1 christos /* Try to read more data. */
2517 1.1 christos
2518 1.1 christos /* First move last chars to start of buffer. */
2519 1.1 christos number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
2520 1.1 christos
2521 1.1 christos for ( i = 0; i < number_to_move; ++i )
2522 1.1 christos *(dest++) = *(source++);
2523 1.1 christos
2524 1.1 christos if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2525 1.1 christos /* don't do the read, it's not guaranteed to return an EOF,
2526 1.1 christos * just force an EOF
2527 1.1 christos */
2528 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2529 1.1 christos
2530 1.1 christos else
2531 1.1 christos {
2532 1.1 christos int num_to_read =
2533 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2534 1.1 christos
2535 1.1 christos while ( num_to_read <= 0 )
2536 1.1 christos { /* Not enough room in the buffer - grow it. */
2537 1.1 christos
2538 1.1 christos /* just a shorter name for the current buffer */
2539 1.1 christos YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2540 1.1 christos
2541 1.1 christos int yy_c_buf_p_offset =
2542 1.1 christos (int) ((yy_c_buf_p) - b->yy_ch_buf);
2543 1.1 christos
2544 1.1 christos if ( b->yy_is_our_buffer )
2545 1.1 christos {
2546 1.1 christos int new_size = b->yy_buf_size * 2;
2547 1.1 christos
2548 1.1 christos if ( new_size <= 0 )
2549 1.1 christos b->yy_buf_size += b->yy_buf_size / 8;
2550 1.1 christos else
2551 1.1 christos b->yy_buf_size *= 2;
2552 1.1 christos
2553 1.1 christos b->yy_ch_buf = (char *)
2554 1.1 christos /* Include room in for 2 EOB chars. */
2555 1.1 christos yyrealloc( (void *) b->yy_ch_buf,
2556 1.1 christos (yy_size_t) (b->yy_buf_size + 2) );
2557 1.1 christos }
2558 1.1 christos else
2559 1.1 christos /* Can't grow it, we don't own it. */
2560 1.1 christos b->yy_ch_buf = NULL;
2561 1.1 christos
2562 1.1 christos if ( ! b->yy_ch_buf )
2563 1.1 christos YY_FATAL_ERROR(
2564 1.1 christos "fatal error - scanner input buffer overflow" );
2565 1.1 christos
2566 1.1 christos (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2567 1.1 christos
2568 1.1 christos num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2569 1.1 christos number_to_move - 1;
2570 1.1 christos
2571 1.1 christos }
2572 1.1 christos
2573 1.1 christos if ( num_to_read > YY_READ_BUF_SIZE )
2574 1.1 christos num_to_read = YY_READ_BUF_SIZE;
2575 1.1 christos
2576 1.1 christos /* Read in more data. */
2577 1.1 christos YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2578 1.1 christos (yy_n_chars), num_to_read );
2579 1.1 christos
2580 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2581 1.1 christos }
2582 1.1 christos
2583 1.1 christos if ( (yy_n_chars) == 0 )
2584 1.1 christos {
2585 1.1 christos if ( number_to_move == YY_MORE_ADJ )
2586 1.1 christos {
2587 1.1 christos ret_val = EOB_ACT_END_OF_FILE;
2588 1.1 christos yyrestart( yyin );
2589 1.1 christos }
2590 1.1 christos
2591 1.1 christos else
2592 1.1 christos {
2593 1.1 christos ret_val = EOB_ACT_LAST_MATCH;
2594 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2595 1.1 christos YY_BUFFER_EOF_PENDING;
2596 1.1 christos }
2597 1.1 christos }
2598 1.1 christos
2599 1.1 christos else
2600 1.1 christos ret_val = EOB_ACT_CONTINUE_SCAN;
2601 1.1 christos
2602 1.1 christos if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2603 1.1 christos /* Extend the array by 50%, plus the number we really need. */
2604 1.1 christos int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2605 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2606 1.1 christos (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
2607 1.1 christos if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2608 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2609 1.1 christos /* "- 2" to take care of EOB's */
2610 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2611 1.1 christos }
2612 1.1 christos
2613 1.1 christos (yy_n_chars) += number_to_move;
2614 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2615 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2616 1.1 christos
2617 1.1 christos (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2618 1.1 christos
2619 1.1 christos return ret_val;
2620 1.1 christos }
2621 1.1 christos
2622 1.1 christos /* yy_get_previous_state - get the state just before the EOB char was reached */
2623 1.1 christos
2624 1.1 christos static yy_state_type yy_get_previous_state (void)
2625 1.1 christos {
2626 1.1 christos yy_state_type yy_current_state;
2627 1.1 christos char *yy_cp;
2628 1.1 christos
2629 1.1 christos yy_current_state = (yy_start);
2630 1.1 christos
2631 1.1 christos for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2632 1.1 christos {
2633 1.1 christos YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2634 1.1 christos if ( yy_accept[yy_current_state] )
2635 1.1 christos {
2636 1.1 christos (yy_last_accepting_state) = yy_current_state;
2637 1.1 christos (yy_last_accepting_cpos) = yy_cp;
2638 1.1 christos }
2639 1.1 christos while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2640 1.1 christos {
2641 1.1 christos yy_current_state = (int) yy_def[yy_current_state];
2642 1.1 christos if ( yy_current_state >= 571 )
2643 1.1 christos yy_c = yy_meta[yy_c];
2644 1.1 christos }
2645 1.1 christos yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2646 1.1 christos }
2647 1.1 christos
2648 1.1 christos return yy_current_state;
2649 1.1 christos }
2650 1.1 christos
2651 1.1 christos /* yy_try_NUL_trans - try to make a transition on the NUL character
2652 1.1 christos *
2653 1.1 christos * synopsis
2654 1.1 christos * next_state = yy_try_NUL_trans( current_state );
2655 1.1 christos */
2656 1.1 christos static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2657 1.1 christos {
2658 1.1 christos int yy_is_jam;
2659 1.1 christos char *yy_cp = (yy_c_buf_p);
2660 1.1 christos
2661 1.1 christos YY_CHAR yy_c = 1;
2662 1.1 christos if ( yy_accept[yy_current_state] )
2663 1.1 christos {
2664 1.1 christos (yy_last_accepting_state) = yy_current_state;
2665 1.1 christos (yy_last_accepting_cpos) = yy_cp;
2666 1.1 christos }
2667 1.1 christos while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2668 1.1 christos {
2669 1.1 christos yy_current_state = (int) yy_def[yy_current_state];
2670 1.1 christos if ( yy_current_state >= 571 )
2671 1.1 christos yy_c = yy_meta[yy_c];
2672 1.1 christos }
2673 1.1 christos yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2674 1.1 christos yy_is_jam = (yy_current_state == 570);
2675 1.1 christos
2676 1.1 christos return yy_is_jam ? 0 : yy_current_state;
2677 1.1 christos }
2678 1.1 christos
2679 1.1 christos #ifndef YY_NO_UNPUT
2680 1.1 christos
2681 1.1 christos static void yyunput (int c, char * yy_bp )
2682 1.1 christos {
2683 1.1 christos char *yy_cp;
2684 1.1 christos
2685 1.1 christos yy_cp = (yy_c_buf_p);
2686 1.1 christos
2687 1.1 christos /* undo effects of setting up yytext */
2688 1.1 christos *yy_cp = (yy_hold_char);
2689 1.1 christos
2690 1.1 christos if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2691 1.1 christos { /* need to shift things up to make room */
2692 1.1 christos /* +2 for EOB chars. */
2693 1.1 christos int number_to_move = (yy_n_chars) + 2;
2694 1.1 christos char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2695 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2696 1.1 christos char *source =
2697 1.1 christos &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2698 1.1 christos
2699 1.1 christos while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2700 1.1 christos *--dest = *--source;
2701 1.1 christos
2702 1.1 christos yy_cp += (int) (dest - source);
2703 1.1 christos yy_bp += (int) (dest - source);
2704 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2705 1.1 christos (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2706 1.1 christos
2707 1.1 christos if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2708 1.1 christos YY_FATAL_ERROR( "flex scanner push-back overflow" );
2709 1.1 christos }
2710 1.1 christos
2711 1.1 christos *--yy_cp = (char) c;
2712 1.1 christos
2713 1.1 christos (yytext_ptr) = yy_bp;
2714 1.1 christos (yy_hold_char) = *yy_cp;
2715 1.1 christos (yy_c_buf_p) = yy_cp;
2716 1.1 christos }
2717 1.1 christos
2718 1.1 christos #endif
2719 1.1 christos
2720 1.1 christos #ifndef YY_NO_INPUT
2721 1.1 christos #ifdef __cplusplus
2722 1.1 christos static int yyinput (void)
2723 1.1 christos #else
2724 1.1 christos static int input (void)
2725 1.1 christos #endif
2726 1.1 christos
2727 1.1 christos {
2728 1.1 christos int c;
2729 1.1 christos
2730 1.1 christos *(yy_c_buf_p) = (yy_hold_char);
2731 1.1 christos
2732 1.1 christos if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2733 1.1 christos {
2734 1.1 christos /* yy_c_buf_p now points to the character we want to return.
2735 1.1 christos * If this occurs *before* the EOB characters, then it's a
2736 1.1 christos * valid NUL; if not, then we've hit the end of the buffer.
2737 1.1 christos */
2738 1.1 christos if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2739 1.1 christos /* This was really a NUL. */
2740 1.1 christos *(yy_c_buf_p) = '\0';
2741 1.1 christos
2742 1.1 christos else
2743 1.1 christos { /* need more input */
2744 1.1 christos int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
2745 1.1 christos ++(yy_c_buf_p);
2746 1.1 christos
2747 1.1 christos switch ( yy_get_next_buffer( ) )
2748 1.1 christos {
2749 1.1 christos case EOB_ACT_LAST_MATCH:
2750 1.1 christos /* This happens because yy_g_n_b()
2751 1.1 christos * sees that we've accumulated a
2752 1.1 christos * token and flags that we need to
2753 1.1 christos * try matching the token before
2754 1.1 christos * proceeding. But for input(),
2755 1.1 christos * there's no matching to consider.
2756 1.1 christos * So convert the EOB_ACT_LAST_MATCH
2757 1.1 christos * to EOB_ACT_END_OF_FILE.
2758 1.1 christos */
2759 1.1 christos
2760 1.1 christos /* Reset buffer status. */
2761 1.1 christos yyrestart( yyin );
2762 1.1 christos
2763 1.1 christos /*FALLTHROUGH*/
2764 1.1 christos
2765 1.1 christos case EOB_ACT_END_OF_FILE:
2766 1.1 christos {
2767 1.1 christos if ( yywrap( ) )
2768 1.1 christos return 0;
2769 1.1 christos
2770 1.1 christos if ( ! (yy_did_buffer_switch_on_eof) )
2771 1.1 christos YY_NEW_FILE;
2772 1.1 christos #ifdef __cplusplus
2773 1.1 christos return yyinput();
2774 1.1 christos #else
2775 1.1 christos return input();
2776 1.1 christos #endif
2777 1.1 christos }
2778 1.1 christos
2779 1.1 christos case EOB_ACT_CONTINUE_SCAN:
2780 1.1 christos (yy_c_buf_p) = (yytext_ptr) + offset;
2781 1.1 christos break;
2782 1.1 christos }
2783 1.1 christos }
2784 1.1 christos }
2785 1.1 christos
2786 1.1 christos c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2787 1.1 christos *(yy_c_buf_p) = '\0'; /* preserve yytext */
2788 1.1 christos (yy_hold_char) = *++(yy_c_buf_p);
2789 1.1 christos
2790 1.1 christos return c;
2791 1.1 christos }
2792 1.1 christos #endif /* ifndef YY_NO_INPUT */
2793 1.1 christos
2794 1.1 christos /** Immediately switch to a different input stream.
2795 1.1 christos * @param input_file A readable stream.
2796 1.1 christos *
2797 1.1 christos * @note This function does not reset the start condition to @c INITIAL .
2798 1.1 christos */
2799 1.1 christos void yyrestart (FILE * input_file )
2800 1.1 christos {
2801 1.1 christos
2802 1.1 christos if ( ! YY_CURRENT_BUFFER ){
2803 1.1 christos yyensure_buffer_stack ();
2804 1.1 christos YY_CURRENT_BUFFER_LVALUE =
2805 1.1 christos yy_create_buffer( yyin, YY_BUF_SIZE );
2806 1.1 christos }
2807 1.1 christos
2808 1.1 christos yy_init_buffer( YY_CURRENT_BUFFER, input_file );
2809 1.1 christos yy_load_buffer_state( );
2810 1.1 christos }
2811 1.1 christos
2812 1.1 christos /** Switch to a different input buffer.
2813 1.1 christos * @param new_buffer The new input buffer.
2814 1.1 christos *
2815 1.1 christos */
2816 1.1 christos void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2817 1.1 christos {
2818 1.1 christos
2819 1.1 christos /* TODO. We should be able to replace this entire function body
2820 1.1 christos * with
2821 1.1 christos * yypop_buffer_state();
2822 1.1 christos * yypush_buffer_state(new_buffer);
2823 1.1 christos */
2824 1.1 christos yyensure_buffer_stack ();
2825 1.1 christos if ( YY_CURRENT_BUFFER == new_buffer )
2826 1.1 christos return;
2827 1.1 christos
2828 1.1 christos if ( YY_CURRENT_BUFFER )
2829 1.1 christos {
2830 1.1 christos /* Flush out information for old buffer. */
2831 1.1 christos *(yy_c_buf_p) = (yy_hold_char);
2832 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2833 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2834 1.1 christos }
2835 1.1 christos
2836 1.1 christos YY_CURRENT_BUFFER_LVALUE = new_buffer;
2837 1.1 christos yy_load_buffer_state( );
2838 1.1 christos
2839 1.1 christos /* We don't actually know whether we did this switch during
2840 1.1 christos * EOF (yywrap()) processing, but the only time this flag
2841 1.1 christos * is looked at is after yywrap() is called, so it's safe
2842 1.1 christos * to go ahead and always set it.
2843 1.1 christos */
2844 1.1 christos (yy_did_buffer_switch_on_eof) = 1;
2845 1.1 christos }
2846 1.1 christos
2847 1.1 christos static void yy_load_buffer_state (void)
2848 1.1 christos {
2849 1.1 christos (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2850 1.1 christos (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2851 1.1 christos yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2852 1.1 christos (yy_hold_char) = *(yy_c_buf_p);
2853 1.1 christos }
2854 1.1 christos
2855 1.1 christos /** Allocate and initialize an input buffer state.
2856 1.1 christos * @param file A readable stream.
2857 1.1 christos * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2858 1.1 christos *
2859 1.1 christos * @return the allocated buffer state.
2860 1.1 christos */
2861 1.1 christos YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2862 1.1 christos {
2863 1.1 christos YY_BUFFER_STATE b;
2864 1.1 christos
2865 1.1 christos b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
2866 1.1 christos if ( ! b )
2867 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2868 1.1 christos
2869 1.1 christos b->yy_buf_size = size;
2870 1.1 christos
2871 1.1 christos /* yy_ch_buf has to be 2 characters longer than the size given because
2872 1.1 christos * we need to put in 2 end-of-buffer characters.
2873 1.1 christos */
2874 1.1 christos b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
2875 1.1 christos if ( ! b->yy_ch_buf )
2876 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2877 1.1 christos
2878 1.1 christos b->yy_is_our_buffer = 1;
2879 1.1 christos
2880 1.1 christos yy_init_buffer( b, file );
2881 1.1 christos
2882 1.1 christos return b;
2883 1.1 christos }
2884 1.1 christos
2885 1.1 christos /** Destroy the buffer.
2886 1.1 christos * @param b a buffer created with yy_create_buffer()
2887 1.1 christos *
2888 1.1 christos */
2889 1.1 christos void yy_delete_buffer (YY_BUFFER_STATE b )
2890 1.1 christos {
2891 1.1 christos
2892 1.1 christos if ( ! b )
2893 1.1 christos return;
2894 1.1 christos
2895 1.1 christos if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2896 1.1 christos YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2897 1.1 christos
2898 1.1 christos if ( b->yy_is_our_buffer )
2899 1.1 christos yyfree( (void *) b->yy_ch_buf );
2900 1.1 christos
2901 1.1 christos yyfree( (void *) b );
2902 1.1 christos }
2903 1.1 christos
2904 1.1 christos /* Initializes or reinitializes a buffer.
2905 1.1 christos * This function is sometimes called more than once on the same buffer,
2906 1.1 christos * such as during a yyrestart() or at EOF.
2907 1.1 christos */
2908 1.1 christos static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2909 1.1 christos
2910 1.1 christos {
2911 1.1 christos int oerrno = errno;
2912 1.1 christos
2913 1.1 christos yy_flush_buffer( b );
2914 1.1 christos
2915 1.1 christos b->yy_input_file = file;
2916 1.1 christos b->yy_fill_buffer = 1;
2917 1.1 christos
2918 1.1 christos /* If b is the current buffer, then yy_init_buffer was _probably_
2919 1.1 christos * called from yyrestart() or through yy_get_next_buffer.
2920 1.1 christos * In that case, we don't want to reset the lineno or column.
2921 1.1 christos */
2922 1.1 christos if (b != YY_CURRENT_BUFFER){
2923 1.1 christos b->yy_bs_lineno = 1;
2924 1.1 christos b->yy_bs_column = 0;
2925 1.1 christos }
2926 1.1 christos
2927 1.1 christos b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2928 1.1 christos
2929 1.1 christos errno = oerrno;
2930 1.1 christos }
2931 1.1 christos
2932 1.1 christos /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2933 1.1 christos * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2934 1.1 christos *
2935 1.1 christos */
2936 1.1 christos void yy_flush_buffer (YY_BUFFER_STATE b )
2937 1.1 christos {
2938 1.1 christos if ( ! b )
2939 1.1 christos return;
2940 1.1 christos
2941 1.1 christos b->yy_n_chars = 0;
2942 1.1 christos
2943 1.1 christos /* We always need two end-of-buffer characters. The first causes
2944 1.1 christos * a transition to the end-of-buffer state. The second causes
2945 1.1 christos * a jam in that state.
2946 1.1 christos */
2947 1.1 christos b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2948 1.1 christos b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2949 1.1 christos
2950 1.1 christos b->yy_buf_pos = &b->yy_ch_buf[0];
2951 1.1 christos
2952 1.1 christos b->yy_at_bol = 1;
2953 1.1 christos b->yy_buffer_status = YY_BUFFER_NEW;
2954 1.1 christos
2955 1.1 christos if ( b == YY_CURRENT_BUFFER )
2956 1.1 christos yy_load_buffer_state( );
2957 1.1 christos }
2958 1.1 christos
2959 1.1 christos /** Pushes the new state onto the stack. The new state becomes
2960 1.1 christos * the current state. This function will allocate the stack
2961 1.1 christos * if necessary.
2962 1.1 christos * @param new_buffer The new state.
2963 1.1 christos *
2964 1.1 christos */
2965 1.1 christos void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2966 1.1 christos {
2967 1.1 christos if (new_buffer == NULL)
2968 1.1 christos return;
2969 1.1 christos
2970 1.1 christos yyensure_buffer_stack();
2971 1.1 christos
2972 1.1 christos /* This block is copied from yy_switch_to_buffer. */
2973 1.1 christos if ( YY_CURRENT_BUFFER )
2974 1.1 christos {
2975 1.1 christos /* Flush out information for old buffer. */
2976 1.1 christos *(yy_c_buf_p) = (yy_hold_char);
2977 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2978 1.1 christos YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2979 1.1 christos }
2980 1.1 christos
2981 1.1 christos /* Only push if top exists. Otherwise, replace top. */
2982 1.1 christos if (YY_CURRENT_BUFFER)
2983 1.1 christos (yy_buffer_stack_top)++;
2984 1.1 christos YY_CURRENT_BUFFER_LVALUE = new_buffer;
2985 1.1 christos
2986 1.1 christos /* copied from yy_switch_to_buffer. */
2987 1.1 christos yy_load_buffer_state( );
2988 1.1 christos (yy_did_buffer_switch_on_eof) = 1;
2989 1.1 christos }
2990 1.1 christos
2991 1.1 christos /** Removes and deletes the top of the stack, if present.
2992 1.1 christos * The next element becomes the new top.
2993 1.1 christos *
2994 1.1 christos */
2995 1.1 christos void yypop_buffer_state (void)
2996 1.1 christos {
2997 1.1 christos if (!YY_CURRENT_BUFFER)
2998 1.1 christos return;
2999 1.1 christos
3000 1.1 christos yy_delete_buffer(YY_CURRENT_BUFFER );
3001 1.1 christos YY_CURRENT_BUFFER_LVALUE = NULL;
3002 1.1 christos if ((yy_buffer_stack_top) > 0)
3003 1.1 christos --(yy_buffer_stack_top);
3004 1.1 christos
3005 1.1 christos if (YY_CURRENT_BUFFER) {
3006 1.1 christos yy_load_buffer_state( );
3007 1.1 christos (yy_did_buffer_switch_on_eof) = 1;
3008 1.1 christos }
3009 1.1 christos }
3010 1.1 christos
3011 1.1 christos /* Allocates the stack if it does not exist.
3012 1.1 christos * Guarantees space for at least one push.
3013 1.1 christos */
3014 1.1 christos static void yyensure_buffer_stack (void)
3015 1.1 christos {
3016 1.1 christos yy_size_t num_to_alloc;
3017 1.1 christos
3018 1.1 christos if (!(yy_buffer_stack)) {
3019 1.1 christos
3020 1.1 christos /* First allocation is just for 2 elements, since we don't know if this
3021 1.1 christos * scanner will even need a stack. We use 2 instead of 1 to avoid an
3022 1.1 christos * immediate realloc on the next call.
3023 1.1 christos */
3024 1.1 christos num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
3025 1.1 christos (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3026 1.1 christos (num_to_alloc * sizeof(struct yy_buffer_state*)
3027 1.1 christos );
3028 1.1 christos if ( ! (yy_buffer_stack) )
3029 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3030 1.1 christos
3031 1.1 christos memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3032 1.1 christos
3033 1.1 christos (yy_buffer_stack_max) = num_to_alloc;
3034 1.1 christos (yy_buffer_stack_top) = 0;
3035 1.1 christos return;
3036 1.1 christos }
3037 1.1 christos
3038 1.1 christos if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3039 1.1 christos
3040 1.1 christos /* Increase the buffer to prepare for a possible push. */
3041 1.1 christos yy_size_t grow_size = 8 /* arbitrary grow size */;
3042 1.1 christos
3043 1.1 christos num_to_alloc = (yy_buffer_stack_max) + grow_size;
3044 1.1 christos (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3045 1.1 christos ((yy_buffer_stack),
3046 1.1 christos num_to_alloc * sizeof(struct yy_buffer_state*)
3047 1.1 christos );
3048 1.1 christos if ( ! (yy_buffer_stack) )
3049 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3050 1.1 christos
3051 1.1 christos /* zero only the new slots.*/
3052 1.1 christos memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3053 1.1 christos (yy_buffer_stack_max) = num_to_alloc;
3054 1.1 christos }
3055 1.1 christos }
3056 1.1 christos
3057 1.1 christos /** Setup the input buffer state to scan directly from a user-specified character buffer.
3058 1.1 christos * @param base the character buffer
3059 1.1 christos * @param size the size in bytes of the character buffer
3060 1.1 christos *
3061 1.1 christos * @return the newly allocated buffer state object.
3062 1.1 christos */
3063 1.1 christos YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3064 1.1 christos {
3065 1.1 christos YY_BUFFER_STATE b;
3066 1.1 christos
3067 1.1 christos if ( size < 2 ||
3068 1.1 christos base[size-2] != YY_END_OF_BUFFER_CHAR ||
3069 1.1 christos base[size-1] != YY_END_OF_BUFFER_CHAR )
3070 1.1 christos /* They forgot to leave room for the EOB's. */
3071 1.1 christos return NULL;
3072 1.1 christos
3073 1.1 christos b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
3074 1.1 christos if ( ! b )
3075 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3076 1.1 christos
3077 1.1 christos b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
3078 1.1 christos b->yy_buf_pos = b->yy_ch_buf = base;
3079 1.1 christos b->yy_is_our_buffer = 0;
3080 1.1 christos b->yy_input_file = NULL;
3081 1.1 christos b->yy_n_chars = b->yy_buf_size;
3082 1.1 christos b->yy_is_interactive = 0;
3083 1.1 christos b->yy_at_bol = 1;
3084 1.1 christos b->yy_fill_buffer = 0;
3085 1.1 christos b->yy_buffer_status = YY_BUFFER_NEW;
3086 1.1 christos
3087 1.1 christos yy_switch_to_buffer( b );
3088 1.1 christos
3089 1.1 christos return b;
3090 1.1 christos }
3091 1.1 christos
3092 1.1 christos /** Setup the input buffer state to scan a string. The next call to yylex() will
3093 1.1 christos * scan from a @e copy of @a str.
3094 1.1 christos * @param yystr a NUL-terminated string to scan
3095 1.1 christos *
3096 1.1 christos * @return the newly allocated buffer state object.
3097 1.1 christos * @note If you want to scan bytes that may contain NUL values, then use
3098 1.1 christos * yy_scan_bytes() instead.
3099 1.1 christos */
3100 1.1 christos YY_BUFFER_STATE yy_scan_string (const char * yystr )
3101 1.1 christos {
3102 1.1 christos
3103 1.1 christos return yy_scan_bytes( yystr, (int) strlen(yystr) );
3104 1.1 christos }
3105 1.1 christos
3106 1.1 christos /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3107 1.1 christos * scan from a @e copy of @a bytes.
3108 1.1 christos * @param yybytes the byte buffer to scan
3109 1.1 christos * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3110 1.1 christos *
3111 1.1 christos * @return the newly allocated buffer state object.
3112 1.1 christos */
3113 1.1 christos YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
3114 1.1 christos {
3115 1.1 christos YY_BUFFER_STATE b;
3116 1.1 christos char *buf;
3117 1.1 christos yy_size_t n;
3118 1.1 christos int i;
3119 1.1 christos
3120 1.1 christos /* Get memory for full buffer, including space for trailing EOB's. */
3121 1.1 christos n = (yy_size_t) (_yybytes_len + 2);
3122 1.1 christos buf = (char *) yyalloc( n );
3123 1.1 christos if ( ! buf )
3124 1.1 christos YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3125 1.1 christos
3126 1.1 christos for ( i = 0; i < _yybytes_len; ++i )
3127 1.1 christos buf[i] = yybytes[i];
3128 1.1 christos
3129 1.1 christos buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3130 1.1 christos
3131 1.1 christos b = yy_scan_buffer( buf, n );
3132 1.1 christos if ( ! b )
3133 1.1 christos YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3134 1.1 christos
3135 1.1 christos /* It's okay to grow etc. this buffer, and we should throw it
3136 1.1 christos * away when we're done.
3137 1.1 christos */
3138 1.1 christos b->yy_is_our_buffer = 1;
3139 1.1 christos
3140 1.1 christos return b;
3141 1.1 christos }
3142 1.1 christos
3143 1.1 christos #ifndef YY_EXIT_FAILURE
3144 1.1 christos #define YY_EXIT_FAILURE 2
3145 1.1 christos #endif
3146 1.1 christos
3147 1.1 christos static void yynoreturn yy_fatal_error (const char* msg )
3148 1.1 christos {
3149 1.1 christos fprintf( stderr, "%s\n", msg );
3150 1.1 christos exit( YY_EXIT_FAILURE );
3151 1.1 christos }
3152 1.1 christos
3153 1.1 christos /* Redefine yyless() so it works in section 3 code. */
3154 1.1 christos
3155 1.1 christos #undef yyless
3156 1.1 christos #define yyless(n) \
3157 1.1 christos do \
3158 1.1 christos { \
3159 1.1 christos /* Undo effects of setting up yytext. */ \
3160 1.1 christos int yyless_macro_arg = (n); \
3161 1.1 christos YY_LESS_LINENO(yyless_macro_arg);\
3162 1.1 christos yytext[yyleng] = (yy_hold_char); \
3163 1.1 christos (yy_c_buf_p) = yytext + yyless_macro_arg; \
3164 1.1 christos (yy_hold_char) = *(yy_c_buf_p); \
3165 1.1 christos *(yy_c_buf_p) = '\0'; \
3166 1.1 christos yyleng = yyless_macro_arg; \
3167 1.1 christos } \
3168 1.1 christos while ( 0 )
3169 1.1 christos
3170 1.1 christos /* Accessor methods (get/set functions) to struct members. */
3171 1.1 christos
3172 1.1 christos /** Get the current line number.
3173 1.1 christos *
3174 1.1 christos */
3175 1.1 christos int yyget_lineno (void)
3176 1.1 christos {
3177 1.1 christos
3178 1.1 christos return yylineno;
3179 1.1 christos }
3180 1.1 christos
3181 1.1 christos /** Get the input stream.
3182 1.1 christos *
3183 1.1 christos */
3184 1.1 christos FILE *yyget_in (void)
3185 1.1 christos {
3186 1.1 christos return yyin;
3187 1.1 christos }
3188 1.1 christos
3189 1.1 christos /** Get the output stream.
3190 1.1 christos *
3191 1.1 christos */
3192 1.1 christos FILE *yyget_out (void)
3193 1.1 christos {
3194 1.1 christos return yyout;
3195 1.1 christos }
3196 1.1 christos
3197 1.1 christos /** Get the length of the current token.
3198 1.1 christos *
3199 1.1 christos */
3200 1.1 christos int yyget_leng (void)
3201 1.1 christos {
3202 1.1 christos return yyleng;
3203 1.1 christos }
3204 1.1 christos
3205 1.1 christos /** Get the current token.
3206 1.1 christos *
3207 1.1 christos */
3208 1.1 christos
3209 1.1 christos char *yyget_text (void)
3210 1.1 christos {
3211 1.1 christos return yytext;
3212 1.1 christos }
3213 1.1 christos
3214 1.1 christos /** Set the current line number.
3215 1.1 christos * @param _line_number line number
3216 1.1 christos *
3217 1.1 christos */
3218 1.1 christos void yyset_lineno (int _line_number )
3219 1.1 christos {
3220 1.1 christos
3221 1.1 christos yylineno = _line_number;
3222 1.1 christos }
3223 1.1 christos
3224 1.1 christos /** Set the input stream. This does not discard the current
3225 1.1 christos * input buffer.
3226 1.1 christos * @param _in_str A readable stream.
3227 1.1 christos *
3228 1.1 christos * @see yy_switch_to_buffer
3229 1.1 christos */
3230 1.1 christos void yyset_in (FILE * _in_str )
3231 1.1 christos {
3232 1.1 christos yyin = _in_str ;
3233 1.1 christos }
3234 1.1 christos
3235 1.1 christos void yyset_out (FILE * _out_str )
3236 1.1 christos {
3237 1.1 christos yyout = _out_str ;
3238 1.1 christos }
3239 1.1 christos
3240 1.1 christos int yyget_debug (void)
3241 1.1 christos {
3242 1.1 christos return yy_flex_debug;
3243 1.1 christos }
3244 1.1 christos
3245 1.1 christos void yyset_debug (int _bdebug )
3246 1.1 christos {
3247 1.1 christos yy_flex_debug = _bdebug ;
3248 1.1 christos }
3249 1.1 christos
3250 1.1 christos static int yy_init_globals (void)
3251 1.1 christos {
3252 1.1 christos /* Initialization is the same as for the non-reentrant scanner.
3253 1.1 christos * This function is called from yylex_destroy(), so don't allocate here.
3254 1.1 christos */
3255 1.1 christos
3256 1.1 christos (yy_buffer_stack) = NULL;
3257 1.1 christos (yy_buffer_stack_top) = 0;
3258 1.1 christos (yy_buffer_stack_max) = 0;
3259 1.1 christos (yy_c_buf_p) = NULL;
3260 1.1 christos (yy_init) = 0;
3261 1.1 christos (yy_start) = 0;
3262 1.1 christos
3263 1.1 christos /* Defined in main.c */
3264 1.1 christos #ifdef YY_STDINIT
3265 1.1 christos yyin = stdin;
3266 1.1 christos yyout = stdout;
3267 1.1 christos #else
3268 1.1 christos yyin = NULL;
3269 1.1 christos yyout = NULL;
3270 1.1 christos #endif
3271 1.1 christos
3272 1.1 christos /* For future reference: Set errno on error, since we are called by
3273 1.1 christos * yylex_init()
3274 1.1 christos */
3275 1.1 christos return 0;
3276 1.1 christos }
3277 1.1 christos
3278 1.1 christos /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3279 1.1 christos int yylex_destroy (void)
3280 1.1 christos {
3281 1.1 christos
3282 1.1 christos /* Pop the buffer stack, destroying each element. */
3283 1.1 christos while(YY_CURRENT_BUFFER){
3284 1.1 christos yy_delete_buffer( YY_CURRENT_BUFFER );
3285 1.1 christos YY_CURRENT_BUFFER_LVALUE = NULL;
3286 1.1 christos yypop_buffer_state();
3287 1.1 christos }
3288 1.1 christos
3289 1.1 christos /* Destroy the stack itself. */
3290 1.1 christos yyfree((yy_buffer_stack) );
3291 1.1 christos (yy_buffer_stack) = NULL;
3292 1.1 christos
3293 1.1 christos /* Reset the globals. This is important in a non-reentrant scanner so the next time
3294 1.1 christos * yylex() is called, initialization will occur. */
3295 1.1 christos yy_init_globals( );
3296 1.1 christos
3297 1.1 christos return 0;
3298 1.1 christos }
3299 1.1 christos
3300 1.1 christos /*
3301 1.1 christos * Internal utility routines.
3302 1.1 christos */
3303 1.1 christos
3304 1.1 christos #ifndef yytext_ptr
3305 1.1 christos static void yy_flex_strncpy (char* s1, const char * s2, int n )
3306 1.1 christos {
3307 1.1 christos
3308 1.1 christos int i;
3309 1.1 christos for ( i = 0; i < n; ++i )
3310 1.1 christos s1[i] = s2[i];
3311 1.1 christos }
3312 1.1 christos #endif
3313 1.1 christos
3314 1.1 christos #ifdef YY_NEED_STRLEN
3315 1.1 christos static int yy_flex_strlen (const char * s )
3316 1.1 christos {
3317 1.1 christos int n;
3318 1.1 christos for ( n = 0; s[n]; ++n )
3319 1.1 christos ;
3320 1.1 christos
3321 1.1 christos return n;
3322 1.1 christos }
3323 1.1 christos #endif
3324 1.1 christos
3325 1.1 christos void *yyalloc (yy_size_t size )
3326 1.1 christos {
3327 1.1 christos return malloc(size);
3328 1.1 christos }
3329 1.1 christos
3330 1.1 christos void *yyrealloc (void * ptr, yy_size_t size )
3331 1.1 christos {
3332 1.1 christos
3333 1.1 christos /* The cast to (char *) in the following accommodates both
3334 1.1 christos * implementations that use char* generic pointers, and those
3335 1.1 christos * that use void* generic pointers. It works with the latter
3336 1.1 christos * because both ANSI C and C++ allow castless assignment from
3337 1.1 christos * any pointer type to void*, and deal with argument conversions
3338 1.1 christos * as though doing an assignment.
3339 1.1 christos */
3340 1.1 christos return realloc(ptr, size);
3341 1.1 christos }
3342 1.1 christos
3343 1.1 christos void yyfree (void * ptr )
3344 1.1 christos {
3345 1.1 christos free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3346 1.1 christos }
3347 1.1 christos
3348 1.1 christos #define YYTABLES_NAME "yytables"
3349 1.1 christos
3350 1.1 christos #line 341 "./config/bfin-lex.l"
3351 1.1 christos
3352 1.1 christos static long parse_int (char **end)
3353 1.1 christos {
3354 1.1 christos char fmt = '\0';
3355 1.1 christos int not_done = 1;
3356 1.1 christos int shiftvalue = 0;
3357 1.1 christos const char *char_bag;
3358 1.1 christos unsigned long value = 0;
3359 1.1 christos char *arg = *end;
3360 1.1 christos
3361 1.1 christos while (*arg && *arg == ' ')
3362 1.1 christos arg++;
3363 1.1 christos
3364 1.1 christos switch (*arg)
3365 1.1 christos {
3366 1.1 christos case '1':
3367 1.1 christos case '2':
3368 1.1 christos case '3':
3369 1.1 christos case '4':
3370 1.1 christos case '5':
3371 1.1 christos case '6':
3372 1.1 christos case '7':
3373 1.1 christos case '8':
3374 1.1 christos case '9':
3375 1.1 christos fmt = 'd';
3376 1.1 christos break;
3377 1.1 christos
3378 1.1 christos case '0': /* Accept different formatted integers hex octal and binary. */
3379 1.1 christos {
3380 1.1 christos char c = *++arg;
3381 1.1 christos arg++;
3382 1.1 christos if (c == 'x' || c == 'X') /* Hex input. */
3383 1.1 christos fmt = 'h';
3384 1.1 christos else if (c == 'b' || c == 'B')
3385 1.1 christos fmt = 'b';
3386 1.1 christos else if (c == '.')
3387 1.1 christos fmt = 'f';
3388 1.1 christos else
3389 1.1 christos { /* Octal. */
3390 1.1 christos arg--;
3391 1.1 christos fmt = 'o';
3392 1.1 christos }
3393 1.1 christos break;
3394 1.1 christos }
3395 1.1 christos
3396 1.1 christos case 'd':
3397 1.1 christos case 'D':
3398 1.1 christos case 'h':
3399 1.1 christos case 'H':
3400 1.1 christos case 'o':
3401 1.1 christos case 'O':
3402 1.1 christos case 'b':
3403 1.1 christos case 'B':
3404 1.1 christos case 'f':
3405 1.1 christos case 'F':
3406 1.1 christos {
3407 1.1 christos fmt = *arg++;
3408 1.1 christos if (*arg == '#')
3409 1.1 christos arg++;
3410 1.1 christos }
3411 1.1 christos }
3412 1.1 christos
3413 1.1 christos switch (fmt)
3414 1.1 christos {
3415 1.1 christos case 'h':
3416 1.1 christos case 'H':
3417 1.1 christos shiftvalue = 4;
3418 1.1 christos char_bag = "0123456789ABCDEFabcdef";
3419 1.1 christos break;
3420 1.1 christos
3421 1.1 christos case 'o':
3422 1.1 christos case 'O':
3423 1.1 christos shiftvalue = 3;
3424 1.1 christos char_bag = "01234567";
3425 1.1 christos break;
3426 1.1 christos
3427 1.1 christos case 'b':
3428 1.1 christos case 'B':
3429 1.1 christos shiftvalue = 1;
3430 1.1 christos char_bag = "01";
3431 1.1 christos break;
3432 1.1 christos
3433 1.1 christos /* The assembler allows for fractional constants to be created
3434 1.1 christos by either the 0.xxxx or the f#xxxx format
3435 1.1 christos
3436 1.1 christos i.e. 0.5 would result in 0x4000
3437 1.1 christos
3438 1.1 christos note .5 would result in the identifier .5.
3439 1.1 christos
3440 1.1 christos The assembler converts to fractional format 1.15 by the simple rule:
3441 1.1 christos
3442 1.1 christos value = (short) (finput * (1 << 15)). */
3443 1.1 christos
3444 1.1 christos case 'f':
3445 1.1 christos case 'F':
3446 1.1 christos {
3447 1.1 christos float fval = 0.0;
3448 1.1 christos float pos = 10.0;
3449 1.1 christos while (1)
3450 1.1 christos {
3451 1.1 christos int c;
3452 1.1 christos c = *arg++;
3453 1.1 christos
3454 1.1 christos if (c >= '0' && c <= '9')
3455 1.1 christos {
3456 1.1 christos float digit = (c - '0') / pos;
3457 1.1 christos fval = fval + digit;
3458 1.1 christos pos = pos * 10.0;
3459 1.1 christos }
3460 1.1 christos else
3461 1.1 christos {
3462 1.1 christos *--arg = c;
3463 1.1 christos value = (short) (fval * (1 << 15));
3464 1.1 christos break;
3465 1.1 christos }
3466 1.1 christos }
3467 1.1 christos *end = arg+1;
3468 1.1 christos return value;
3469 1.1 christos }
3470 1.1 christos
3471 1.1 christos case 'd':
3472 1.1 christos case 'D':
3473 1.1 christos default:
3474 1.1 christos {
3475 1.1 christos while (1)
3476 1.1 christos {
3477 1.1 christos char c;
3478 1.1 christos c = *arg++;
3479 1.1 christos if (c >= '0' && c <= '9')
3480 1.1 christos value = (value * 10) + (c - '0');
3481 1.1 christos else
3482 1.1 christos {
3483 1.1 christos /* Constants that are suffixed with k|K are multiplied by 1024
3484 1.1 christos This suffix is only allowed on decimal constants. */
3485 1.1 christos if (c == 'k' || c == 'K')
3486 1.1 christos value *= 1024;
3487 1.1 christos else
3488 1.1 christos *--arg = c;
3489 1.1 christos break;
3490 1.1 christos }
3491 1.1 christos }
3492 1.1 christos *end = arg+1;
3493 1.1 christos return value;
3494 1.1 christos }
3495 1.1 christos }
3496 1.1 christos
3497 1.1 christos while (not_done)
3498 1.1 christos {
3499 1.1 christos char c;
3500 1.1 christos c = *arg++;
3501 1.1 christos if (c == 0 || !strchr (char_bag, c))
3502 1.1 christos {
3503 1.1 christos not_done = 0;
3504 1.1 christos *--arg = c;
3505 1.1 christos }
3506 1.1 christos else
3507 1.1 christos {
3508 1.1 christos if (c >= 'a' && c <= 'z')
3509 1.1 christos c = c - ('a' - '9') + 1;
3510 1.1 christos else if (c >= 'A' && c <= 'Z')
3511 1.1 christos c = c - ('A' - '9') + 1;
3512 1.1 christos
3513 1.1 christos c -= '0';
3514 1.1 christos value = (value << shiftvalue) + c;
3515 1.1 christos }
3516 1.1 christos }
3517 1.1 christos *end = arg+1;
3518 1.1 christos return value;
3519 1.1 christos }
3520 1.1 christos
3521 1.1 christos
3522 1.1 christos static int parse_reg (Register *r, int cl, char *rt)
3523 1.1 christos {
3524 1.1 christos r->regno = cl | (rt[1] - '0');
3525 1.1 christos r->flags = F_REG_NONE;
3526 1.1 christos return REG;
3527 1.1 christos }
3528 1.1 christos
3529 1.1 christos static int parse_halfreg (Register *r, int cl, char *rt)
3530 1.1 christos {
3531 1.1 christos r->regno = cl | (rt[1] - '0');
3532 1.1 christos
3533 1.1 christos switch (rt[3])
3534 1.1 christos {
3535 1.1 christos case 'b':
3536 1.1 christos case 'B':
3537 1.1 christos return BYTE_DREG;
3538 1.1 christos
3539 1.1 christos case 'l':
3540 1.1 christos case 'L':
3541 1.1 christos r->flags = F_REG_LOW;
3542 1.1 christos break;
3543 1.1 christos
3544 1.1 christos case 'h':
3545 1.1 christos case 'H':
3546 1.1 christos r->flags = F_REG_HIGH;
3547 1.1 christos break;
3548 1.1 christos }
3549 1.1 christos
3550 1.1 christos return HALF_REG;
3551 1.1 christos }
3552 1.1 christos
3553 1.1 christos /* Our start state is KEYWORD as we have
3554 1.1 christos command keywords such as PREFETCH. */
3555 1.1 christos
3556 1.1 christos void
3557 1.1 christos set_start_state (void)
3558 1.1 christos {
3559 1.1 christos BEGIN KEYWORD;
3560 1.1 christos }
3561 1.1 christos
3562