1#line 2 "gengtype-lex.c" 2 3#line 4 "gengtype-lex.c" 4 5#define YY_INT_ALIGNED short int 6 7/* A lexical scanner generated by flex */ 8 9#define FLEX_SCANNER 10#define YY_FLEX_MAJOR_VERSION 2 11#define YY_FLEX_MINOR_VERSION 5 12#define YY_FLEX_SUBMINOR_VERSION 35 13#if YY_FLEX_SUBMINOR_VERSION > 0 14#define FLEX_BETA 15#endif 16 17/* First, we deal with platform-specific or compiler-specific issues. */ 18 19/* begin standard C headers. */ 20#include <stdio.h> 21#include <string.h> 22#include <errno.h> 23#include <stdlib.h> 24 25/* end standard C headers. */ 26 27/* flex integer type definitions */ 28 29#ifndef FLEXINT_H 30#define FLEXINT_H 31 32/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 33 34#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 35 36/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 37 * if you want the limit (max/min) macros for int types. 38 */ 39#ifndef __STDC_LIMIT_MACROS 40#define __STDC_LIMIT_MACROS 1 41#endif 42 43#include <inttypes.h> 44typedef int8_t flex_int8_t; 45typedef uint8_t flex_uint8_t; 46typedef int16_t flex_int16_t; 47typedef uint16_t flex_uint16_t; 48typedef int32_t flex_int32_t; 49typedef uint32_t flex_uint32_t; 50#else 51typedef signed char flex_int8_t; 52typedef short int flex_int16_t; 53typedef int flex_int32_t; 54typedef unsigned char flex_uint8_t; 55typedef unsigned short int flex_uint16_t; 56typedef unsigned int flex_uint32_t; 57#endif /* ! C99 */ 58 59/* Limits of integral types. */ 60#ifndef INT8_MIN 61#define INT8_MIN (-128) 62#endif 63#ifndef INT16_MIN 64#define INT16_MIN (-32767-1) 65#endif 66#ifndef INT32_MIN 67#define INT32_MIN (-2147483647-1) 68#endif 69#ifndef INT8_MAX 70#define INT8_MAX (127) 71#endif 72#ifndef INT16_MAX 73#define INT16_MAX (32767) 74#endif 75#ifndef INT32_MAX 76#define INT32_MAX (2147483647) 77#endif 78#ifndef UINT8_MAX 79#define UINT8_MAX (255U) 80#endif 81#ifndef UINT16_MAX 82#define UINT16_MAX (65535U) 83#endif 84#ifndef UINT32_MAX 85#define UINT32_MAX (4294967295U) 86#endif 87 88#endif /* ! FLEXINT_H */ 89 90#ifdef __cplusplus 91 92/* The "const" storage-class-modifier is valid. */ 93#define YY_USE_CONST 94 95#else /* ! __cplusplus */ 96 97/* C99 requires __STDC__ to be defined as 1. */ 98#if defined (__STDC__) 99 100#define YY_USE_CONST 101 102#endif /* defined (__STDC__) */ 103#endif /* ! __cplusplus */ 104 105#ifdef YY_USE_CONST 106#define yyconst const 107#else 108#define yyconst 109#endif 110 111/* Returned upon end-of-file. */ 112#define YY_NULL 0 113 114/* Promotes a possibly negative, possibly signed char to an unsigned 115 * integer for use as an array index. If the signed char is negative, 116 * we want to instead treat it as an 8-bit unsigned char, hence the 117 * double cast. 118 */ 119#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 120 121/* Enter a start condition. This macro really ought to take a parameter, 122 * but we do it the disgusting crufty way forced on us by the ()-less 123 * definition of BEGIN. 124 */ 125#define BEGIN (yy_start) = 1 + 2 * 126 127/* Translate the current start state into a value that can be later handed 128 * to BEGIN to return to the state. The YYSTATE alias is for lex 129 * compatibility. 130 */ 131#define YY_START (((yy_start) - 1) / 2) 132#define YYSTATE YY_START 133 134/* Action number for EOF rule of a given start state. */ 135#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 136 137/* Special action meaning "start processing a new file". */ 138#define YY_NEW_FILE yyrestart(yyin ) 139 140#define YY_END_OF_BUFFER_CHAR 0 141 142/* Size of default input buffer. */ 143#ifndef YY_BUF_SIZE 144#define YY_BUF_SIZE 16384 145#endif 146 147/* The state buf must be large enough to hold one state per character in the main buffer. 148 */ 149#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 150 151#ifndef YY_TYPEDEF_YY_BUFFER_STATE 152#define YY_TYPEDEF_YY_BUFFER_STATE 153typedef struct yy_buffer_state *YY_BUFFER_STATE; 154#endif 155 156extern int yyleng; 157 158extern FILE *yyin, *yyout; 159 160#define EOB_ACT_CONTINUE_SCAN 0 161#define EOB_ACT_END_OF_FILE 1 162#define EOB_ACT_LAST_MATCH 2 163 164 #define YY_LESS_LINENO(n) 165 166/* Return all but the first "n" matched characters back to the input stream. */ 167#define yyless(n) \ 168 do \ 169 { \ 170 /* Undo effects of setting up yytext. */ \ 171 int yyless_macro_arg = (n); \ 172 YY_LESS_LINENO(yyless_macro_arg);\ 173 *yy_cp = (yy_hold_char); \ 174 YY_RESTORE_YY_MORE_OFFSET \ 175 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 176 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 177 } \ 178 while ( 0 ) 179 180#define unput(c) yyunput( c, (yytext_ptr) ) 181 182#ifndef YY_TYPEDEF_YY_SIZE_T 183#define YY_TYPEDEF_YY_SIZE_T 184typedef size_t yy_size_t; 185#endif 186 187#ifndef YY_STRUCT_YY_BUFFER_STATE 188#define YY_STRUCT_YY_BUFFER_STATE 189struct yy_buffer_state 190 { 191 FILE *yy_input_file; 192 193 char *yy_ch_buf; /* input buffer */ 194 char *yy_buf_pos; /* current position in input buffer */ 195 196 /* Size of input buffer in bytes, not including room for EOB 197 * characters. 198 */ 199 yy_size_t yy_buf_size; 200 201 /* Number of characters read into yy_ch_buf, not including EOB 202 * characters. 203 */ 204 int yy_n_chars; 205 206 /* Whether we "own" the buffer - i.e., we know we created it, 207 * and can realloc() it to grow it, and should free() it to 208 * delete it. 209 */ 210 int yy_is_our_buffer; 211 212 /* Whether this is an "interactive" input source; if so, and 213 * if we're using stdio for input, then we want to use getc() 214 * instead of fread(), to make sure we stop fetching input after 215 * each newline. 216 */ 217 int yy_is_interactive; 218 219 /* Whether we're considered to be at the beginning of a line. 220 * If so, '^' rules will be active on the next match, otherwise 221 * not. 222 */ 223 int yy_at_bol; 224 225 int yy_bs_lineno; /**< The line count. */ 226 int yy_bs_column; /**< The column count. */ 227 228 /* Whether to try to fill the input buffer when we reach the 229 * end of it. 230 */ 231 int yy_fill_buffer; 232 233 int yy_buffer_status; 234 235#define YY_BUFFER_NEW 0 236#define YY_BUFFER_NORMAL 1 237 /* When an EOF's been seen but there's still some text to process 238 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 239 * shouldn't try reading from the input source any more. We might 240 * still have a bunch of tokens to match, though, because of 241 * possible backing-up. 242 * 243 * When we actually see the EOF, we change the status to "new" 244 * (via yyrestart()), so that the user can continue scanning by 245 * just pointing yyin at a new input file. 246 */ 247#define YY_BUFFER_EOF_PENDING 2 248 249 }; 250#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 251 252/* Stack of input buffers. */ 253static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 254static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 255static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 256 257/* We provide macros for accessing buffer states in case in the 258 * future we want to put the buffer states in a more general 259 * "scanner state". 260 * 261 * Returns the top of the stack, or NULL. 262 */ 263#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 264 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 265 : NULL) 266 267/* Same as previous macro, but useful when we know that the buffer stack is not 268 * NULL or when we need an lvalue. For internal use only. 269 */ 270#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 271 272/* yy_hold_char holds the character lost when yytext is formed. */ 273static char yy_hold_char; 274static int yy_n_chars; /* number of characters read into yy_ch_buf */ 275int yyleng; 276 277/* Points to current character in buffer. */ 278static char *yy_c_buf_p = (char *) 0; 279static int yy_init = 0; /* whether we need to initialize */ 280static int yy_start = 0; /* start state number */ 281 282/* Flag which is used to allow yywrap()'s to do buffer switches 283 * instead of setting up a fresh yyin. A bit of a hack ... 284 */ 285static int yy_did_buffer_switch_on_eof; 286 287void yyrestart (FILE *input_file ); 288void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 289YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 290void yy_delete_buffer (YY_BUFFER_STATE b ); 291void yy_flush_buffer (YY_BUFFER_STATE b ); 292void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 293void yypop_buffer_state (void ); 294 295static void yyensure_buffer_stack (void ); 296static void yy_load_buffer_state (void ); 297static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 298 299#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 300 301YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 302YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 303YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); 304 305void *yyalloc (yy_size_t ); 306void *yyrealloc (void *,yy_size_t ); 307void yyfree (void * ); 308 309#define yy_new_buffer yy_create_buffer 310 311#define yy_set_interactive(is_interactive) \ 312 { \ 313 if ( ! YY_CURRENT_BUFFER ){ \ 314 yyensure_buffer_stack (); \ 315 YY_CURRENT_BUFFER_LVALUE = \ 316 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 317 } \ 318 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 319 } 320 321#define yy_set_bol(at_bol) \ 322 { \ 323 if ( ! YY_CURRENT_BUFFER ){\ 324 yyensure_buffer_stack (); \ 325 YY_CURRENT_BUFFER_LVALUE = \ 326 yy_create_buffer(yyin,YY_BUF_SIZE ); \ 327 } \ 328 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 329 } 330 331#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 332 333/* Begin user sect3 */ 334 335#define yywrap(n) 1 336#define YY_SKIP_YYWRAP 337 338typedef unsigned char YY_CHAR; 339 340FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 341 342typedef int yy_state_type; 343 344extern int yylineno; 345 346int yylineno = 1; 347 348extern char *yytext; 349#define yytext_ptr yytext 350 351static yy_state_type yy_get_previous_state (void ); 352static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 353static int yy_get_next_buffer (void ); 354static void yy_fatal_error (yyconst char msg[] ); 355 356/* Done after the current pattern has been matched and before the 357 * corresponding action - sets up yytext. 358 */ 359#define YY_DO_BEFORE_ACTION \ 360 (yytext_ptr) = yy_bp; \ 361 yyleng = (size_t) (yy_cp - yy_bp); \ 362 (yy_hold_char) = *yy_cp; \ 363 *yy_cp = '\0'; \ 364 (yy_c_buf_p) = yy_cp; 365 366#define YY_NUM_RULES 48 367#define YY_END_OF_BUFFER 49 368/* This struct is not used in this scanner, 369 but its presence is necessary. */ 370struct yy_trans_info 371 { 372 flex_int32_t yy_verify; 373 flex_int32_t yy_nxt; 374 }; 375static yyconst flex_int16_t yy_accept[438] = 376 { 0, 377 0, 0, 0, 0, 0, 0, 0, 0, 49, 36, 378 33, 45, 36, 45, 34, 36, 36, 34, 34, 34, 379 34, 34, 31, 10, 10, 31, 29, 31, 31, 31, 380 20, 31, 31, 31, 31, 31, 31, 31, 31, 31, 381 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 382 10, 31, 41, 39, 46, 46, 0, 37, 0, 0, 383 0, 38, 32, 34, 0, 0, 0, 0, 0, 0, 384 0, 0, 0, 34, 34, 34, 34, 34, 10, 0, 385 25, 0, 0, 0, 0, 9, 20, 24, 0, 0, 386 0, 0, 0, 0, 0, 0, 26, 11, 0, 0, 387 388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389 0, 0, 10, 0, 0, 0, 0, 42, 44, 43, 390 35, 0, 0, 0, 0, 0, 0, 34, 34, 34, 391 34, 34, 34, 27, 28, 0, 0, 0, 0, 0, 392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 394 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 395 34, 34, 34, 34, 34, 0, 0, 0, 13, 0, 396 14, 0, 0, 0, 0, 22, 22, 0, 0, 0, 397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 398 399 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 400 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403 0, 0, 34, 34, 34, 34, 34, 3, 0, 0, 404 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 405 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 406 0, 0, 0, 0, 0, 0, 0, 34, 4, 5, 407 2, 34, 0, 0, 0, 0, 0, 0, 0, 0, 408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 409 410 0, 0, 16, 0, 0, 0, 0, 34, 1, 0, 411 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413 34, 34, 34, 0, 0, 0, 0, 0, 0, 0, 414 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 415 34, 7, 6, 0, 0, 0, 0, 0, 0, 0, 416 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 417 0, 0, 0, 0, 0, 19, 0, 0, 47, 34, 418 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419 34, 0, 0, 0, 0, 0, 0, 0, 0, 34, 420 421 0, 24, 24, 0, 0, 0, 0, 0, 0, 0, 422 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 423 0, 0, 8, 0, 23, 0, 0, 0, 0, 0, 424 40, 0, 0, 0, 0, 0, 0 425 } ; 426 427static yyconst flex_int32_t yy_ec[256] = 428 { 0, 429 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 430 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 432 1, 2, 1, 4, 5, 1, 6, 1, 7, 8, 433 9, 10, 1, 6, 6, 11, 12, 13, 13, 13, 434 13, 13, 13, 13, 13, 13, 13, 6, 6, 6, 435 6, 6, 1, 1, 14, 15, 16, 17, 18, 19, 436 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 437 23, 29, 30, 31, 32, 33, 34, 23, 35, 23, 438 36, 37, 38, 1, 39, 1, 40, 41, 42, 43, 439 440 44, 45, 46, 47, 48, 49, 49, 50, 51, 52, 441 53, 54, 49, 55, 56, 57, 58, 59, 49, 60, 442 61, 62, 6, 6, 6, 1, 1, 1, 1, 1, 443 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 444 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 445 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 446 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 447 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 449 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 450 451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 456 1, 1, 1, 1, 1 457 } ; 458 459static yyconst flex_int32_t yy_meta[63] = 460 { 0, 461 1, 2, 3, 1, 1, 1, 1, 1, 4, 5, 462 1, 1, 6, 7, 7, 7, 7, 7, 7, 7, 463 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 464 7, 7, 7, 7, 7, 8, 1, 1, 9, 9, 465 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 466 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 467 9, 9 468 } ; 469 470static yyconst flex_int16_t yy_base[476] = 471 { 0, 472 0, 38, 96, 12, 12, 13, 15, 16, 991, 1444, 473 1444, 16, 953, 979, 0, 157, 19, 970, 927, 929, 474 924, 932, 1444, 25, 27, 20, 1444, 946, 971, 971, 475 967, 215, 253, 4, 7, 25, 952, 36, 925, 959, 476 8, 31, 33, 37, 38, 32, 39, 133, 134, 40, 477 66, 959, 0, 1444, 948, 947, 159, 1444, 0, 951, 478 954, 1444, 1444, 0, 187, 162, 938, 895, 897, 892, 479 900, 163, 907, 931, 892, 32, 894, 899, 77, 162, 480 1444, 943, 938, 941, 932, 1444, 929, 1444, 914, 898, 481 140, 54, 142, 43, 156, 886, 1444, 1444, 144, 148, 482 483 143, 149, 151, 175, 158, 173, 152, 157, 184, 220, 484 212, 221, 231, 921, 920, 291, 0, 1444, 1444, 1444, 485 1444, 902, 863, 195, 865, 870, 872, 877, 871, 857, 486 855, 868, 858, 1444, 1444, 64, 171, 213, 353, 215, 487 391, 153, 349, 214, 244, 222, 245, 429, 241, 348, 488 248, 247, 351, 355, 339, 350, 357, 340, 429, 1444, 489 0, 0, 871, 865, 851, 849, 862, 852, 856, 870, 490 832, 838, 843, 841, 831, 341, 258, 342, 1444, 346, 491 1444, 352, 359, 491, 360, 1444, 528, 398, 392, 384, 492 387, 418, 419, 421, 395, 477, 0, 849, 826, 832, 493 494 837, 835, 825, 824, 857, 822, 831, 815, 827, 586, 495 434, 399, 437, 159, 624, 1444, 0, 843, 841, 841, 496 814, 819, 821, 797, 795, 323, 795, 478, 493, 483, 497 481, 393, 394, 662, 0, 828, 793, 802, 786, 798, 498 0, 797, 824, 700, 738, 776, 794, 1444, 254, 345, 499 396, 432, 1444, 811, 809, 806, 782, 794, 774, 400, 500 780, 778, 463, 774, 480, 499, 486, 487, 814, 1444, 501 0, 813, 0, 0, 0, 783, 453, 788, 1444, 1444, 502 1444, 852, 484, 509, 491, 520, 787, 794, 778, 758, 503 752, 767, 766, 514, 758, 748, 750, 757, 752, 512, 504 505 518, 513, 1444, 0, 760, 0, 539, 536, 1444, 527, 506 385, 533, 538, 759, 776, 757, 738, 737, 1444, 0, 507 736, 748, 752, 744, 524, 890, 545, 0, 585, 758, 508 749, 928, 966, 535, 546, 553, 575, 757, 757, 736, 509 726, 711, 528, 1444, 1004, 0, 743, 0, 0, 731, 510 741, 1444, 1444, 582, 583, 588, 577, 555, 742, 734, 511 740, 1042, 1444, 0, 737, 752, 732, 592, 591, 613, 512 540, 594, 727, 718, 739, 1444, 0, 728, 1444, 738, 513 621, 623, 622, 620, 624, 734, 722, 733, 0, 719, 514 695, 626, 686, 618, 711, 710, 645, 0, 692, 630, 515 516 651, 674, 677, 654, 711, 707, 695, 675, 0, 664, 517 1080, 656, 712, 693, 714, 716, 669, 633, 617, 628, 518 0, 0, 1444, 719, 1444, 721, 629, 593, 563, 530, 519 1444, 443, 252, 191, 163, 62, 1444, 1118, 1127, 1136, 520 1145, 1154, 1158, 1167, 1176, 1185, 1194, 1202, 1211, 1220, 521 1229, 1238, 1247, 1256, 1265, 1273, 1282, 1290, 1298, 1306, 522 1314, 1323, 1331, 1340, 1349, 1357, 1365, 1374, 1383, 1392, 523 1400, 1409, 1417, 1426, 1435 524 } ; 525 526static yyconst flex_int16_t yy_def[476] = 527 { 0, 528 438, 438, 437, 3, 439, 439, 439, 439, 437, 437, 529 437, 440, 441, 442, 443, 437, 437, 443, 443, 443, 530 443, 443, 437, 437, 437, 444, 437, 445, 437, 437, 531 437, 446, 446, 33, 33, 33, 33, 33, 447, 437, 532 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 533 437, 448, 449, 437, 450, 450, 440, 437, 440, 437, 534 441, 437, 437, 443, 437, 437, 437, 437, 437, 437, 535 437, 437, 437, 443, 443, 443, 443, 443, 437, 444, 536 437, 444, 437, 445, 437, 437, 437, 437, 33, 33, 537 33, 33, 33, 33, 33, 447, 437, 437, 33, 33, 538 539 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 540 33, 33, 437, 448, 448, 437, 451, 437, 437, 437, 541 437, 437, 437, 437, 437, 437, 437, 443, 443, 443, 542 443, 443, 443, 437, 437, 33, 33, 33, 446, 33, 543 446, 33, 33, 33, 33, 33, 33, 446, 33, 33, 544 33, 33, 33, 33, 33, 33, 33, 33, 116, 437, 545 116, 452, 437, 437, 437, 437, 437, 437, 437, 443, 546 443, 443, 443, 443, 443, 33, 33, 33, 437, 33, 547 437, 33, 33, 446, 33, 437, 437, 33, 33, 33, 548 33, 33, 33, 33, 33, 33, 453, 437, 437, 437, 549 550 437, 437, 437, 437, 443, 443, 443, 443, 443, 443, 551 33, 33, 33, 33, 446, 437, 187, 437, 437, 437, 552 437, 437, 437, 437, 437, 437, 437, 33, 33, 33, 553 33, 33, 33, 446, 454, 437, 437, 437, 437, 437, 554 455, 437, 443, 443, 443, 443, 443, 437, 33, 33, 555 33, 33, 437, 437, 437, 437, 437, 437, 437, 437, 556 437, 437, 437, 437, 33, 33, 33, 33, 446, 437, 557 456, 437, 457, 458, 459, 437, 437, 443, 437, 437, 558 437, 443, 33, 33, 33, 33, 437, 437, 437, 437, 559 437, 437, 437, 460, 437, 437, 437, 437, 437, 33, 560 561 33, 33, 437, 461, 437, 462, 437, 443, 437, 33, 562 33, 33, 33, 437, 437, 437, 437, 437, 437, 187, 563 437, 437, 437, 437, 33, 446, 33, 463, 437, 437, 564 443, 443, 443, 33, 33, 33, 33, 437, 437, 437, 565 437, 437, 33, 437, 446, 464, 437, 465, 466, 437, 566 443, 437, 437, 33, 33, 33, 33, 33, 437, 437, 567 437, 446, 437, 467, 437, 437, 443, 33, 33, 33, 568 33, 33, 437, 437, 437, 437, 468, 437, 437, 443, 569 33, 33, 33, 33, 33, 437, 437, 437, 469, 437, 570 443, 33, 33, 33, 437, 437, 437, 470, 437, 443, 571 572 33, 437, 471, 33, 437, 437, 437, 437, 472, 437, 573 443, 33, 437, 471, 471, 473, 437, 437, 437, 437, 574 474, 475, 437, 437, 437, 473, 437, 437, 437, 437, 575 437, 437, 437, 437, 437, 437, 0, 437, 437, 437, 576 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 577 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 578 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 579 437, 437, 437, 437, 437 580 } ; 581 582static yyconst flex_int16_t yy_nxt[1507] = 583 { 0, 584 10, 10, 11, 12, 10, 10, 13, 10, 10, 10, 585 10, 14, 10, 51, 54, 54, 52, 54, 54, 58, 586 72, 55, 55, 81, 56, 56, 79, 79, 79, 79, 587 89, 91, 92, 89, 89, 10, 10, 10, 10, 16, 588 11, 12, 17, 10, 13, 10, 10, 10, 10, 14, 589 10, 89, 59, 95, 18, 93, 82, 89, 89, 89, 590 99, 73, 89, 89, 89, 89, 89, 113, 79, 89, 591 114, 130, 140, 10, 10, 10, 102, 100, 79, 79, 592 89, 19, 106, 101, 105, 138, 131, 176, 103, 104, 593 89, 112, 294, 20, 21, 22, 23, 24, 25, 26, 594 595 23, 27, 28, 27, 27, 27, 29, 30, 31, 32, 596 33, 34, 32, 35, 32, 36, 37, 32, 32, 32, 597 32, 32, 32, 32, 32, 32, 32, 32, 38, 32, 598 32, 39, 40, 23, 32, 32, 41, 42, 43, 44, 599 32, 32, 32, 45, 32, 46, 32, 47, 32, 48, 600 32, 49, 32, 50, 32, 32, 32, 32, 65, 89, 601 89, 66, 58, 72, 72, 81, 89, 137, 89, 89, 602 89, 141, 107, 67, 89, 89, 139, 89, 89, 89, 603 109, 110, 89, 89, 89, 89, 177, 143, 65, 108, 604 111, 66, 252, 294, 144, 59, 142, 89, 82, 89, 605 606 68, 89, 148, 67, 73, 73, 151, 145, 146, 149, 607 89, 152, 69, 70, 71, 88, 88, 88, 88, 88, 608 88, 88, 88, 88, 88, 88, 88, 147, 150, 436, 609 68, 148, 113, 79, 165, 114, 153, 178, 89, 89, 610 89, 89, 69, 70, 71, 180, 89, 89, 89, 166, 611 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 612 88, 88, 88, 88, 88, 154, 156, 89, 157, 182, 613 89, 89, 184, 89, 89, 283, 158, 435, 212, 90, 614 89, 155, 183, 185, 89, 190, 148, 189, 88, 88, 615 88, 159, 159, 160, 159, 159, 159, 159, 159, 159, 616 617 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 618 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 619 159, 159, 159, 159, 159, 159, 159, 159, 159, 161, 620 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 621 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 622 161, 161, 161, 179, 179, 179, 179, 179, 179, 179, 623 179, 179, 179, 179, 179, 89, 89, 89, 89, 262, 624 263, 89, 89, 284, 89, 89, 89, 89, 89, 211, 625 213, 89, 193, 89, 214, 89, 89, 196, 179, 179, 626 179, 181, 181, 181, 181, 181, 181, 181, 181, 181, 627 628 181, 181, 181, 148, 188, 191, 192, 194, 215, 195, 629 89, 89, 250, 89, 335, 148, 148, 285, 89, 89, 630 89, 89, 89, 230, 89, 89, 181, 181, 181, 186, 631 187, 187, 186, 186, 186, 186, 186, 186, 186, 186, 632 186, 228, 229, 148, 89, 89, 234, 89, 249, 148, 633 269, 251, 293, 286, 307, 307, 294, 232, 89, 434, 634 89, 231, 233, 89, 186, 186, 186, 159, 159, 159, 635 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 636 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 637 159, 216, 216, 216, 216, 216, 216, 216, 216, 216, 638 639 216, 216, 216, 89, 89, 266, 89, 89, 297, 89, 640 89, 266, 89, 89, 310, 320, 320, 89, 300, 89, 641 265, 312, 154, 148, 298, 89, 216, 216, 216, 217, 642 217, 267, 268, 301, 302, 89, 313, 267, 89, 89, 643 307, 307, 218, 219, 89, 334, 89, 311, 220, 331, 644 89, 336, 327, 89, 89, 337, 354, 332, 330, 89, 645 294, 89, 333, 333, 89, 325, 89, 355, 221, 222, 646 223, 89, 89, 326, 356, 224, 372, 225, 384, 89, 647 343, 89, 362, 226, 433, 227, 248, 248, 248, 248, 648 248, 248, 248, 248, 248, 248, 248, 248, 347, 368, 649 650 345, 89, 369, 89, 357, 370, 348, 371, 89, 89, 651 432, 349, 349, 358, 89, 381, 382, 89, 89, 385, 652 89, 248, 248, 248, 253, 253, 253, 253, 253, 253, 653 253, 253, 253, 253, 253, 253, 383, 148, 393, 89, 654 392, 394, 401, 404, 89, 294, 89, 89, 89, 89, 655 89, 411, 89, 430, 148, 429, 411, 411, 428, 253, 656 253, 253, 270, 270, 270, 270, 270, 270, 270, 270, 657 270, 270, 270, 270, 407, 413, 413, 89, 415, 415, 658 89, 414, 89, 408, 148, 422, 148, 402, 402, 412, 659 422, 422, 427, 403, 415, 415, 420, 270, 270, 270, 660 661 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 662 279, 279, 89, 413, 413, 415, 415, 424, 424, 414, 663 424, 424, 424, 424, 425, 419, 418, 425, 417, 425, 664 410, 406, 405, 400, 399, 279, 279, 279, 280, 280, 665 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 666 397, 396, 395, 391, 390, 388, 387, 386, 380, 379, 667 378, 375, 374, 373, 367, 366, 365, 294, 294, 361, 668 360, 359, 351, 280, 280, 280, 281, 281, 281, 281, 669 281, 281, 281, 281, 281, 281, 281, 281, 350, 297, 670 342, 341, 294, 294, 294, 340, 339, 338, 329, 324, 671 672 323, 322, 321, 294, 318, 317, 294, 294, 316, 315, 673 314, 281, 281, 281, 303, 303, 303, 303, 303, 303, 674 303, 303, 303, 303, 303, 303, 308, 306, 305, 299, 675 296, 295, 292, 291, 290, 289, 288, 287, 282, 278, 676 277, 276, 275, 274, 273, 272, 264, 261, 260, 303, 677 303, 303, 309, 309, 309, 309, 309, 309, 309, 309, 678 309, 309, 309, 309, 259, 258, 257, 256, 255, 254, 679 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 680 237, 236, 210, 209, 208, 207, 206, 309, 309, 309, 681 344, 344, 344, 344, 344, 344, 344, 344, 344, 344, 682 683 344, 344, 205, 204, 203, 202, 201, 200, 199, 198, 684 175, 174, 173, 172, 171, 170, 169, 168, 167, 164, 685 163, 115, 115, 97, 136, 344, 344, 344, 352, 352, 686 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 687 89, 87, 135, 437, 134, 437, 133, 132, 129, 128, 688 127, 126, 125, 124, 123, 122, 437, 121, 120, 119, 689 115, 98, 97, 352, 352, 352, 353, 353, 353, 353, 690 353, 353, 353, 353, 353, 353, 353, 353, 94, 87, 691 86, 85, 84, 78, 77, 76, 75, 74, 63, 61, 692 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 693 694 437, 353, 353, 353, 363, 363, 363, 363, 363, 363, 695 363, 363, 363, 363, 363, 363, 437, 437, 437, 437, 696 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 697 437, 437, 437, 437, 437, 437, 437, 437, 437, 363, 698 363, 363, 376, 376, 376, 376, 376, 376, 376, 376, 699 376, 376, 376, 376, 437, 437, 437, 437, 437, 437, 700 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 701 437, 437, 437, 437, 437, 437, 437, 376, 376, 376, 702 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 703 423, 423, 437, 437, 437, 437, 437, 437, 437, 437, 704 705 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 706 437, 437, 437, 437, 437, 423, 423, 423, 15, 15, 707 15, 15, 15, 15, 15, 15, 15, 53, 53, 53, 708 53, 53, 53, 53, 53, 53, 57, 57, 57, 57, 709 57, 57, 57, 57, 57, 60, 60, 60, 60, 60, 710 60, 60, 60, 60, 62, 62, 62, 62, 62, 62, 711 62, 62, 62, 64, 64, 437, 64, 80, 80, 80, 712 80, 80, 80, 80, 80, 80, 83, 83, 83, 83, 713 83, 83, 83, 83, 83, 89, 89, 89, 89, 89, 714 89, 89, 89, 89, 96, 96, 96, 96, 96, 96, 715 716 96, 437, 96, 116, 437, 437, 437, 437, 437, 437, 717 116, 117, 117, 437, 117, 437, 117, 117, 117, 117, 718 118, 118, 118, 118, 118, 118, 118, 118, 118, 162, 719 162, 437, 162, 437, 162, 162, 162, 162, 197, 197, 720 437, 197, 437, 197, 197, 197, 197, 235, 235, 437, 721 235, 437, 235, 235, 235, 235, 271, 271, 437, 271, 722 437, 271, 271, 271, 271, 248, 248, 248, 248, 248, 723 437, 437, 248, 304, 304, 437, 304, 437, 304, 304, 724 304, 304, 279, 279, 279, 279, 279, 437, 437, 279, 725 280, 280, 280, 280, 280, 437, 437, 280, 281, 281, 726 727 281, 281, 281, 437, 437, 281, 319, 319, 319, 319, 728 319, 437, 437, 319, 328, 328, 437, 328, 437, 328, 729 328, 328, 328, 309, 309, 309, 309, 309, 437, 437, 730 309, 346, 346, 437, 346, 437, 346, 346, 346, 346, 731 364, 364, 437, 364, 437, 364, 364, 364, 364, 352, 732 352, 352, 352, 352, 437, 437, 352, 353, 353, 353, 733 353, 353, 437, 437, 353, 377, 377, 437, 377, 437, 734 377, 377, 377, 377, 389, 389, 437, 389, 437, 389, 735 389, 389, 389, 398, 398, 437, 398, 437, 398, 398, 736 398, 398, 409, 409, 437, 409, 437, 409, 409, 409, 737 738 409, 416, 416, 437, 437, 437, 416, 437, 416, 421, 739 421, 437, 421, 437, 421, 421, 421, 421, 426, 426, 740 426, 437, 426, 426, 437, 426, 431, 431, 437, 431, 741 437, 431, 431, 431, 431, 423, 423, 423, 423, 423, 742 437, 437, 423, 9, 437, 437, 437, 437, 437, 437, 743 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 744 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 745 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 746 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 747 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 748 749 437, 437, 437, 437, 437, 437 750 } ; 751 752static yyconst flex_int16_t yy_chk[1507] = 753 { 0, 754 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 755 1, 1, 1, 4, 5, 6, 4, 7, 8, 12, 756 17, 5, 6, 26, 7, 8, 24, 24, 25, 25, 757 34, 34, 35, 35, 41, 1, 1, 1, 2, 2, 758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 759 2, 36, 12, 38, 2, 36, 26, 42, 46, 43, 760 41, 17, 38, 44, 45, 47, 50, 51, 51, 94, 761 51, 76, 94, 2, 2, 2, 43, 42, 79, 79, 762 92, 2, 47, 42, 46, 92, 76, 136, 44, 45, 763 136, 50, 436, 2, 2, 2, 3, 3, 3, 3, 764 765 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 766 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 767 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 768 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 769 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 770 3, 3, 3, 3, 3, 3, 3, 3, 16, 48, 771 49, 16, 57, 66, 72, 80, 91, 91, 93, 101, 772 99, 95, 48, 16, 100, 102, 93, 103, 107, 142, 773 49, 49, 95, 108, 105, 214, 137, 100, 65, 48, 774 49, 65, 214, 435, 101, 57, 99, 137, 80, 106, 775 776 16, 104, 142, 65, 66, 72, 107, 102, 103, 105, 777 109, 108, 16, 16, 16, 32, 32, 32, 32, 32, 778 32, 32, 32, 32, 32, 32, 32, 104, 106, 434, 779 65, 104, 113, 113, 124, 113, 109, 138, 111, 138, 780 144, 140, 65, 65, 65, 140, 110, 112, 146, 124, 781 32, 32, 32, 33, 33, 33, 33, 33, 33, 33, 782 33, 33, 33, 33, 33, 110, 111, 149, 112, 144, 783 145, 147, 146, 152, 151, 249, 112, 433, 177, 33, 784 249, 110, 145, 147, 177, 152, 149, 151, 33, 33, 785 33, 116, 116, 116, 116, 116, 116, 116, 116, 116, 786 787 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 788 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 789 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 790 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 791 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 792 116, 116, 116, 139, 139, 139, 139, 139, 139, 139, 793 139, 139, 139, 139, 139, 155, 158, 176, 178, 226, 794 226, 250, 180, 250, 150, 143, 156, 153, 182, 176, 795 178, 154, 155, 157, 180, 183, 185, 158, 139, 139, 796 139, 141, 141, 141, 141, 141, 141, 141, 141, 141, 797 798 141, 141, 141, 143, 150, 153, 154, 156, 182, 157, 799 190, 311, 212, 191, 311, 183, 185, 251, 189, 232, 800 233, 195, 251, 190, 188, 212, 141, 141, 141, 148, 801 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, 802 148, 188, 189, 191, 192, 193, 195, 194, 211, 232, 803 233, 213, 260, 252, 277, 277, 260, 193, 252, 432, 804 211, 192, 194, 213, 148, 148, 148, 159, 159, 159, 805 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 806 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 807 159, 184, 184, 184, 184, 184, 184, 184, 184, 184, 808 809 184, 184, 184, 196, 228, 229, 265, 231, 263, 230, 810 283, 266, 267, 268, 283, 294, 294, 285, 265, 229, 811 228, 285, 196, 231, 263, 266, 184, 184, 184, 187, 812 187, 229, 230, 267, 268, 284, 286, 266, 300, 302, 813 307, 307, 187, 187, 301, 310, 286, 284, 187, 308, 814 325, 312, 302, 310, 343, 313, 334, 308, 307, 312, 815 430, 334, 308, 308, 313, 300, 371, 335, 187, 187, 816 187, 327, 335, 301, 336, 187, 358, 187, 371, 336, 817 325, 358, 343, 187, 429, 187, 210, 210, 210, 210, 818 210, 210, 210, 210, 210, 210, 210, 210, 329, 354, 819 820 327, 337, 355, 357, 337, 356, 329, 357, 354, 355, 821 428, 329, 329, 337, 356, 368, 369, 369, 368, 372, 822 372, 210, 210, 210, 215, 215, 215, 215, 215, 215, 823 215, 215, 215, 215, 215, 215, 370, 381, 383, 370, 824 382, 384, 392, 394, 394, 427, 384, 381, 383, 382, 825 385, 400, 392, 420, 385, 419, 400, 400, 418, 215, 826 215, 215, 234, 234, 234, 234, 234, 234, 234, 234, 827 234, 234, 234, 234, 397, 402, 402, 401, 403, 403, 828 404, 402, 412, 397, 404, 410, 412, 393, 393, 401, 829 410, 410, 417, 393, 414, 414, 408, 234, 234, 234, 830 831 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 832 244, 244, 393, 413, 413, 415, 415, 416, 416, 413, 833 424, 424, 426, 426, 416, 407, 406, 424, 405, 426, 834 399, 396, 395, 391, 390, 244, 244, 244, 245, 245, 835 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 836 388, 387, 386, 380, 378, 375, 374, 373, 367, 366, 837 365, 361, 360, 359, 351, 350, 347, 342, 341, 340, 838 339, 338, 331, 245, 245, 245, 246, 246, 246, 246, 839 246, 246, 246, 246, 246, 246, 246, 246, 330, 324, 840 323, 322, 321, 318, 317, 316, 315, 314, 305, 299, 841 842 298, 297, 296, 295, 293, 292, 291, 290, 289, 288, 843 287, 246, 246, 246, 269, 269, 269, 269, 269, 269, 844 269, 269, 269, 269, 269, 269, 278, 276, 272, 264, 845 262, 261, 259, 258, 257, 256, 255, 254, 247, 243, 846 242, 240, 239, 238, 237, 236, 227, 225, 224, 269, 847 269, 269, 282, 282, 282, 282, 282, 282, 282, 282, 848 282, 282, 282, 282, 223, 222, 221, 220, 219, 218, 849 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 850 199, 198, 175, 174, 173, 172, 171, 282, 282, 282, 851 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 852 853 326, 326, 170, 169, 168, 167, 166, 165, 164, 163, 854 133, 132, 131, 130, 129, 128, 127, 126, 125, 123, 855 122, 115, 114, 96, 90, 326, 326, 326, 332, 332, 856 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, 857 89, 87, 85, 84, 83, 82, 78, 77, 75, 74, 858 73, 71, 70, 69, 68, 67, 61, 60, 56, 55, 859 52, 40, 39, 332, 332, 332, 333, 333, 333, 333, 860 333, 333, 333, 333, 333, 333, 333, 333, 37, 31, 861 30, 29, 28, 22, 21, 20, 19, 18, 14, 13, 862 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 863 864 0, 333, 333, 333, 345, 345, 345, 345, 345, 345, 865 345, 345, 345, 345, 345, 345, 0, 0, 0, 0, 866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 867 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 868 345, 345, 362, 362, 362, 362, 362, 362, 362, 362, 869 362, 362, 362, 362, 0, 0, 0, 0, 0, 0, 870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 871 0, 0, 0, 0, 0, 0, 0, 362, 362, 362, 872 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, 873 411, 411, 0, 0, 0, 0, 0, 0, 0, 0, 874 875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876 0, 0, 0, 0, 0, 411, 411, 411, 438, 438, 877 438, 438, 438, 438, 438, 438, 438, 439, 439, 439, 878 439, 439, 439, 439, 439, 439, 440, 440, 440, 440, 879 440, 440, 440, 440, 440, 441, 441, 441, 441, 441, 880 441, 441, 441, 441, 442, 442, 442, 442, 442, 442, 881 442, 442, 442, 443, 443, 0, 443, 444, 444, 444, 882 444, 444, 444, 444, 444, 444, 445, 445, 445, 445, 883 445, 445, 445, 445, 445, 446, 446, 446, 446, 446, 884 446, 446, 446, 446, 447, 447, 447, 447, 447, 447, 885 886 447, 0, 447, 448, 0, 0, 0, 0, 0, 0, 887 448, 449, 449, 0, 449, 0, 449, 449, 449, 449, 888 450, 450, 450, 450, 450, 450, 450, 450, 450, 451, 889 451, 0, 451, 0, 451, 451, 451, 451, 452, 452, 890 0, 452, 0, 452, 452, 452, 452, 453, 453, 0, 891 453, 0, 453, 453, 453, 453, 454, 454, 0, 454, 892 0, 454, 454, 454, 454, 455, 455, 455, 455, 455, 893 0, 0, 455, 456, 456, 0, 456, 0, 456, 456, 894 456, 456, 457, 457, 457, 457, 457, 0, 0, 457, 895 458, 458, 458, 458, 458, 0, 0, 458, 459, 459, 896 897 459, 459, 459, 0, 0, 459, 460, 460, 460, 460, 898 460, 0, 0, 460, 461, 461, 0, 461, 0, 461, 899 461, 461, 461, 462, 462, 462, 462, 462, 0, 0, 900 462, 463, 463, 0, 463, 0, 463, 463, 463, 463, 901 464, 464, 0, 464, 0, 464, 464, 464, 464, 465, 902 465, 465, 465, 465, 0, 0, 465, 466, 466, 466, 903 466, 466, 0, 0, 466, 467, 467, 0, 467, 0, 904 467, 467, 467, 467, 468, 468, 0, 468, 0, 468, 905 468, 468, 468, 469, 469, 0, 469, 0, 469, 469, 906 469, 469, 470, 470, 0, 470, 0, 470, 470, 470, 907 908 470, 471, 471, 0, 0, 0, 471, 0, 471, 472, 909 472, 0, 472, 0, 472, 472, 472, 472, 473, 473, 910 473, 0, 473, 473, 0, 473, 474, 474, 0, 474, 911 0, 474, 474, 474, 474, 475, 475, 475, 475, 475, 912 0, 0, 475, 437, 437, 437, 437, 437, 437, 437, 913 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 914 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 915 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 916 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 917 437, 437, 437, 437, 437, 437, 437, 437, 437, 437, 918 919 437, 437, 437, 437, 437, 437 920 } ; 921 922static yy_state_type yy_last_accepting_state; 923static char *yy_last_accepting_cpos; 924 925extern int yy_flex_debug; 926int yy_flex_debug = 0; 927 928/* The intent behind this definition is that it'll catch 929 * any uses of REJECT which flex missed. 930 */ 931#define REJECT reject_used_but_not_detected 932#define yymore() yymore_used_but_not_detected 933#define YY_MORE_ADJ 0 934#define YY_RESTORE_YY_MORE_OFFSET 935char *yytext; 936#line 1 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 937/* -*- indented-text -*- */ 938/* Process source files and output type information. 939 Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 940 Free Software Foundation, Inc. 941 942This file is part of GCC. 943 944GCC is free software; you can redistribute it and/or modify it under 945the terms of the GNU General Public License as published by the Free 946Software Foundation; either version 3, or (at your option) any later 947version. 948 949GCC is distributed in the hope that it will be useful, but WITHOUT ANY 950WARRANTY; without even the implied warranty of MERCHANTABILITY or 951FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 952for more details. 953 954You should have received a copy of the GNU General Public License 955along with GCC; see the file COPYING3. If not see 956<http://www.gnu.org/licenses/>. */ 957#define YY_NO_INPUT 1 958#line 25 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 959#include "bconfig.h" 960#include "system.h" 961 962#define malloc xmalloc 963#define realloc xrealloc 964 965#include "gengtype.h" 966 967#define YY_DECL int yylex (const char **yylval) 968#define yyterminate() return EOF_TOKEN 969 970struct fileloc lexer_line; 971int lexer_toplevel_done; 972 973static void 974update_lineno (const char *l, size_t len) 975{ 976 while (len-- > 0) 977 if (*l++ == '\n') 978 lexer_line.line++; 979} 980 981 982#line 983 "gengtype-lex.c" 983 984#define INITIAL 0 985#define in_struct 1 986#define in_struct_comment 2 987#define in_comment 3 988 989#ifndef YY_NO_UNISTD_H 990/* Special case for "unistd.h", since it is non-ANSI. We include it way 991 * down here because we want the user's section 1 to have been scanned first. 992 * The user has a chance to override it with an option. 993 */ 994#include <unistd.h> 995#endif 996 997#ifndef YY_EXTRA_TYPE 998#define YY_EXTRA_TYPE void * 999#endif 1000 1001static int yy_init_globals (void ); 1002 1003/* Accessor methods to globals. 1004 These are made visible to non-reentrant scanners for convenience. */ 1005 1006int yylex_destroy (void ); 1007 1008int yyget_debug (void ); 1009 1010void yyset_debug (int debug_flag ); 1011 1012YY_EXTRA_TYPE yyget_extra (void ); 1013 1014void yyset_extra (YY_EXTRA_TYPE user_defined ); 1015 1016FILE *yyget_in (void ); 1017 1018void yyset_in (FILE * in_str ); 1019 1020FILE *yyget_out (void ); 1021 1022void yyset_out (FILE * out_str ); 1023 1024int yyget_leng (void ); 1025 1026char *yyget_text (void ); 1027 1028int yyget_lineno (void ); 1029 1030void yyset_lineno (int line_number ); 1031 1032/* Macros after this point can all be overridden by user definitions in 1033 * section 1. 1034 */ 1035 1036#ifndef YY_SKIP_YYWRAP 1037#ifdef __cplusplus 1038extern "C" int yywrap (void ); 1039#else 1040extern int yywrap (void ); 1041#endif 1042#endif 1043 1044#ifndef yytext_ptr 1045static void yy_flex_strncpy (char *,yyconst char *,int ); 1046#endif 1047 1048#ifdef YY_NEED_STRLEN 1049static int yy_flex_strlen (yyconst char * ); 1050#endif 1051 1052#ifndef YY_NO_INPUT 1053 1054#ifdef __cplusplus 1055static int yyinput (void ); 1056#else 1057static int input (void ); 1058#endif 1059 1060#endif 1061 1062/* Amount of stuff to slurp up with each read. */ 1063#ifndef YY_READ_BUF_SIZE 1064#define YY_READ_BUF_SIZE 8192 1065#endif 1066 1067/* Copy whatever the last rule matched to the standard output. */ 1068#ifndef ECHO 1069/* This used to be an fputs(), but since the string might contain NUL's, 1070 * we now use fwrite(). 1071 */ 1072#define ECHO fwrite( yytext, yyleng, 1, yyout ) 1073#endif 1074 1075/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 1076 * is returned in "result". 1077 */ 1078#ifndef YY_INPUT 1079#define YY_INPUT(buf,result,max_size) \ 1080 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 1081 { \ 1082 int c = '*'; \ 1083 int n; \ 1084 for ( n = 0; n < max_size && \ 1085 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 1086 buf[n] = (char) c; \ 1087 if ( c == '\n' ) \ 1088 buf[n++] = (char) c; \ 1089 if ( c == EOF && ferror( yyin ) ) \ 1090 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1091 result = n; \ 1092 } \ 1093 else \ 1094 { \ 1095 errno=0; \ 1096 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 1097 { \ 1098 if( errno != EINTR) \ 1099 { \ 1100 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1101 break; \ 1102 } \ 1103 errno=0; \ 1104 clearerr(yyin); \ 1105 } \ 1106 }\ 1107\ 1108 1109#endif 1110 1111/* No semi-colon after return; correct usage is to write "yyterminate();" - 1112 * we don't want an extra ';' after the "return" because that will cause 1113 * some compilers to complain about unreachable statements. 1114 */ 1115#ifndef yyterminate 1116#define yyterminate() return YY_NULL 1117#endif 1118 1119/* Number of entries by which start-condition stack grows. */ 1120#ifndef YY_START_STACK_INCR 1121#define YY_START_STACK_INCR 25 1122#endif 1123 1124/* Report a fatal error. */ 1125#ifndef YY_FATAL_ERROR 1126#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 1127#endif 1128 1129/* end tables serialization structures and prototypes */ 1130 1131/* Default declaration of generated scanner - a define so the user can 1132 * easily add parameters. 1133 */ 1134#ifndef YY_DECL 1135#define YY_DECL_IS_OURS 1 1136 1137extern int yylex (void); 1138 1139#define YY_DECL int yylex (void) 1140#endif /* !YY_DECL */ 1141 1142/* Code executed at the beginning of each rule, after yytext and yyleng 1143 * have been set up. 1144 */ 1145#ifndef YY_USER_ACTION 1146#define YY_USER_ACTION 1147#endif 1148 1149/* Code executed at the end of each rule. */ 1150#ifndef YY_BREAK 1151#define YY_BREAK break; 1152#endif 1153 1154#define YY_RULE_SETUP \ 1155 if ( yyleng > 0 ) \ 1156 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 1157 (yytext[yyleng - 1] == '\n'); \ 1158 YY_USER_ACTION 1159 1160/** The main scanner function which does all the work. 1161 */ 1162YY_DECL 1163{ 1164 register yy_state_type yy_current_state; 1165 register char *yy_cp, *yy_bp; 1166 register int yy_act; 1167 1168#line 59 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1169 1170 /* Do this on entry to yylex(): */ 1171 *yylval = 0; 1172 if (lexer_toplevel_done) 1173 { 1174 BEGIN(INITIAL); 1175 lexer_toplevel_done = 0; 1176 } 1177 1178 /* Things we look for in skipping mode: */ 1179#line 1180 "gengtype-lex.c" 1180 1181 if ( !(yy_init) ) 1182 { 1183 (yy_init) = 1; 1184 1185#ifdef YY_USER_INIT 1186 YY_USER_INIT; 1187#endif 1188 1189 if ( ! (yy_start) ) 1190 (yy_start) = 1; /* first start state */ 1191 1192 if ( ! yyin ) 1193 yyin = stdin; 1194 1195 if ( ! yyout ) 1196 yyout = stdout; 1197 1198 if ( ! YY_CURRENT_BUFFER ) { 1199 yyensure_buffer_stack (); 1200 YY_CURRENT_BUFFER_LVALUE = 1201 yy_create_buffer(yyin,YY_BUF_SIZE ); 1202 } 1203 1204 yy_load_buffer_state( ); 1205 } 1206 1207 while ( 1 ) /* loops until end-of-file is reached */ 1208 { 1209 yy_cp = (yy_c_buf_p); 1210 1211 /* Support of yytext. */ 1212 *yy_cp = (yy_hold_char); 1213 1214 /* yy_bp points to the position in yy_ch_buf of the start of 1215 * the current run. 1216 */ 1217 yy_bp = yy_cp; 1218 1219 yy_current_state = (yy_start); 1220 yy_current_state += YY_AT_BOL(); 1221yy_match: 1222 do 1223 { 1224 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 1225 if ( yy_accept[yy_current_state] ) 1226 { 1227 (yy_last_accepting_state) = yy_current_state; 1228 (yy_last_accepting_cpos) = yy_cp; 1229 } 1230 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1231 { 1232 yy_current_state = (int) yy_def[yy_current_state]; 1233 if ( yy_current_state >= 438 ) 1234 yy_c = yy_meta[(unsigned int) yy_c]; 1235 } 1236 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1237 ++yy_cp; 1238 } 1239 while ( yy_current_state != 437 ); 1240 yy_cp = (yy_last_accepting_cpos); 1241 yy_current_state = (yy_last_accepting_state); 1242 1243yy_find_action: 1244 yy_act = yy_accept[yy_current_state]; 1245 1246 YY_DO_BEFORE_ACTION; 1247 1248do_action: /* This label is used only to access EOF actions. */ 1249 1250 switch ( yy_act ) 1251 { /* beginning of action switch */ 1252 case 0: /* must back up */ 1253 /* undo the effects of YY_DO_BEFORE_ACTION */ 1254 *yy_cp = (yy_hold_char); 1255 yy_cp = (yy_last_accepting_cpos); 1256 yy_current_state = (yy_last_accepting_state); 1257 goto yy_find_action; 1258 1259case 1: 1260/* rule 1 can match eol */ 1261*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1262(yy_c_buf_p) = yy_cp -= 1; 1263YY_DO_BEFORE_ACTION; /* set up yytext again */ 1264YY_RULE_SETUP 1265#line 70 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1266{ 1267 BEGIN(in_struct); 1268 return TYPEDEF; 1269} 1270 YY_BREAK 1271case 2: 1272/* rule 2 can match eol */ 1273*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1274(yy_c_buf_p) = yy_cp -= 1; 1275YY_DO_BEFORE_ACTION; /* set up yytext again */ 1276YY_RULE_SETUP 1277#line 74 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1278{ 1279 BEGIN(in_struct); 1280 return STRUCT; 1281} 1282 YY_BREAK 1283case 3: 1284/* rule 3 can match eol */ 1285*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1286(yy_c_buf_p) = yy_cp -= 1; 1287YY_DO_BEFORE_ACTION; /* set up yytext again */ 1288YY_RULE_SETUP 1289#line 78 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1290{ 1291 BEGIN(in_struct); 1292 return UNION; 1293} 1294 YY_BREAK 1295case 4: 1296/* rule 4 can match eol */ 1297*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1298(yy_c_buf_p) = yy_cp -= 1; 1299YY_DO_BEFORE_ACTION; /* set up yytext again */ 1300YY_RULE_SETUP 1301#line 82 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1302{ 1303 BEGIN(in_struct); 1304 return EXTERN; 1305} 1306 YY_BREAK 1307case 5: 1308/* rule 5 can match eol */ 1309*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1310(yy_c_buf_p) = yy_cp -= 1; 1311YY_DO_BEFORE_ACTION; /* set up yytext again */ 1312YY_RULE_SETUP 1313#line 86 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1314{ 1315 BEGIN(in_struct); 1316 return STATIC; 1317} 1318 YY_BREAK 1319case 6: 1320/* rule 6 can match eol */ 1321*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1322(yy_c_buf_p) = yy_cp -= 1; 1323YY_DO_BEFORE_ACTION; /* set up yytext again */ 1324YY_RULE_SETUP 1325#line 91 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1326{ 1327 BEGIN(in_struct); 1328 return DEFVEC_OP; 1329} 1330 YY_BREAK 1331case 7: 1332/* rule 7 can match eol */ 1333*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1334(yy_c_buf_p) = yy_cp -= 1; 1335YY_DO_BEFORE_ACTION; /* set up yytext again */ 1336YY_RULE_SETUP 1337#line 95 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1338{ 1339 BEGIN(in_struct); 1340 return DEFVEC_I; 1341} 1342 YY_BREAK 1343case 8: 1344/* rule 8 can match eol */ 1345*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1346(yy_c_buf_p) = yy_cp -= 1; 1347YY_DO_BEFORE_ACTION; /* set up yytext again */ 1348YY_RULE_SETUP 1349#line 99 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1350{ 1351 BEGIN(in_struct); 1352 return DEFVEC_ALLOC; 1353} 1354 YY_BREAK 1355 1356 1357case 9: 1358YY_RULE_SETUP 1359#line 107 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1360{ BEGIN(in_struct_comment); } 1361 YY_BREAK 1362case 10: 1363/* rule 10 can match eol */ 1364YY_RULE_SETUP 1365#line 109 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1366{ update_lineno (yytext, yyleng); } 1367 YY_BREAK 1368case 11: 1369/* rule 11 can match eol */ 1370YY_RULE_SETUP 1371#line 110 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1372{ lexer_line.line++; } 1373 YY_BREAK 1374case 12: 1375/* rule 12 can match eol */ 1376*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1377(yy_c_buf_p) = yy_cp = yy_bp + 5; 1378YY_DO_BEFORE_ACTION; /* set up yytext again */ 1379YY_RULE_SETUP 1380#line 112 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1381/* don't care */ 1382 YY_BREAK 1383case 13: 1384/* rule 13 can match eol */ 1385*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1386(yy_c_buf_p) = yy_cp = yy_bp + 3; 1387YY_DO_BEFORE_ACTION; /* set up yytext again */ 1388YY_RULE_SETUP 1389#line 113 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1390{ return GTY_TOKEN; } 1391 YY_BREAK 1392case 14: 1393/* rule 14 can match eol */ 1394*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1395(yy_c_buf_p) = yy_cp = yy_bp + 3; 1396YY_DO_BEFORE_ACTION; /* set up yytext again */ 1397YY_RULE_SETUP 1398#line 114 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1399{ return VEC_TOKEN; } 1400 YY_BREAK 1401case 15: 1402/* rule 15 can match eol */ 1403*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1404(yy_c_buf_p) = yy_cp = yy_bp + 5; 1405YY_DO_BEFORE_ACTION; /* set up yytext again */ 1406YY_RULE_SETUP 1407#line 115 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1408{ return UNION; } 1409 YY_BREAK 1410case 16: 1411/* rule 16 can match eol */ 1412*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1413(yy_c_buf_p) = yy_cp = yy_bp + 6; 1414YY_DO_BEFORE_ACTION; /* set up yytext again */ 1415YY_RULE_SETUP 1416#line 116 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1417{ return STRUCT; } 1418 YY_BREAK 1419case 17: 1420/* rule 17 can match eol */ 1421*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1422(yy_c_buf_p) = yy_cp = yy_bp + 4; 1423YY_DO_BEFORE_ACTION; /* set up yytext again */ 1424YY_RULE_SETUP 1425#line 117 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1426{ return ENUM; } 1427 YY_BREAK 1428case 18: 1429/* rule 18 can match eol */ 1430*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1431(yy_c_buf_p) = yy_cp = yy_bp + 9; 1432YY_DO_BEFORE_ACTION; /* set up yytext again */ 1433YY_RULE_SETUP 1434#line 118 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1435{ return PTR_ALIAS; } 1436 YY_BREAK 1437case 19: 1438/* rule 19 can match eol */ 1439*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1440(yy_c_buf_p) = yy_cp = yy_bp + 10; 1441YY_DO_BEFORE_ACTION; /* set up yytext again */ 1442YY_RULE_SETUP 1443#line 119 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1444{ return NESTED_PTR; } 1445 YY_BREAK 1446case 20: 1447YY_RULE_SETUP 1448#line 120 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1449{ return NUM; } 1450 YY_BREAK 1451case 21: 1452/* rule 21 can match eol */ 1453*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1454(yy_c_buf_p) = yy_cp -= 1; 1455YY_DO_BEFORE_ACTION; /* set up yytext again */ 1456YY_RULE_SETUP 1457#line 121 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1458{ 1459 *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); 1460 return PARAM_IS; 1461} 1462 YY_BREAK 1463case 22: 1464/* rule 22 can match eol */ 1465*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1466(yy_c_buf_p) = yy_cp -= 1; 1467YY_DO_BEFORE_ACTION; /* set up yytext again */ 1468#line 127 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1469case 23: 1470/* rule 23 can match eol */ 1471YY_RULE_SETUP 1472#line 127 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1473{ 1474 size_t len; 1475 1476 for (len = yyleng; ISSPACE (yytext[len-1]); len--) 1477 ; 1478 1479 *yylval = XDUPVAR (const char, yytext, len, len+1); 1480 update_lineno (yytext, yyleng); 1481 return SCALAR; 1482} 1483 YY_BREAK 1484case 24: 1485/* rule 24 can match eol */ 1486*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1487(yy_c_buf_p) = yy_cp -= 1; 1488YY_DO_BEFORE_ACTION; /* set up yytext again */ 1489YY_RULE_SETUP 1490#line 139 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1491{ 1492 *yylval = XDUPVAR (const char, yytext, yyleng, yyleng+1); 1493 return ID; 1494} 1495 YY_BREAK 1496case 25: 1497/* rule 25 can match eol */ 1498YY_RULE_SETUP 1499#line 144 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1500{ 1501 *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); 1502 return STRING; 1503} 1504 YY_BREAK 1505/* This "terminal" avoids having to parse integer constant expressions. */ 1506case 26: 1507/* rule 26 can match eol */ 1508YY_RULE_SETUP 1509#line 149 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1510{ 1511 *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng-1); 1512 return ARRAY; 1513} 1514 YY_BREAK 1515case 27: 1516/* rule 27 can match eol */ 1517YY_RULE_SETUP 1518#line 153 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1519{ 1520 *yylval = XDUPVAR (const char, yytext+1, yyleng-2, yyleng); 1521 return CHAR; 1522} 1523 YY_BREAK 1524case 28: 1525YY_RULE_SETUP 1526#line 158 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1527{ return ELLIPSIS; } 1528 YY_BREAK 1529case 29: 1530YY_RULE_SETUP 1531#line 159 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1532{ return yytext[0]; } 1533 YY_BREAK 1534/* ignore pp-directives */ 1535case 30: 1536/* rule 30 can match eol */ 1537YY_RULE_SETUP 1538#line 162 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1539{lexer_line.line++;} 1540 YY_BREAK 1541case 31: 1542YY_RULE_SETUP 1543#line 164 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1544{ 1545 error_at_line (&lexer_line, "unexpected character `%s'", yytext); 1546} 1547 YY_BREAK 1548 1549case 32: 1550YY_RULE_SETUP 1551#line 169 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1552{ BEGIN(in_comment); } 1553 YY_BREAK 1554case 33: 1555/* rule 33 can match eol */ 1556YY_RULE_SETUP 1557#line 170 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1558{ lexer_line.line++; } 1559 YY_BREAK 1560case 34: 1561#line 172 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1562case 35: 1563/* rule 35 can match eol */ 1564#line 173 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1565case 36: 1566/* rule 36 can match eol */ 1567YY_RULE_SETUP 1568#line 173 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1569/* do nothing */ 1570 YY_BREAK 1571case 37: 1572/* rule 37 can match eol */ 1573YY_RULE_SETUP 1574#line 174 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1575{ update_lineno (yytext, yyleng); } 1576 YY_BREAK 1577case 38: 1578/* rule 38 can match eol */ 1579*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1580(yy_c_buf_p) = yy_cp = yy_bp + 1; 1581YY_DO_BEFORE_ACTION; /* set up yytext again */ 1582YY_RULE_SETUP 1583#line 175 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1584/* do nothing */ 1585 YY_BREAK 1586 1587case 39: 1588/* rule 39 can match eol */ 1589YY_RULE_SETUP 1590#line 178 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1591{ lexer_line.line++; } 1592 YY_BREAK 1593case 40: 1594#line 180 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1595case 41: 1596YY_RULE_SETUP 1597#line 180 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1598/* do nothing */ 1599 YY_BREAK 1600case 42: 1601/* rule 42 can match eol */ 1602*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ 1603(yy_c_buf_p) = yy_cp = yy_bp + 1; 1604YY_DO_BEFORE_ACTION; /* set up yytext again */ 1605YY_RULE_SETUP 1606#line 181 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1607/* do nothing */ 1608 YY_BREAK 1609 1610case 43: 1611YY_RULE_SETUP 1612#line 183 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1613{ BEGIN(INITIAL); } 1614 YY_BREAK 1615case 44: 1616YY_RULE_SETUP 1617#line 184 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1618{ BEGIN(in_struct); } 1619 YY_BREAK 1620case 45: 1621#line 187 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1622case 46: 1623YY_RULE_SETUP 1624#line 187 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1625{ 1626 error_at_line (&lexer_line, 1627 "unterminated comment or string; unexpected EOF"); 1628} 1629 YY_BREAK 1630case 47: 1631/* rule 47 can match eol */ 1632YY_RULE_SETUP 1633#line 192 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1634/* do nothing */ 1635 YY_BREAK 1636case 48: 1637YY_RULE_SETUP 1638#line 194 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 1639YY_FATAL_ERROR( "flex scanner jammed" ); 1640 YY_BREAK 1641#line 1642 "gengtype-lex.c" 1642case YY_STATE_EOF(INITIAL): 1643case YY_STATE_EOF(in_struct): 1644case YY_STATE_EOF(in_struct_comment): 1645case YY_STATE_EOF(in_comment): 1646 yyterminate(); 1647 1648 case YY_END_OF_BUFFER: 1649 { 1650 /* Amount of text matched not including the EOB char. */ 1651 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 1652 1653 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1654 *yy_cp = (yy_hold_char); 1655 YY_RESTORE_YY_MORE_OFFSET 1656 1657 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 1658 { 1659 /* We're scanning a new file or input source. It's 1660 * possible that this happened because the user 1661 * just pointed yyin at a new source and called 1662 * yylex(). If so, then we have to assure 1663 * consistency between YY_CURRENT_BUFFER and our 1664 * globals. Here is the right place to do so, because 1665 * this is the first action (other than possibly a 1666 * back-up) that will match for the new input source. 1667 */ 1668 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1669 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 1670 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 1671 } 1672 1673 /* Note that here we test for yy_c_buf_p "<=" to the position 1674 * of the first EOB in the buffer, since yy_c_buf_p will 1675 * already have been incremented past the NUL character 1676 * (since all states make transitions on EOB to the 1677 * end-of-buffer state). Contrast this with the test 1678 * in input(). 1679 */ 1680 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1681 { /* This was really a NUL. */ 1682 yy_state_type yy_next_state; 1683 1684 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 1685 1686 yy_current_state = yy_get_previous_state( ); 1687 1688 /* Okay, we're now positioned to make the NUL 1689 * transition. We couldn't have 1690 * yy_get_previous_state() go ahead and do it 1691 * for us because it doesn't know how to deal 1692 * with the possibility of jamming (and we don't 1693 * want to build jamming into it because then it 1694 * will run more slowly). 1695 */ 1696 1697 yy_next_state = yy_try_NUL_trans( yy_current_state ); 1698 1699 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1700 1701 if ( yy_next_state ) 1702 { 1703 /* Consume the NUL. */ 1704 yy_cp = ++(yy_c_buf_p); 1705 yy_current_state = yy_next_state; 1706 goto yy_match; 1707 } 1708 1709 else 1710 { 1711 yy_cp = (yy_last_accepting_cpos); 1712 yy_current_state = (yy_last_accepting_state); 1713 goto yy_find_action; 1714 } 1715 } 1716 1717 else switch ( yy_get_next_buffer( ) ) 1718 { 1719 case EOB_ACT_END_OF_FILE: 1720 { 1721 (yy_did_buffer_switch_on_eof) = 0; 1722 1723 if ( yywrap( ) ) 1724 { 1725 /* Note: because we've taken care in 1726 * yy_get_next_buffer() to have set up 1727 * yytext, we can now set up 1728 * yy_c_buf_p so that if some total 1729 * hoser (like flex itself) wants to 1730 * call the scanner after we return the 1731 * YY_NULL, it'll still work - another 1732 * YY_NULL will get returned. 1733 */ 1734 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 1735 1736 yy_act = YY_STATE_EOF(YY_START); 1737 goto do_action; 1738 } 1739 1740 else 1741 { 1742 if ( ! (yy_did_buffer_switch_on_eof) ) 1743 YY_NEW_FILE; 1744 } 1745 break; 1746 } 1747 1748 case EOB_ACT_CONTINUE_SCAN: 1749 (yy_c_buf_p) = 1750 (yytext_ptr) + yy_amount_of_matched_text; 1751 1752 yy_current_state = yy_get_previous_state( ); 1753 1754 yy_cp = (yy_c_buf_p); 1755 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1756 goto yy_match; 1757 1758 case EOB_ACT_LAST_MATCH: 1759 (yy_c_buf_p) = 1760 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 1761 1762 yy_current_state = yy_get_previous_state( ); 1763 1764 yy_cp = (yy_c_buf_p); 1765 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1766 goto yy_find_action; 1767 } 1768 break; 1769 } 1770 1771 default: 1772 YY_FATAL_ERROR( 1773 "fatal flex scanner internal error--no action found" ); 1774 } /* end of action switch */ 1775 } /* end of scanning one token */ 1776} /* end of yylex */ 1777 1778/* yy_get_next_buffer - try to read in a new buffer 1779 * 1780 * Returns a code representing an action: 1781 * EOB_ACT_LAST_MATCH - 1782 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1783 * EOB_ACT_END_OF_FILE - end of file 1784 */ 1785static int yy_get_next_buffer (void) 1786{ 1787 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 1788 register char *source = (yytext_ptr); 1789 register int number_to_move, i; 1790 int ret_val; 1791 1792 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 1793 YY_FATAL_ERROR( 1794 "fatal flex scanner internal error--end of buffer missed" ); 1795 1796 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 1797 { /* Don't try to fill the buffer, so this is an EOF. */ 1798 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 1799 { 1800 /* We matched a single character, the EOB, so 1801 * treat this as a final EOF. 1802 */ 1803 return EOB_ACT_END_OF_FILE; 1804 } 1805 1806 else 1807 { 1808 /* We matched some text prior to the EOB, first 1809 * process it. 1810 */ 1811 return EOB_ACT_LAST_MATCH; 1812 } 1813 } 1814 1815 /* Try to read more data. */ 1816 1817 /* First move last chars to start of buffer. */ 1818 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 1819 1820 for ( i = 0; i < number_to_move; ++i ) 1821 *(dest++) = *(source++); 1822 1823 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1824 /* don't do the read, it's not guaranteed to return an EOF, 1825 * just force an EOF 1826 */ 1827 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 1828 1829 else 1830 { 1831 int num_to_read = 1832 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 1833 1834 while ( num_to_read <= 0 ) 1835 { /* Not enough room in the buffer - grow it. */ 1836 1837 /* just a shorter name for the current buffer */ 1838 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 1839 1840 int yy_c_buf_p_offset = 1841 (int) ((yy_c_buf_p) - b->yy_ch_buf); 1842 1843 if ( b->yy_is_our_buffer ) 1844 { 1845 int new_size = b->yy_buf_size * 2; 1846 1847 if ( new_size <= 0 ) 1848 b->yy_buf_size += b->yy_buf_size / 8; 1849 else 1850 b->yy_buf_size *= 2; 1851 1852 b->yy_ch_buf = (char *) 1853 /* Include room in for 2 EOB chars. */ 1854 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 1855 } 1856 else 1857 /* Can't grow it, we don't own it. */ 1858 b->yy_ch_buf = 0; 1859 1860 if ( ! b->yy_ch_buf ) 1861 YY_FATAL_ERROR( 1862 "fatal error - scanner input buffer overflow" ); 1863 1864 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 1865 1866 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 1867 number_to_move - 1; 1868 1869 } 1870 1871 if ( num_to_read > YY_READ_BUF_SIZE ) 1872 num_to_read = YY_READ_BUF_SIZE; 1873 1874 /* Read in more data. */ 1875 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 1876 (yy_n_chars), (size_t) num_to_read ); 1877 1878 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1879 } 1880 1881 if ( (yy_n_chars) == 0 ) 1882 { 1883 if ( number_to_move == YY_MORE_ADJ ) 1884 { 1885 ret_val = EOB_ACT_END_OF_FILE; 1886 yyrestart(yyin ); 1887 } 1888 1889 else 1890 { 1891 ret_val = EOB_ACT_LAST_MATCH; 1892 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 1893 YY_BUFFER_EOF_PENDING; 1894 } 1895 } 1896 1897 else 1898 ret_val = EOB_ACT_CONTINUE_SCAN; 1899 1900 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 1901 /* Extend the array by 50%, plus the number we really need. */ 1902 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 1903 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 1904 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1905 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 1906 } 1907 1908 (yy_n_chars) += number_to_move; 1909 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 1910 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 1911 1912 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 1913 1914 return ret_val; 1915} 1916 1917/* yy_get_previous_state - get the state just before the EOB char was reached */ 1918 1919 static yy_state_type yy_get_previous_state (void) 1920{ 1921 register yy_state_type yy_current_state; 1922 register char *yy_cp; 1923 1924 yy_current_state = (yy_start); 1925 yy_current_state += YY_AT_BOL(); 1926 1927 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 1928 { 1929 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1930 if ( yy_accept[yy_current_state] ) 1931 { 1932 (yy_last_accepting_state) = yy_current_state; 1933 (yy_last_accepting_cpos) = yy_cp; 1934 } 1935 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1936 { 1937 yy_current_state = (int) yy_def[yy_current_state]; 1938 if ( yy_current_state >= 438 ) 1939 yy_c = yy_meta[(unsigned int) yy_c]; 1940 } 1941 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1942 } 1943 1944 return yy_current_state; 1945} 1946 1947/* yy_try_NUL_trans - try to make a transition on the NUL character 1948 * 1949 * synopsis 1950 * next_state = yy_try_NUL_trans( current_state ); 1951 */ 1952 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 1953{ 1954 register int yy_is_jam; 1955 register char *yy_cp = (yy_c_buf_p); 1956 1957 register YY_CHAR yy_c = 1; 1958 if ( yy_accept[yy_current_state] ) 1959 { 1960 (yy_last_accepting_state) = yy_current_state; 1961 (yy_last_accepting_cpos) = yy_cp; 1962 } 1963 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1964 { 1965 yy_current_state = (int) yy_def[yy_current_state]; 1966 if ( yy_current_state >= 438 ) 1967 yy_c = yy_meta[(unsigned int) yy_c]; 1968 } 1969 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1970 yy_is_jam = (yy_current_state == 437); 1971 1972 return yy_is_jam ? 0 : yy_current_state; 1973} 1974 1975#ifndef YY_NO_INPUT 1976#ifdef __cplusplus 1977 static int yyinput (void) 1978#else 1979 static int input (void) 1980#endif 1981 1982{ 1983 int c; 1984 1985 *(yy_c_buf_p) = (yy_hold_char); 1986 1987 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 1988 { 1989 /* yy_c_buf_p now points to the character we want to return. 1990 * If this occurs *before* the EOB characters, then it's a 1991 * valid NUL; if not, then we've hit the end of the buffer. 1992 */ 1993 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1994 /* This was really a NUL. */ 1995 *(yy_c_buf_p) = '\0'; 1996 1997 else 1998 { /* need more input */ 1999 int offset = (yy_c_buf_p) - (yytext_ptr); 2000 ++(yy_c_buf_p); 2001 2002 switch ( yy_get_next_buffer( ) ) 2003 { 2004 case EOB_ACT_LAST_MATCH: 2005 /* This happens because yy_g_n_b() 2006 * sees that we've accumulated a 2007 * token and flags that we need to 2008 * try matching the token before 2009 * proceeding. But for input(), 2010 * there's no matching to consider. 2011 * So convert the EOB_ACT_LAST_MATCH 2012 * to EOB_ACT_END_OF_FILE. 2013 */ 2014 2015 /* Reset buffer status. */ 2016 yyrestart(yyin ); 2017 2018 /*FALLTHROUGH*/ 2019 2020 case EOB_ACT_END_OF_FILE: 2021 { 2022 if ( yywrap( ) ) 2023 return EOF; 2024 2025 if ( ! (yy_did_buffer_switch_on_eof) ) 2026 YY_NEW_FILE; 2027#ifdef __cplusplus 2028 return yyinput(); 2029#else 2030 return input(); 2031#endif 2032 } 2033 2034 case EOB_ACT_CONTINUE_SCAN: 2035 (yy_c_buf_p) = (yytext_ptr) + offset; 2036 break; 2037 } 2038 } 2039 } 2040 2041 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 2042 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 2043 (yy_hold_char) = *++(yy_c_buf_p); 2044 2045 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 2046 2047 return c; 2048} 2049#endif /* ifndef YY_NO_INPUT */ 2050 2051/** Immediately switch to a different input stream. 2052 * @param input_file A readable stream. 2053 * 2054 * @note This function does not reset the start condition to @c INITIAL . 2055 */ 2056 void yyrestart (FILE * input_file ) 2057{ 2058 2059 if ( ! YY_CURRENT_BUFFER ){ 2060 yyensure_buffer_stack (); 2061 YY_CURRENT_BUFFER_LVALUE = 2062 yy_create_buffer(yyin,YY_BUF_SIZE ); 2063 } 2064 2065 yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 2066 yy_load_buffer_state( ); 2067} 2068 2069/** Switch to a different input buffer. 2070 * @param new_buffer The new input buffer. 2071 * 2072 */ 2073 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 2074{ 2075 2076 /* TODO. We should be able to replace this entire function body 2077 * with 2078 * yypop_buffer_state(); 2079 * yypush_buffer_state(new_buffer); 2080 */ 2081 yyensure_buffer_stack (); 2082 if ( YY_CURRENT_BUFFER == new_buffer ) 2083 return; 2084 2085 if ( YY_CURRENT_BUFFER ) 2086 { 2087 /* Flush out information for old buffer. */ 2088 *(yy_c_buf_p) = (yy_hold_char); 2089 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 2090 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2091 } 2092 2093 YY_CURRENT_BUFFER_LVALUE = new_buffer; 2094 yy_load_buffer_state( ); 2095 2096 /* We don't actually know whether we did this switch during 2097 * EOF (yywrap()) processing, but the only time this flag 2098 * is looked at is after yywrap() is called, so it's safe 2099 * to go ahead and always set it. 2100 */ 2101 (yy_did_buffer_switch_on_eof) = 1; 2102} 2103 2104static void yy_load_buffer_state (void) 2105{ 2106 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 2107 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 2108 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 2109 (yy_hold_char) = *(yy_c_buf_p); 2110} 2111 2112/** Allocate and initialize an input buffer state. 2113 * @param file A readable stream. 2114 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 2115 * 2116 * @return the allocated buffer state. 2117 */ 2118 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 2119{ 2120 YY_BUFFER_STATE b; 2121 2122 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 2123 if ( ! b ) 2124 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 2125 2126 b->yy_buf_size = size; 2127 2128 /* yy_ch_buf has to be 2 characters longer than the size given because 2129 * we need to put in 2 end-of-buffer characters. 2130 */ 2131 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 2132 if ( ! b->yy_ch_buf ) 2133 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 2134 2135 b->yy_is_our_buffer = 1; 2136 2137 yy_init_buffer(b,file ); 2138 2139 return b; 2140} 2141 2142/** Destroy the buffer. 2143 * @param b a buffer created with yy_create_buffer() 2144 * 2145 */ 2146 void yy_delete_buffer (YY_BUFFER_STATE b ) 2147{ 2148 2149 if ( ! b ) 2150 return; 2151 2152 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 2153 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 2154 2155 if ( b->yy_is_our_buffer ) 2156 yyfree((void *) b->yy_ch_buf ); 2157 2158 yyfree((void *) b ); 2159} 2160 2161/* Initializes or reinitializes a buffer. 2162 * This function is sometimes called more than once on the same buffer, 2163 * such as during a yyrestart() or at EOF. 2164 */ 2165 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 2166 2167{ 2168 int oerrno = errno; 2169 2170 yy_flush_buffer(b ); 2171 2172 b->yy_input_file = file; 2173 b->yy_fill_buffer = 1; 2174 2175 /* If b is the current buffer, then yy_init_buffer was _probably_ 2176 * called from yyrestart() or through yy_get_next_buffer. 2177 * In that case, we don't want to reset the lineno or column. 2178 */ 2179 if (b != YY_CURRENT_BUFFER){ 2180 b->yy_bs_lineno = 1; 2181 b->yy_bs_column = 0; 2182 } 2183 2184 b->yy_is_interactive = 0; 2185 2186 errno = oerrno; 2187} 2188 2189/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 2190 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 2191 * 2192 */ 2193 void yy_flush_buffer (YY_BUFFER_STATE b ) 2194{ 2195 if ( ! b ) 2196 return; 2197 2198 b->yy_n_chars = 0; 2199 2200 /* We always need two end-of-buffer characters. The first causes 2201 * a transition to the end-of-buffer state. The second causes 2202 * a jam in that state. 2203 */ 2204 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 2205 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 2206 2207 b->yy_buf_pos = &b->yy_ch_buf[0]; 2208 2209 b->yy_at_bol = 1; 2210 b->yy_buffer_status = YY_BUFFER_NEW; 2211 2212 if ( b == YY_CURRENT_BUFFER ) 2213 yy_load_buffer_state( ); 2214} 2215 2216/** Pushes the new state onto the stack. The new state becomes 2217 * the current state. This function will allocate the stack 2218 * if necessary. 2219 * @param new_buffer The new state. 2220 * 2221 */ 2222void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 2223{ 2224 if (new_buffer == NULL) 2225 return; 2226 2227 yyensure_buffer_stack(); 2228 2229 /* This block is copied from yy_switch_to_buffer. */ 2230 if ( YY_CURRENT_BUFFER ) 2231 { 2232 /* Flush out information for old buffer. */ 2233 *(yy_c_buf_p) = (yy_hold_char); 2234 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 2235 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2236 } 2237 2238 /* Only push if top exists. Otherwise, replace top. */ 2239 if (YY_CURRENT_BUFFER) 2240 (yy_buffer_stack_top)++; 2241 YY_CURRENT_BUFFER_LVALUE = new_buffer; 2242 2243 /* copied from yy_switch_to_buffer. */ 2244 yy_load_buffer_state( ); 2245 (yy_did_buffer_switch_on_eof) = 1; 2246} 2247 2248/** Removes and deletes the top of the stack, if present. 2249 * The next element becomes the new top. 2250 * 2251 */ 2252void yypop_buffer_state (void) 2253{ 2254 if (!YY_CURRENT_BUFFER) 2255 return; 2256 2257 yy_delete_buffer(YY_CURRENT_BUFFER ); 2258 YY_CURRENT_BUFFER_LVALUE = NULL; 2259 if ((yy_buffer_stack_top) > 0) 2260 --(yy_buffer_stack_top); 2261 2262 if (YY_CURRENT_BUFFER) { 2263 yy_load_buffer_state( ); 2264 (yy_did_buffer_switch_on_eof) = 1; 2265 } 2266} 2267 2268/* Allocates the stack if it does not exist. 2269 * Guarantees space for at least one push. 2270 */ 2271static void yyensure_buffer_stack (void) 2272{ 2273 int num_to_alloc; 2274 2275 if (!(yy_buffer_stack)) { 2276 2277 /* First allocation is just for 2 elements, since we don't know if this 2278 * scanner will even need a stack. We use 2 instead of 1 to avoid an 2279 * immediate realloc on the next call. 2280 */ 2281 num_to_alloc = 1; 2282 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 2283 (num_to_alloc * sizeof(struct yy_buffer_state*) 2284 ); 2285 if ( ! (yy_buffer_stack) ) 2286 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2287 2288 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 2289 2290 (yy_buffer_stack_max) = num_to_alloc; 2291 (yy_buffer_stack_top) = 0; 2292 return; 2293 } 2294 2295 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 2296 2297 /* Increase the buffer to prepare for a possible push. */ 2298 int grow_size = 8 /* arbitrary grow size */; 2299 2300 num_to_alloc = (yy_buffer_stack_max) + grow_size; 2301 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 2302 ((yy_buffer_stack), 2303 num_to_alloc * sizeof(struct yy_buffer_state*) 2304 ); 2305 if ( ! (yy_buffer_stack) ) 2306 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2307 2308 /* zero only the new slots.*/ 2309 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 2310 (yy_buffer_stack_max) = num_to_alloc; 2311 } 2312} 2313 2314/** Setup the input buffer state to scan directly from a user-specified character buffer. 2315 * @param base the character buffer 2316 * @param size the size in bytes of the character buffer 2317 * 2318 * @return the newly allocated buffer state object. 2319 */ 2320YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 2321{ 2322 YY_BUFFER_STATE b; 2323 2324 if ( size < 2 || 2325 base[size-2] != YY_END_OF_BUFFER_CHAR || 2326 base[size-1] != YY_END_OF_BUFFER_CHAR ) 2327 /* They forgot to leave room for the EOB's. */ 2328 return 0; 2329 2330 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 2331 if ( ! b ) 2332 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 2333 2334 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 2335 b->yy_buf_pos = b->yy_ch_buf = base; 2336 b->yy_is_our_buffer = 0; 2337 b->yy_input_file = 0; 2338 b->yy_n_chars = b->yy_buf_size; 2339 b->yy_is_interactive = 0; 2340 b->yy_at_bol = 1; 2341 b->yy_fill_buffer = 0; 2342 b->yy_buffer_status = YY_BUFFER_NEW; 2343 2344 yy_switch_to_buffer(b ); 2345 2346 return b; 2347} 2348 2349/** Setup the input buffer state to scan a string. The next call to yylex() will 2350 * scan from a @e copy of @a str. 2351 * @param yystr a NUL-terminated string to scan 2352 * 2353 * @return the newly allocated buffer state object. 2354 * @note If you want to scan bytes that may contain NUL values, then use 2355 * yy_scan_bytes() instead. 2356 */ 2357YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 2358{ 2359 2360 return yy_scan_bytes(yystr,strlen(yystr) ); 2361} 2362 2363/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 2364 * scan from a @e copy of @a bytes. 2365 * @param bytes the byte buffer to scan 2366 * @param len the number of bytes in the buffer pointed to by @a bytes. 2367 * 2368 * @return the newly allocated buffer state object. 2369 */ 2370YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 2371{ 2372 YY_BUFFER_STATE b; 2373 char *buf; 2374 yy_size_t n; 2375 int i; 2376 2377 /* Get memory for full buffer, including space for trailing EOB's. */ 2378 n = _yybytes_len + 2; 2379 buf = (char *) yyalloc(n ); 2380 if ( ! buf ) 2381 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 2382 2383 for ( i = 0; i < _yybytes_len; ++i ) 2384 buf[i] = yybytes[i]; 2385 2386 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 2387 2388 b = yy_scan_buffer(buf,n ); 2389 if ( ! b ) 2390 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 2391 2392 /* It's okay to grow etc. this buffer, and we should throw it 2393 * away when we're done. 2394 */ 2395 b->yy_is_our_buffer = 1; 2396 2397 return b; 2398} 2399 2400#ifndef YY_EXIT_FAILURE 2401#define YY_EXIT_FAILURE 2 2402#endif 2403 2404static void yy_fatal_error (yyconst char* msg ) 2405{ 2406 (void) fprintf( stderr, "%s\n", msg ); 2407 exit( YY_EXIT_FAILURE ); 2408} 2409 2410/* Redefine yyless() so it works in section 3 code. */ 2411 2412#undef yyless 2413#define yyless(n) \ 2414 do \ 2415 { \ 2416 /* Undo effects of setting up yytext. */ \ 2417 int yyless_macro_arg = (n); \ 2418 YY_LESS_LINENO(yyless_macro_arg);\ 2419 yytext[yyleng] = (yy_hold_char); \ 2420 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 2421 (yy_hold_char) = *(yy_c_buf_p); \ 2422 *(yy_c_buf_p) = '\0'; \ 2423 yyleng = yyless_macro_arg; \ 2424 } \ 2425 while ( 0 ) 2426 2427/* Accessor methods (get/set functions) to struct members. */ 2428 2429/** Get the current line number. 2430 * 2431 */ 2432int yyget_lineno (void) 2433{ 2434 2435 return yylineno; 2436} 2437 2438/** Get the input stream. 2439 * 2440 */ 2441FILE *yyget_in (void) 2442{ 2443 return yyin; 2444} 2445 2446/** Get the output stream. 2447 * 2448 */ 2449FILE *yyget_out (void) 2450{ 2451 return yyout; 2452} 2453 2454/** Get the length of the current token. 2455 * 2456 */ 2457int yyget_leng (void) 2458{ 2459 return yyleng; 2460} 2461 2462/** Get the current token. 2463 * 2464 */ 2465 2466char *yyget_text (void) 2467{ 2468 return yytext; 2469} 2470 2471/** Set the current line number. 2472 * @param line_number 2473 * 2474 */ 2475void yyset_lineno (int line_number ) 2476{ 2477 2478 yylineno = line_number; 2479} 2480 2481/** Set the input stream. This does not discard the current 2482 * input buffer. 2483 * @param in_str A readable stream. 2484 * 2485 * @see yy_switch_to_buffer 2486 */ 2487void yyset_in (FILE * in_str ) 2488{ 2489 yyin = in_str ; 2490} 2491 2492void yyset_out (FILE * out_str ) 2493{ 2494 yyout = out_str ; 2495} 2496 2497int yyget_debug (void) 2498{ 2499 return yy_flex_debug; 2500} 2501 2502void yyset_debug (int bdebug ) 2503{ 2504 yy_flex_debug = bdebug ; 2505} 2506 2507static int yy_init_globals (void) 2508{ 2509 /* Initialization is the same as for the non-reentrant scanner. 2510 * This function is called from yylex_destroy(), so don't allocate here. 2511 */ 2512 2513 (yy_buffer_stack) = 0; 2514 (yy_buffer_stack_top) = 0; 2515 (yy_buffer_stack_max) = 0; 2516 (yy_c_buf_p) = (char *) 0; 2517 (yy_init) = 0; 2518 (yy_start) = 0; 2519 2520/* Defined in main.c */ 2521#ifdef YY_STDINIT 2522 yyin = stdin; 2523 yyout = stdout; 2524#else 2525 yyin = (FILE *) 0; 2526 yyout = (FILE *) 0; 2527#endif 2528 2529 /* For future reference: Set errno on error, since we are called by 2530 * yylex_init() 2531 */ 2532 return 0; 2533} 2534 2535/* yylex_destroy is for both reentrant and non-reentrant scanners. */ 2536int yylex_destroy (void) 2537{ 2538 2539 /* Pop the buffer stack, destroying each element. */ 2540 while(YY_CURRENT_BUFFER){ 2541 yy_delete_buffer(YY_CURRENT_BUFFER ); 2542 YY_CURRENT_BUFFER_LVALUE = NULL; 2543 yypop_buffer_state(); 2544 } 2545 2546 /* Destroy the stack itself. */ 2547 yyfree((yy_buffer_stack) ); 2548 (yy_buffer_stack) = NULL; 2549 2550 /* Reset the globals. This is important in a non-reentrant scanner so the next time 2551 * yylex() is called, initialization will occur. */ 2552 yy_init_globals( ); 2553 2554 return 0; 2555} 2556 2557/* 2558 * Internal utility routines. 2559 */ 2560 2561#ifndef yytext_ptr 2562static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 2563{ 2564 register int i; 2565 for ( i = 0; i < n; ++i ) 2566 s1[i] = s2[i]; 2567} 2568#endif 2569 2570#ifdef YY_NEED_STRLEN 2571static int yy_flex_strlen (yyconst char * s ) 2572{ 2573 register int n; 2574 for ( n = 0; s[n]; ++n ) 2575 ; 2576 2577 return n; 2578} 2579#endif 2580 2581void *yyalloc (yy_size_t size ) 2582{ 2583 return (void *) malloc( size ); 2584} 2585 2586void *yyrealloc (void * ptr, yy_size_t size ) 2587{ 2588 /* The cast to (char *) in the following accommodates both 2589 * implementations that use char* generic pointers, and those 2590 * that use void* generic pointers. It works with the latter 2591 * because both ANSI C and C++ allow castless assignment from 2592 * any pointer type to void*, and deal with argument conversions 2593 * as though doing an assignment. 2594 */ 2595 return (void *) realloc( (char *) ptr, size ); 2596} 2597 2598void yyfree (void * ptr ) 2599{ 2600 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 2601} 2602 2603#define YYTABLES_NAME "yytables" 2604 2605#line 194 "/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/gengtype-lex.l" 2606 2607 2608 2609void 2610yybegin (const char *fname) 2611{ 2612 yyin = fopen (fname, "r"); 2613 if (yyin == NULL) 2614 { 2615 perror (fname); 2616 exit (1); 2617 } 2618 lexer_line.file = fname; 2619 lexer_line.line = 1; 2620} 2621 2622void 2623yyend (void) 2624{ 2625 fclose (yyin); 2626} 2627 2628