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