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