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