1 #line 2 "scan.c" 2 /* A lexical scanner generated by flex */ 3 4 /* Scanner skeleton version: 5 * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $ 6 */ 7 #include <sys/cdefs.h> 8 __FBSDID("$FreeBSD$"); 9 10 #define FLEX_SCANNER 11 #define YY_FLEX_MAJOR_VERSION 2 12 #define YY_FLEX_MINOR_VERSION 5 13 14 #include <stdio.h> 15 16 17 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ 18 #ifdef c_plusplus 19 #ifndef __cplusplus 20 #define __cplusplus 21 #endif 22 #endif 23 24 25 #ifdef __cplusplus 26 27 #include <stdlib.h> 28 #include <unistd.h> 29 30 /* Use prototypes in function declarations. */ 31 #define YY_USE_PROTOS 32 33 /* The "const" storage-class-modifier is valid. */ 34 #define YY_USE_CONST 35 36 #else /* ! __cplusplus */ 37 38 #if __STDC__ 39 40 #define YY_USE_PROTOS 41 #define YY_USE_CONST 42 43 #endif /* __STDC__ */ 44 #endif /* ! __cplusplus */ 45 46 #ifdef __TURBOC__ 47 #pragma warn -rch 48 #pragma warn -use 49 #include <io.h> 50 #include <stdlib.h> 51 #define YY_USE_CONST 52 #define YY_USE_PROTOS 53 #endif 54 55 #ifdef YY_USE_CONST 56 #define yyconst const 57 #else 58 #define yyconst 59 #endif 60 61 62 #ifdef YY_USE_PROTOS 63 #define YY_PROTO(proto) proto 64 #else 65 #define YY_PROTO(proto) () 66 #endif 67 68 /* Returned upon end-of-file. */ 69 #define YY_NULL 0 70 71 /* Promotes a possibly negative, possibly signed char to an unsigned 72 * integer for use as an array index. If the signed char is negative, 73 * we want to instead treat it as an 8-bit unsigned char, hence the 74 * double cast. 75 */ 76 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 77 78 /* Enter a start condition. This macro really ought to take a parameter, 79 * but we do it the disgusting crufty way forced on us by the ()-less 80 * definition of BEGIN. 81 */ 82 #define BEGIN yy_start = 1 + 2 * 83 84 /* Translate the current start state into a value that can be later handed 85 * to BEGIN to return to the state. The YYSTATE alias is for lex 86 * compatibility. 87 */ 88 #define YY_START ((yy_start - 1) / 2) 89 #define YYSTATE YY_START 90 91 /* Action number for EOF rule of a given start state. */ 92 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 93 94 /* Special action meaning "start processing a new file". */ 95 #define YY_NEW_FILE yyrestart( yyin ) 96 97 #define YY_END_OF_BUFFER_CHAR 0 98 99 /* Size of default input buffer. */ 100 #define YY_BUF_SIZE 16384 101 102 typedef struct yy_buffer_state *YY_BUFFER_STATE; 103 104 extern int yyleng; 105 extern FILE *yyin, *yyout; 106 107 #define EOB_ACT_CONTINUE_SCAN 0 108 #define EOB_ACT_END_OF_FILE 1 109 #define EOB_ACT_LAST_MATCH 2 110 111 /* The funky do-while in the following #define is used to turn the definition 112 * int a single C statement (which needs a semi-colon terminator). This 113 * avoids problems with code like: 114 * 115 * if ( condition_holds ) 116 * yyless( 5 ); 117 * else 118 * do_something_else(); 119 * 120 * Prior to using the do-while the compiler would get upset at the 121 * "else" because it interpreted the "if" statement as being all 122 * done when it reached the ';' after the yyless() call. 123 */ 124 125 /* Return all but the first 'n' matched characters back to the input stream. */ 126 127 #define yyless(n) \ 128 do \ 129 { \ 130 /* Undo effects of setting up yytext. */ \ 131 *yy_cp = yy_hold_char; \ 132 YY_RESTORE_YY_MORE_OFFSET \ 133 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ 134 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 135 } \ 136 while ( 0 ) 137 138 #define unput(c) yyunput( c, yytext_ptr ) 139 140 /* The following is because we cannot portably get our hands on size_t 141 * (without autoconf's help, which isn't available because we want 142 * flex-generated scanners to compile on their own). 143 */ 144 typedef unsigned int yy_size_t; 145 146 147 struct yy_buffer_state 148 { 149 FILE *yy_input_file; 150 151 char *yy_ch_buf; /* input buffer */ 152 char *yy_buf_pos; /* current position in input buffer */ 153 154 /* Size of input buffer in bytes, not including room for EOB 155 * characters. 156 */ 157 yy_size_t yy_buf_size; 158 159 /* Number of characters read into yy_ch_buf, not including EOB 160 * characters. 161 */ 162 int yy_n_chars; 163 164 /* Whether we "own" the buffer - i.e., we know we created it, 165 * and can realloc() it to grow it, and should free() it to 166 * delete it. 167 */ 168 int yy_is_our_buffer; 169 170 /* Whether this is an "interactive" input source; if so, and 171 * if we're using stdio for input, then we want to use getc() 172 * instead of fread(), to make sure we stop fetching input after 173 * each newline. 174 */ 175 int yy_is_interactive; 176 177 /* Whether we're considered to be at the beginning of a line. 178 * If so, '^' rules will be active on the next match, otherwise 179 * not. 180 */ 181 int yy_at_bol; 182 183 /* Whether to try to fill the input buffer when we reach the 184 * end of it. 185 */ 186 int yy_fill_buffer; 187 188 int yy_buffer_status; 189 #define YY_BUFFER_NEW 0 190 #define YY_BUFFER_NORMAL 1 191 /* When an EOF's been seen but there's still some text to process 192 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 193 * shouldn't try reading from the input source any more. We might 194 * still have a bunch of tokens to match, though, because of 195 * possible backing-up. 196 * 197 * When we actually see the EOF, we change the status to "new" 198 * (via yyrestart()), so that the user can continue scanning by 199 * just pointing yyin at a new input file. 200 */ 201 #define YY_BUFFER_EOF_PENDING 2 202 }; 203 204 static YY_BUFFER_STATE yy_current_buffer = 0; 205 206 /* We provide macros for accessing buffer states in case in the 207 * future we want to put the buffer states in a more general 208 * "scanner state". 209 */ 210 #define YY_CURRENT_BUFFER yy_current_buffer 211 212 213 /* yy_hold_char holds the character lost when yytext is formed. */ 214 static char yy_hold_char; 215 216 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 217 218 219 int yyleng; 220 221 /* Points to current character in buffer. */ 222 static char *yy_c_buf_p = (char *) 0; 223 static int yy_init = 1; /* whether we need to initialize */ 224 static int yy_start = 0; /* start state number */ 225 226 /* Flag which is used to allow yywrap()'s to do buffer switches 227 * instead of setting up a fresh yyin. A bit of a hack ... 228 */ 229 static int yy_did_buffer_switch_on_eof; 230 231 void yyrestart YY_PROTO(( FILE *input_file )); 232 233 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); 234 void yy_load_buffer_state YY_PROTO(( void )); 235 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); 236 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); 237 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); 238 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); 239 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) 240 241 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); 242 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); 243 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); 244 245 static void *yy_flex_alloc YY_PROTO(( yy_size_t )); 246 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); 247 static void yy_flex_free YY_PROTO(( void * )); 248 249 #define yy_new_buffer yy_create_buffer 250 251 #define yy_set_interactive(is_interactive) \ 252 { \ 253 if ( ! yy_current_buffer ) \ 254 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 255 yy_current_buffer->yy_is_interactive = is_interactive; \ 256 } 257 258 #define yy_set_bol(at_bol) \ 259 { \ 260 if ( ! yy_current_buffer ) \ 261 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 262 yy_current_buffer->yy_at_bol = at_bol; \ 263 } 264 265 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) 266 267 typedef unsigned char YY_CHAR; 268 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 269 typedef int yy_state_type; 270 extern char *yytext; 271 #define yytext_ptr yytext 272 273 static yy_state_type yy_get_previous_state YY_PROTO(( void )); 274 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); 275 static int yy_get_next_buffer YY_PROTO(( void )); 276 static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); 277 278 /* Done after the current pattern has been matched and before the 279 * corresponding action - sets up yytext. 280 */ 281 #define YY_DO_BEFORE_ACTION \ 282 yytext_ptr = yy_bp; \ 283 yyleng = (int) (yy_cp - yy_bp); \ 284 yy_hold_char = *yy_cp; \ 285 *yy_cp = '\0'; \ 286 yy_c_buf_p = yy_cp; 287 288 #define YY_NUM_RULES 165 289 #define YY_END_OF_BUFFER 166 290 static yyconst short int yy_accept[769] = 291 { 0, 292 0, 0, 0, 0, 87, 87, 163, 163, 0, 0, 293 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295 0, 0, 0, 0, 0, 0, 0, 0, 166, 164, 296 7, 18, 164, 16, 1, 17, 164, 164, 164, 164, 297 15, 108, 100, 101, 108, 93, 108, 107, 108, 108, 298 108, 107, 99, 89, 108, 108, 91, 92, 87, 88, 299 87, 86, 85, 86, 86, 163, 163, 28, 29, 28, 300 28, 28, 28, 28, 28, 31, 30, 32, 31, 113, 301 109, 110, 112, 114, 141, 142, 141, 139, 138, 140, 302 303 115, 117, 115, 116, 115, 120, 120, 120, 120, 122, 304 124, 122, 122, 122, 122, 123, 151, 155, 151, 154, 305 156, 156, 152, 152, 152, 149, 150, 164, 82, 164, 306 21, 22, 21, 20, 157, 159, 157, 160, 161, 147, 307 147, 148, 147, 147, 147, 147, 147, 147, 147, 81, 308 34, 33, 81, 81, 81, 81, 35, 81, 81, 81, 309 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 310 81, 81, 81, 81, 81, 81, 26, 23, 26, 24, 311 7, 18, 0, 16, 1, 17, 0, 0, 0, 14, 312 8, 0, 0, 0, 0, 4, 5, 0, 2, 15, 313 314 100, 101, 0, 0, 0, 95, 0, 0, 105, 105, 315 0, 162, 162, 162, 94, 0, 99, 89, 0, 0, 316 0, 91, 92, 104, 90, 0, 87, 88, 86, 85, 317 85, 83, 84, 163, 163, 28, 29, 28, 28, 28, 318 28, 31, 30, 32, 111, 112, 142, 138, 117, 0, 319 118, 119, 124, 121, 151, 155, 0, 153, 0, 144, 320 152, 152, 152, 0, 82, 0, 21, 22, 21, 19, 321 157, 159, 158, 147, 147, 147, 148, 143, 147, 147, 322 147, 34, 33, 0, 80, 0, 0, 81, 81, 81, 323 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 324 325 81, 81, 81, 36, 81, 81, 81, 81, 81, 81, 326 81, 81, 81, 81, 0, 25, 24, 0, 14, 8, 327 0, 12, 0, 0, 0, 0, 0, 4, 5, 0, 328 6, 0, 96, 0, 97, 0, 0, 105, 105, 0, 329 105, 105, 105, 162, 162, 0, 106, 90, 98, 0, 330 104, 0, 83, 84, 28, 28, 28, 27, 28, 0, 331 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 332 0, 152, 152, 143, 143, 147, 147, 0, 0, 81, 333 81, 81, 81, 81, 44, 81, 81, 81, 49, 81, 334 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 335 336 81, 81, 81, 81, 81, 81, 81, 81, 0, 81, 337 81, 81, 81, 0, 0, 0, 12, 0, 0, 0, 338 0, 0, 0, 4, 5, 0, 105, 105, 105, 105, 339 105, 105, 162, 0, 0, 28, 28, 0, 0, 0, 340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 341 152, 152, 147, 147, 37, 38, 81, 81, 81, 81, 342 81, 81, 81, 81, 50, 51, 81, 81, 81, 55, 343 81, 81, 81, 81, 81, 81, 60, 81, 81, 81, 344 81, 81, 81, 67, 0, 0, 0, 81, 81, 81, 345 81, 0, 13, 0, 0, 0, 0, 0, 0, 105, 346 347 105, 105, 105, 105, 105, 0, 0, 28, 28, 137, 348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 349 0, 0, 152, 152, 147, 147, 39, 81, 41, 81, 350 43, 81, 81, 81, 47, 81, 52, 81, 81, 81, 351 81, 81, 81, 81, 81, 81, 62, 81, 81, 65, 352 81, 0, 0, 0, 0, 81, 81, 81, 81, 3, 353 0, 0, 0, 0, 105, 105, 105, 0, 0, 28, 354 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355 0, 0, 0, 145, 146, 145, 146, 81, 42, 81, 356 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 357 358 81, 78, 61, 81, 64, 81, 0, 0, 0, 0, 359 81, 81, 69, 70, 0, 10, 0, 11, 0, 103, 360 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 361 0, 0, 0, 0, 81, 81, 81, 45, 81, 48, 362 81, 81, 81, 81, 77, 81, 59, 63, 66, 0, 363 0, 0, 0, 79, 81, 0, 102, 0, 0, 0, 364 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 365 81, 81, 46, 81, 81, 56, 81, 81, 0, 0, 366 0, 0, 68, 0, 9, 0, 125, 126, 127, 128, 367 129, 130, 131, 132, 133, 134, 135, 0, 81, 81, 368 369 81, 81, 81, 81, 81, 0, 0, 0, 0, 0, 370 136, 81, 81, 81, 81, 54, 81, 81, 0, 0, 371 0, 0, 0, 0, 81, 81, 81, 53, 81, 58, 372 0, 0, 0, 0, 0, 0, 81, 81, 81, 81, 373 72, 0, 0, 0, 0, 73, 81, 81, 81, 81, 374 71, 0, 75, 0, 81, 81, 81, 74, 76, 81, 375 81, 81, 81, 81, 81, 57, 40, 0 376 } ; 377 378 static yyconst int yy_ec[256] = 379 { 0, 380 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 381 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 382 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 383 1, 2, 1, 5, 6, 7, 8, 1, 9, 10, 384 10, 11, 12, 13, 14, 10, 15, 16, 16, 16, 385 16, 16, 16, 16, 17, 18, 19, 20, 1, 21, 386 22, 23, 10, 1, 31, 32, 33, 34, 35, 36, 387 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 388 47, 48, 49, 50, 51, 52, 53, 54, 55, 47, 389 26, 27, 28, 29, 30, 1, 31, 32, 33, 34, 390 391 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 392 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 393 55, 47, 56, 57, 58, 1, 1, 1, 1, 1, 394 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 395 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 396 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 397 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 398 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 399 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 400 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 401 402 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 403 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 404 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 405 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 406 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 407 1, 1, 1, 1, 1 408 } ; 409 410 static yyconst int yy_meta[59] = 411 { 0, 412 1, 1, 2, 1, 3, 1, 1, 1, 4, 1, 413 5, 6, 1, 7, 4, 8, 8, 8, 8, 1, 414 1, 1, 1, 9, 10, 1, 11, 12, 1, 13, 415 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 416 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 417 15, 15, 15, 15, 15, 4, 1, 16 418 } ; 419 420 static yyconst short int yy_base[858] = 421 { 0, 422 0, 58, 115, 172, 120, 129, 2712, 2711, 230, 2705, 423 136, 141, 288, 0, 2683, 2682, 144, 151, 185, 191, 424 178, 188, 344, 347, 375, 0, 125, 131, 147, 216, 425 431, 434, 461, 0, 519, 0, 205, 349, 2710, 2716, 426 353, 2716, 2706, 0, 360, 2716, 2705, 144, 570, 2696, 427 0, 2716, 577, 2716, 2703, 2716, 438, 2716, 2684, 126, 428 149, 427, 591, 2716, 2701, 141, 2682, 2716, 0, 2716, 429 2699, 0, 2699, 2697, 155, 2696, 2716, 0, 2716, 2695, 430 2716, 0, 2662, 2641, 2637, 0, 2692, 2716, 2690, 2716, 431 2716, 2663, 0, 2716, 2716, 2716, 2688, 2716, 431, 2716, 432 433 2716, 2716, 2687, 2716, 567, 2716, 2669, 571, 164, 2716, 434 2716, 2685, 0, 2667, 573, 2716, 0, 2716, 2683, 2716, 435 573, 2674, 0, 2649, 2628, 2716, 2716, 222, 2716, 356, 436 448, 2716, 450, 2667, 0, 2716, 2678, 2716, 0, 0, 437 198, 2716, 2677, 2621, 2716, 2667, 0, 2642, 2621, 2716, 438 2673, 2716, 2671, 2668, 2640, 2639, 2716, 544, 2639, 579, 439 2634, 2635, 318, 0, 2623, 2631, 424, 562, 2614, 587, 440 2629, 2613, 2618, 2626, 2629, 2604, 2716, 2716, 2653, 612, 441 634, 2716, 2654, 0, 637, 2716, 2653, 600, 2616, 0, 442 0, 641, 647, 651, 669, 0, 0, 453, 2716, 0, 443 444 672, 2716, 2651, 2597, 605, 2716, 2649, 2616, 620, 657, 445 645, 2716, 662, 0, 2716, 2592, 688, 2716, 2646, 2592, 446 2636, 2625, 2716, 0, 2716, 2610, 0, 2716, 0, 0, 447 2642, 0, 0, 2640, 2716, 0, 2716, 0, 2602, 2598, 448 745, 0, 2638, 2716, 2716, 0, 2716, 688, 2716, 773, 449 2716, 2716, 2716, 2716, 0, 2716, 673, 2716, 0, 2716, 450 0, 2599, 2595, 690, 2716, 698, 707, 2716, 709, 2716, 451 0, 2716, 2716, 0, 596, 2579, 2716, 827, 0, 2596, 452 2592, 2632, 2716, 2628, 2716, 2593, 2592, 0, 642, 2582, 453 563, 2617, 2579, 620, 2578, 2577, 2583, 669, 2570, 2584, 454 455 2572, 0, 2569, 2716, 2570, 2571, 2579, 2582, 685, 125, 456 2570, 2567, 2566, 688, 2608, 2716, 716, 2568, 0, 0, 457 720, 2716, 2608, 884, 2562, 2559, 2569, 0, 0, 723, 458 2716, 739, 2716, 805, 2716, 808, 2562, 787, 869, 876, 459 930, 881, 973, 800, 0, 2548, 2716, 2716, 2716, 2570, 460 0, 2559, 0, 0, 2568, 2557, 0, 2716, 0, 1009, 461 2581, 678, 870, 871, 874, 879, 913, 992, 974, 1013, 462 885, 2565, 2554, 0, 1067, 2563, 2552, 2546, 2545, 2557, 463 2562, 2561, 2550, 2557, 0, 2554, 2537, 2556, 0, 2536, 464 2543, 2533, 2548, 2568, 2537, 2549, 2544, 2542, 2541, 2532, 465 466 2539, 2540, 2538, 2539, 578, 2520, 2538, 2525, 860, 2526, 467 2528, 2521, 2517, 2529, 817, 1044, 2716, 822, 1095, 914, 468 2532, 2523, 2517, 0, 0, 2524, 1102, 1025, 1142, 2539, 469 1028, 1163, 2716, 2513, 2521, 2523, 2507, 0, 2526, 1058, 470 891, 1014, 1019, 894, 1038, 1080, 1072, 1086, 1083, 1081, 471 2520, 2504, 2518, 2502, 2716, 2716, 2505, 2493, 2492, 2495, 472 2507, 1148, 2507, 2492, 0, 0, 2492, 2493, 2507, 0, 473 2525, 2490, 2498, 2522, 2485, 2495, 0, 2500, 2491, 2487, 474 2479, 2479, 2483, 0, 875, 2494, 2481, 2494, 2480, 2475, 475 2491, 2519, 2716, 920, 999, 2465, 2474, 2468, 2494, 2496, 476 477 1105, 1184, 1081, 902, 969, 2479, 2491, 2463, 2477, 2716, 478 165, 1090, 1144, 1143, 1147, 1163, 1095, 1145, 1037, 1085, 479 1150, 1173, 2461, 2475, 2459, 2473, 0, 2458, 0, 2460, 480 0, 1165, 2454, 2469, 0, 2461, 0, 2471, 2410, 2414, 481 2434, 2400, 2393, 2405, 2385, 2382, 0, 2383, 2335, 0, 482 2335, 2330, 2326, 2309, 2278, 2259, 2269, 2268, 2256, 2297, 483 1046, 2238, 2242, 2253, 1179, 1142, 1145, 2247, 2246, 0, 484 0, 1191, 1192, 1172, 1201, 1202, 1204, 1205, 1206, 1207, 485 1209, 1210, 1208, 0, 0, 0, 0, 2254, 0, 2221, 486 2229, 2218, 2208, 2200, 2209, 2198, 2195, 2165, 2168, 2149, 487 488 2132, 0, 0, 2129, 0, 2139, 2143, 2134, 2124, 2137, 489 2117, 2116, 0, 0, 1228, 2716, 1232, 2716, 2111, 2716, 490 2117, 2716, 2115, 2114, 2108, 2107, 2106, 2103, 2102, 2098, 491 2095, 2063, 2047, 1213, 2012, 1986, 1975, 0, 1954, 0, 492 1947, 1950, 1941, 1945, 0, 1942, 0, 0, 0, 1938, 493 1940, 1934, 1905, 0, 1872, 1234, 2716, 1888, 1882, 1881, 494 1864, 1848, 1832, 1828, 1827, 1826, 1823, 1806, 1809, 1784, 495 1787, 1772, 0, 1781, 1786, 0, 1766, 1767, 1759, 1744, 496 1213, 1736, 0, 1236, 2716, 1245, 2716, 2716, 2716, 2716, 497 2716, 2716, 2716, 2716, 2716, 2716, 2716, 1750, 1727, 1720, 498 499 1701, 1687, 1670, 1681, 1667, 1679, 1659, 689, 1658, 1671, 500 2716, 1657, 1627, 1621, 1635, 0, 1603, 1596, 1595, 1608, 501 1602, 1587, 1586, 1583, 1581, 1587, 1555, 0, 1547, 0, 502 1527, 1507, 1520, 1503, 1483, 1482, 1485, 1443, 1440, 1228, 503 2716, 1225, 1224, 1206, 1210, 2716, 1213, 1202, 1018, 948, 504 2716, 945, 2716, 884, 780, 771, 779, 2716, 2716, 689, 505 673, 581, 408, 318, 86, 0, 0, 2716, 1263, 1279, 506 1295, 1311, 1327, 1343, 1359, 1375, 1391, 1407, 1423, 1439, 507 1455, 1471, 1481, 1496, 1505, 1520, 1536, 1545, 1560, 1576, 508 1592, 1608, 1624, 1634, 1649, 1659, 1674, 1690, 1706, 1718, 509 510 1728, 1743, 1759, 1775, 1791, 1807, 1817, 1832, 1843, 1236, 511 1858, 1874, 1890, 1898, 1905, 1920, 1936, 1952, 1968, 1977, 512 1985, 2001, 2017, 2033, 2049, 2065, 2081, 2097, 2113, 2123, 513 2138, 2148, 2155, 2170, 2182, 2192, 2207, 2223, 2239, 2255, 514 2265, 2280, 2291, 2306, 2322, 2338, 2354, 2364, 2373, 2388, 515 2404, 2420, 2429, 2437, 2453, 2469, 2485 516 } ; 517 518 static yyconst short int yy_def[858] = 519 { 0, 520 768, 768, 769, 769, 770, 771, 772, 772, 768, 9, 521 773, 773, 768, 13, 774, 774, 775, 775, 776, 776, 522 777, 777, 778, 778, 768, 25, 779, 779, 780, 780, 523 781, 781, 768, 33, 768, 35, 782, 782, 768, 768, 524 768, 768, 768, 783, 768, 768, 768, 768, 784, 768, 525 785, 768, 768, 768, 768, 768, 768, 768, 768, 786, 526 787, 788, 768, 768, 768, 768, 768, 768, 789, 768, 527 789, 790, 791, 790, 790, 792, 768, 793, 768, 793, 528 768, 794, 794, 794, 793, 795, 768, 768, 795, 768, 529 768, 768, 796, 768, 768, 768, 768, 768, 768, 768, 530 531 768, 768, 768, 768, 787, 768, 768, 787, 797, 768, 532 768, 768, 798, 768, 787, 768, 799, 768, 799, 768, 533 800, 768, 801, 801, 801, 768, 768, 802, 768, 802, 534 803, 768, 803, 768, 804, 768, 804, 768, 805, 806, 535 806, 768, 806, 806, 768, 806, 807, 807, 807, 768, 536 768, 768, 768, 808, 768, 768, 768, 809, 809, 809, 537 809, 809, 809, 809, 809, 809, 809, 810, 809, 809, 538 809, 809, 809, 809, 809, 809, 768, 768, 811, 768, 539 768, 768, 768, 783, 768, 768, 768, 768, 768, 812, 540 813, 768, 768, 768, 768, 814, 815, 816, 768, 785, 541 542 768, 768, 768, 768, 817, 768, 768, 768, 818, 818, 543 819, 768, 768, 820, 768, 821, 768, 768, 768, 768, 544 768, 768, 768, 822, 768, 768, 823, 768, 824, 825, 545 825, 826, 827, 828, 768, 829, 768, 830, 830, 830, 546 768, 831, 768, 768, 768, 832, 768, 768, 768, 833, 547 768, 768, 768, 768, 834, 768, 835, 768, 835, 768, 548 836, 836, 836, 837, 768, 837, 838, 768, 838, 768, 549 839, 768, 768, 840, 840, 840, 768, 768, 841, 841, 550 841, 768, 768, 842, 768, 768, 768, 843, 843, 843, 551 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 552 553 843, 843, 843, 768, 843, 843, 843, 843, 843, 843, 554 843, 843, 843, 843, 844, 768, 768, 768, 845, 846, 555 847, 768, 768, 768, 768, 768, 768, 848, 849, 850, 556 768, 850, 768, 851, 768, 851, 768, 852, 852, 852, 557 768, 852, 852, 768, 853, 854, 768, 768, 768, 768, 558 855, 768, 826, 827, 830, 830, 241, 768, 241, 241, 559 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 560 833, 836, 836, 278, 278, 841, 841, 768, 768, 843, 561 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 562 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 563 564 843, 843, 843, 843, 843, 843, 843, 843, 768, 843, 565 843, 843, 843, 768, 847, 847, 768, 847, 847, 768, 566 768, 768, 768, 848, 849, 768, 341, 852, 343, 341, 567 852, 343, 768, 768, 768, 830, 830, 360, 768, 833, 568 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 569 836, 836, 841, 841, 768, 768, 843, 843, 843, 843, 570 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 571 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 572 843, 843, 843, 843, 768, 768, 768, 843, 843, 843, 573 843, 768, 768, 847, 847, 768, 768, 768, 768, 427, 574 575 852, 343, 852, 852, 852, 768, 768, 830, 830, 768, 576 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 577 833, 833, 836, 836, 841, 841, 843, 843, 843, 843, 578 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 579 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 580 843, 768, 768, 768, 768, 843, 843, 843, 843, 768, 581 856, 768, 768, 768, 852, 852, 852, 768, 768, 830, 582 830, 833, 833, 833, 833, 833, 833, 833, 833, 833, 583 833, 833, 833, 836, 836, 841, 841, 843, 843, 843, 584 843, 843, 843, 843, 843, 843, 843, 843, 843, 843, 585 586 843, 843, 843, 843, 843, 843, 768, 768, 768, 768, 587 843, 843, 843, 843, 856, 768, 856, 768, 768, 768, 588 768, 768, 833, 833, 833, 833, 833, 833, 833, 833, 589 833, 833, 833, 833, 843, 843, 843, 843, 843, 843, 590 843, 843, 843, 843, 843, 843, 843, 843, 843, 768, 591 768, 768, 768, 843, 843, 857, 768, 768, 768, 768, 592 768, 768, 768, 768, 768, 768, 768, 768, 833, 843, 593 843, 843, 843, 843, 843, 843, 843, 843, 768, 768, 594 768, 768, 843, 857, 768, 857, 768, 768, 768, 768, 595 768, 768, 768, 768, 768, 768, 768, 768, 843, 843, 596 597 843, 843, 843, 843, 843, 768, 768, 768, 768, 768, 598 768, 843, 843, 843, 843, 843, 843, 843, 768, 768, 599 768, 768, 768, 768, 843, 843, 843, 843, 843, 843, 600 768, 768, 768, 768, 768, 768, 843, 843, 843, 843, 601 768, 768, 768, 768, 768, 768, 843, 843, 843, 843, 602 768, 768, 768, 768, 843, 843, 843, 768, 768, 843, 603 843, 843, 843, 843, 843, 843, 843, 0, 768, 768, 604 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 605 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 606 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 607 608 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 609 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 610 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 611 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 612 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 613 768, 768, 768, 768, 768, 768, 768 614 } ; 615 616 static yyconst short int yy_nxt[2775] = 617 { 0, 618 40, 41, 42, 43, 40, 40, 40, 40, 40, 40, 619 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 620 40, 40, 40, 44, 44, 40, 40, 40, 40, 44, 621 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 622 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 623 44, 44, 44, 44, 44, 40, 40, 40, 40, 45, 624 46, 47, 40, 48, 40, 49, 40, 40, 40, 40, 625 40, 40, 50, 40, 40, 40, 40, 40, 40, 40, 626 40, 51, 51, 40, 40, 40, 40, 51, 51, 51, 627 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 628 629 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 630 51, 51, 51, 40, 40, 40, 53, 54, 55, 56, 631 767, 57, 70, 71, 58, 58, 58, 129, 130, 58, 632 73, 70, 74, 129, 130, 59, 75, 87, 88, 89, 633 60, 61, 87, 88, 89, 188, 96, 97, 224, 132, 634 133, 210, 211, 96, 97, 404, 98, 134, 405, 99, 635 99, 99, 99, 98, 213, 213, 99, 99, 99, 99, 636 62, 58, 58, 63, 64, 65, 56, 252, 57, 66, 637 40, 58, 58, 58, 439, 189, 58, 102, 103, 104, 638 40, 252, 67, 102, 103, 104, 225, 60, 61, 275, 639 640 68, 100, 214, 107, 108, 276, 109, 178, 100, 179, 641 232, 105, 233, 107, 108, 572, 109, 105, 132, 133, 642 180, 180, 180, 180, 265, 266, 134, 62, 58, 58, 643 78, 78, 79, 80, 78, 78, 78, 78, 78, 78, 644 81, 78, 78, 78, 78, 78, 78, 78, 78, 78, 645 78, 78, 78, 82, 82, 78, 78, 78, 78, 82, 646 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 647 82, 82, 82, 82, 82, 82, 82, 83, 82, 82, 648 82, 82, 82, 82, 84, 78, 78, 78, 90, 90, 649 40, 90, 90, 90, 90, 90, 90, 90, 91, 90, 650 651 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 652 92, 93, 93, 90, 90, 90, 90, 93, 93, 93, 653 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 654 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 655 93, 93, 93, 90, 90, 90, 111, 112, 296, 111, 656 112, 178, 766, 179, 181, 182, 183, 113, 265, 266, 657 113, 185, 186, 187, 180, 180, 180, 180, 297, 114, 658 115, 116, 114, 115, 116, 117, 117, 118, 119, 120, 659 117, 117, 117, 121, 117, 117, 117, 117, 117, 122, 660 117, 117, 117, 117, 117, 117, 117, 117, 123, 123, 661 662 117, 117, 117, 117, 123, 123, 123, 123, 123, 123, 663 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 664 123, 123, 124, 123, 123, 123, 123, 123, 123, 125, 665 126, 117, 127, 136, 137, 138, 136, 137, 138, 206, 666 206, 207, 215, 215, 215, 215, 248, 248, 248, 248, 667 268, 269, 268, 269, 300, 331, 332, 139, 301, 765, 668 139, 140, 141, 142, 143, 140, 140, 140, 144, 140, 669 140, 145, 140, 140, 140, 146, 140, 140, 140, 140, 670 140, 140, 140, 140, 147, 147, 140, 140, 140, 140, 671 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 672 673 147, 147, 147, 147, 147, 147, 147, 147, 148, 147, 674 147, 147, 147, 147, 147, 149, 140, 140, 140, 150, 675 151, 152, 153, 154, 150, 150, 150, 150, 150, 150, 676 150, 150, 150, 150, 150, 155, 156, 150, 150, 150, 677 157, 150, 150, 150, 150, 150, 150, 150, 150, 158, 678 159, 160, 161, 162, 163, 164, 164, 165, 164, 164, 679 166, 167, 168, 169, 170, 164, 171, 172, 164, 173, 680 174, 175, 164, 176, 150, 150, 150, 191, 201, 202, 681 203, 258, 213, 213, 204, 289, 213, 213, 213, 213, 682 292, 290, 217, 218, 219, 383, 303, 275, 220, 259, 683 684 192, 188, 193, 276, 193, 221, 304, 335, 336, 293, 685 193, 222, 384, 193, 194, 195, 480, 193, 196, 223, 686 214, 306, 481, 197, 214, 198, 214, 317, 317, 317, 687 317, 307, 764, 205, 308, 181, 182, 183, 185, 186, 688 187, 189, 321, 322, 323, 339, 340, 205, 321, 322, 689 323, 387, 321, 322, 323, 388, 324, 324, 324, 324, 690 342, 342, 324, 324, 324, 324, 324, 324, 324, 324, 691 321, 322, 323, 201, 202, 203, 341, 344, 344, 204, 692 380, 258, 339, 340, 324, 324, 324, 324, 325, 217, 693 218, 219, 265, 266, 381, 220, 326, 439, 343, 259, 694 695 265, 266, 221, 248, 248, 248, 248, 673, 222, 268, 696 269, 268, 269, 327, 392, 402, 223, 409, 393, 440, 697 410, 416, 417, 418, 403, 331, 332, 763, 205, 411, 698 412, 317, 317, 317, 317, 419, 419, 419, 419, 721, 699 413, 331, 332, 722, 205, 357, 357, 358, 359, 357, 700 357, 357, 357, 357, 357, 360, 357, 357, 357, 357, 701 357, 357, 357, 357, 357, 357, 357, 357, 360, 360, 702 357, 357, 357, 357, 360, 360, 360, 360, 360, 360, 703 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 704 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 705 706 357, 357, 357, 362, 363, 364, 365, 335, 336, 366, 707 335, 336, 339, 340, 367, 212, 212, 762, 368, 493, 708 494, 369, 761, 370, 417, 494, 371, 374, 374, 760, 709 374, 374, 374, 374, 374, 374, 374, 375, 374, 374, 710 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 711 375, 375, 374, 374, 374, 374, 375, 375, 375, 375, 712 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 713 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 714 375, 375, 374, 374, 374, 420, 322, 323, 427, 439, 715 439, 428, 428, 439, 339, 340, 431, 431, 439, 324, 716 717 324, 324, 324, 338, 439, 485, 339, 340, 486, 487, 718 439, 441, 443, 439, 442, 420, 322, 323, 450, 552, 719 759, 513, 493, 494, 516, 553, 444, 339, 340, 429, 720 338, 338, 439, 338, 338, 338, 338, 338, 338, 338, 721 338, 338, 338, 338, 338, 338, 338, 338, 338, 338, 722 338, 338, 338, 430, 430, 339, 340, 445, 338, 338, 723 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 724 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, 725 430, 430, 430, 430, 430, 338, 338, 338, 432, 432, 726 432, 432, 758, 439, 339, 340, 432, 757, 339, 340, 727 728 495, 417, 418, 432, 432, 432, 432, 432, 432, 360, 729 360, 439, 438, 360, 360, 360, 360, 360, 360, 448, 730 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 731 360, 360, 439, 439, 360, 360, 360, 360, 439, 446, 732 501, 501, 447, 504, 504, 416, 417, 418, 616, 617, 733 339, 340, 638, 339, 340, 515, 439, 439, 449, 419, 734 419, 419, 419, 514, 360, 360, 360, 375, 375, 580, 735 375, 375, 375, 375, 375, 375, 375, 439, 375, 375, 736 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 737 517, 439, 375, 375, 375, 375, 495, 417, 418, 439, 738 739 439, 511, 439, 512, 439, 439, 339, 340, 209, 439, 740 419, 419, 419, 419, 439, 519, 520, 581, 518, 522, 741 566, 566, 375, 375, 375, 500, 500, 573, 521, 578, 742 339, 340, 500, 500, 500, 500, 500, 500, 500, 500, 743 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 744 500, 500, 500, 500, 500, 500, 500, 502, 502, 502, 745 502, 532, 439, 439, 439, 502, 439, 339, 340, 439, 746 339, 340, 502, 502, 502, 502, 502, 502, 505, 505, 747 505, 505, 439, 533, 582, 576, 505, 574, 579, 534, 748 575, 439, 439, 505, 505, 505, 505, 505, 505, 567, 749 750 567, 567, 567, 590, 339, 340, 338, 567, 577, 583, 751 439, 439, 625, 591, 567, 567, 567, 567, 567, 567, 752 439, 439, 624, 439, 439, 439, 439, 439, 439, 439, 753 616, 617, 439, 623, 616, 617, 685, 686, 685, 686, 754 756, 628, 626, 632, 708, 755, 634, 685, 686, 302, 755 302, 627, 629, 754, 753, 630, 631, 633, 752, 751, 756 750, 709, 669, 52, 52, 52, 52, 52, 52, 52, 757 52, 52, 52, 52, 52, 52, 52, 52, 52, 69, 758 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 759 69, 69, 69, 69, 69, 72, 72, 72, 72, 72, 760 761 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 762 72, 76, 76, 76, 76, 76, 76, 76, 76, 76, 763 76, 76, 76, 76, 76, 76, 76, 86, 86, 86, 764 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 765 86, 86, 86, 40, 40, 40, 40, 40, 40, 40, 766 40, 40, 40, 40, 40, 40, 40, 40, 40, 95, 767 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 768 95, 95, 95, 95, 95, 101, 101, 101, 101, 101, 769 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 770 101, 106, 106, 106, 106, 106, 106, 106, 106, 106, 771 772 106, 106, 106, 106, 106, 106, 106, 110, 110, 110, 773 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 774 110, 110, 110, 128, 128, 128, 128, 128, 128, 128, 775 128, 128, 128, 128, 128, 128, 128, 128, 128, 131, 776 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 777 131, 131, 131, 131, 131, 135, 135, 135, 135, 135, 778 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 779 135, 177, 177, 177, 177, 177, 177, 177, 177, 177, 780 177, 177, 177, 177, 177, 177, 177, 184, 184, 184, 781 184, 749, 748, 184, 184, 184, 190, 190, 190, 190, 782 783 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 784 190, 200, 200, 200, 200, 747, 746, 200, 200, 200, 785 209, 745, 209, 209, 209, 209, 209, 209, 209, 209, 786 209, 209, 209, 209, 209, 209, 212, 744, 212, 212, 787 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 788 212, 212, 216, 216, 216, 743, 742, 216, 216, 216, 789 227, 741, 227, 227, 227, 227, 227, 227, 227, 227, 790 227, 227, 227, 227, 227, 227, 229, 740, 229, 229, 791 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 792 229, 229, 230, 739, 230, 230, 230, 230, 230, 230, 793 794 230, 230, 230, 230, 230, 230, 230, 230, 234, 234, 795 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 796 234, 234, 234, 234, 236, 738, 236, 236, 737, 236, 797 236, 236, 736, 735, 236, 236, 734, 733, 732, 236, 798 238, 238, 238, 238, 731, 730, 238, 238, 238, 242, 799 729, 242, 242, 242, 242, 242, 242, 242, 242, 242, 800 242, 242, 242, 242, 242, 246, 246, 246, 246, 728, 801 727, 246, 246, 246, 251, 726, 251, 251, 251, 251, 802 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 803 254, 725, 254, 254, 254, 254, 254, 254, 254, 254, 804 805 254, 724, 254, 254, 254, 254, 255, 723, 720, 719, 806 255, 255, 255, 255, 718, 717, 255, 255, 257, 716, 807 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 808 257, 257, 257, 257, 261, 261, 261, 261, 715, 714, 809 261, 261, 261, 264, 264, 264, 264, 264, 264, 264, 810 264, 264, 264, 264, 264, 264, 264, 264, 264, 267, 811 267, 267, 267, 713, 267, 267, 267, 267, 267, 267, 812 267, 267, 267, 267, 267, 271, 712, 711, 271, 271, 813 271, 271, 271, 271, 271, 710, 271, 271, 271, 271, 814 271, 273, 707, 273, 273, 273, 273, 273, 273, 273, 815 816 273, 273, 273, 273, 273, 273, 273, 274, 706, 274, 817 274, 705, 274, 274, 274, 704, 703, 274, 274, 702, 818 701, 700, 274, 279, 279, 279, 279, 699, 698, 279, 819 279, 279, 284, 697, 284, 284, 284, 284, 284, 284, 820 284, 284, 284, 284, 284, 284, 284, 284, 288, 288, 821 696, 288, 288, 695, 694, 693, 288, 288, 315, 692, 822 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 823 315, 315, 315, 315, 319, 691, 319, 319, 319, 319, 824 319, 319, 319, 319, 319, 319, 319, 319, 319, 319, 825 320, 690, 320, 320, 320, 320, 320, 320, 320, 320, 826 827 320, 320, 320, 320, 320, 320, 328, 328, 689, 688, 828 328, 328, 328, 329, 329, 687, 683, 329, 329, 329, 829 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 830 330, 330, 330, 330, 330, 330, 334, 334, 334, 334, 831 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 832 334, 334, 338, 682, 338, 338, 338, 338, 338, 338, 833 338, 338, 338, 681, 338, 338, 338, 338, 209, 680, 834 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 835 209, 209, 209, 209, 345, 345, 679, 678, 677, 676, 836 345, 346, 346, 346, 346, 675, 674, 346, 346, 346, 837 838 346, 351, 673, 351, 351, 351, 351, 351, 351, 351, 839 351, 351, 351, 351, 351, 351, 351, 227, 672, 227, 840 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 841 227, 227, 227, 229, 671, 229, 229, 229, 229, 229, 842 229, 229, 229, 229, 229, 229, 229, 229, 229, 230, 843 670, 230, 230, 230, 230, 230, 230, 230, 230, 230, 844 230, 230, 230, 230, 230, 353, 668, 353, 353, 353, 845 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 846 353, 354, 667, 354, 354, 354, 354, 354, 354, 354, 847 354, 354, 354, 354, 354, 354, 354, 234, 234, 234, 848 849 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 850 234, 234, 234, 236, 666, 236, 236, 665, 236, 236, 851 236, 664, 663, 236, 236, 662, 661, 660, 236, 238, 852 238, 238, 238, 659, 658, 238, 238, 238, 242, 657, 853 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 854 242, 242, 242, 242, 246, 246, 246, 246, 656, 655, 855 246, 246, 246, 361, 361, 654, 653, 652, 361, 361, 856 255, 651, 650, 649, 255, 255, 255, 255, 648, 647, 857 255, 255, 257, 646, 257, 257, 257, 257, 257, 257, 858 257, 257, 257, 257, 257, 257, 257, 257, 261, 261, 859 860 261, 261, 645, 644, 261, 261, 261, 264, 264, 264, 861 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, 862 264, 264, 264, 267, 267, 267, 267, 643, 267, 267, 863 267, 267, 267, 267, 267, 267, 267, 267, 267, 271, 864 642, 641, 271, 271, 271, 271, 271, 271, 271, 640, 865 271, 271, 271, 271, 271, 274, 639, 274, 274, 638, 866 274, 274, 274, 637, 636, 274, 274, 635, 622, 621, 867 274, 279, 279, 279, 279, 620, 619, 279, 279, 279, 868 284, 618, 284, 284, 284, 284, 284, 284, 284, 284, 869 284, 284, 284, 284, 284, 284, 288, 288, 560, 288, 870 871 288, 614, 613, 612, 288, 288, 315, 611, 315, 315, 872 315, 315, 315, 315, 315, 315, 315, 315, 315, 315, 873 315, 315, 319, 610, 319, 319, 319, 319, 319, 319, 874 319, 319, 319, 319, 319, 319, 319, 319, 320, 609, 875 320, 320, 320, 320, 320, 320, 320, 320, 320, 320, 876 320, 320, 320, 320, 415, 415, 415, 415, 415, 415, 877 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, 878 424, 424, 424, 424, 608, 607, 424, 424, 424, 425, 879 425, 425, 425, 606, 605, 425, 425, 425, 330, 330, 880 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 881 882 330, 330, 330, 330, 334, 334, 334, 334, 334, 334, 883 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, 884 338, 604, 338, 338, 338, 338, 338, 338, 338, 338, 885 338, 603, 338, 338, 338, 338, 433, 433, 602, 601, 886 600, 599, 433, 346, 346, 346, 346, 598, 597, 346, 887 346, 346, 346, 351, 596, 351, 351, 351, 351, 351, 888 351, 351, 351, 351, 351, 351, 351, 351, 351, 615, 889 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 890 615, 615, 615, 615, 615, 684, 684, 684, 684, 684, 891 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 892 893 684, 595, 594, 593, 592, 589, 588, 587, 586, 585, 894 584, 571, 570, 569, 568, 565, 564, 563, 562, 561, 895 560, 559, 558, 557, 556, 555, 554, 551, 550, 549, 896 548, 547, 546, 545, 544, 543, 542, 541, 540, 539, 897 538, 537, 536, 535, 531, 530, 529, 528, 527, 526, 898 525, 524, 523, 510, 509, 508, 507, 506, 503, 499, 899 498, 497, 496, 492, 491, 490, 489, 488, 484, 483, 900 482, 479, 478, 477, 476, 475, 474, 473, 472, 471, 901 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 902 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 903 904 439, 437, 436, 435, 434, 347, 426, 423, 422, 421, 905 322, 414, 316, 408, 407, 406, 401, 400, 399, 398, 906 397, 396, 395, 394, 391, 390, 389, 386, 385, 382, 907 379, 378, 285, 282, 377, 376, 278, 373, 372, 243, 908 356, 355, 235, 231, 352, 350, 349, 348, 218, 347, 909 337, 206, 333, 202, 318, 186, 182, 316, 314, 313, 910 312, 311, 310, 309, 305, 299, 298, 295, 294, 291, 911 287, 286, 285, 283, 282, 281, 280, 260, 278, 277, 912 272, 270, 263, 262, 260, 256, 250, 253, 250, 249, 913 247, 245, 244, 243, 241, 240, 239, 237, 235, 228, 914 915 231, 228, 226, 218, 208, 202, 199, 186, 182, 768, 916 94, 94, 85, 77, 77, 39, 768, 768, 768, 768, 917 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 918 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 919 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 920 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 921 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 922 768, 768, 768, 768 923 } ; 924 925 static yyconst short int yy_chk[2775] = 926 { 0, 927 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 928 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 929 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 930 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 931 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 932 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 933 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 934 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 935 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 936 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 937 938 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 939 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 940 765, 3, 5, 5, 3, 3, 3, 27, 27, 3, 941 6, 6, 6, 28, 28, 3, 6, 11, 11, 11, 942 3, 3, 12, 12, 12, 48, 17, 17, 66, 29, 943 29, 60, 60, 18, 18, 310, 17, 29, 310, 17, 944 17, 17, 17, 18, 61, 61, 18, 18, 18, 18, 945 3, 3, 3, 4, 4, 4, 4, 109, 4, 4, 946 21, 4, 4, 4, 511, 48, 4, 19, 19, 19, 947 22, 109, 4, 20, 20, 20, 66, 4, 4, 141, 948 949 4, 17, 61, 21, 21, 141, 21, 37, 18, 37, 950 75, 19, 75, 22, 22, 511, 22, 20, 30, 30, 951 37, 37, 37, 37, 128, 128, 30, 4, 4, 4, 952 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 953 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 954 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 955 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 956 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 957 9, 9, 9, 9, 9, 9, 9, 9, 13, 13, 958 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 959 960 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 961 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 962 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 963 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 964 13, 13, 13, 13, 13, 13, 23, 23, 163, 24, 965 24, 38, 764, 38, 41, 41, 41, 23, 130, 130, 966 24, 45, 45, 45, 38, 38, 38, 38, 163, 23, 967 23, 23, 24, 24, 24, 25, 25, 25, 25, 25, 968 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 969 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 970 971 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 972 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 973 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 974 25, 25, 25, 31, 31, 31, 32, 32, 32, 57, 975 57, 57, 62, 62, 62, 62, 99, 99, 99, 99, 976 131, 131, 133, 133, 167, 198, 198, 31, 167, 763, 977 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 978 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 979 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 980 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 981 982 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 983 33, 33, 33, 33, 33, 33, 33, 33, 33, 35, 984 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 985 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 986 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 987 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 988 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 989 35, 35, 35, 35, 35, 35, 35, 49, 53, 53, 990 53, 121, 105, 105, 53, 158, 108, 108, 115, 115, 991 160, 158, 63, 63, 63, 291, 168, 275, 63, 121, 992 993 49, 188, 49, 275, 49, 63, 168, 205, 205, 160, 994 49, 63, 291, 49, 49, 49, 405, 49, 49, 63, 995 105, 170, 405, 49, 108, 49, 115, 180, 180, 180, 996 180, 170, 762, 53, 170, 181, 181, 181, 185, 185, 997 185, 188, 192, 192, 192, 209, 209, 63, 193, 193, 998 193, 294, 194, 194, 194, 294, 192, 192, 192, 192, 999 211, 211, 193, 193, 193, 193, 194, 194, 194, 194, 1000 195, 195, 195, 201, 201, 201, 210, 213, 213, 201, 1001 289, 257, 210, 210, 195, 195, 195, 195, 192, 217, 1002 217, 217, 264, 264, 289, 217, 194, 362, 211, 257, 1003 1004 266, 266, 217, 248, 248, 248, 248, 761, 217, 267, 1005 267, 269, 269, 195, 298, 309, 217, 314, 298, 362, 1006 314, 321, 321, 321, 309, 330, 330, 760, 201, 314, 1007 314, 317, 317, 317, 317, 321, 321, 321, 321, 708, 1008 314, 332, 332, 708, 217, 241, 241, 241, 241, 241, 1009 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1010 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1011 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1012 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1013 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1014 1015 241, 241, 241, 250, 250, 250, 250, 334, 334, 250, 1016 336, 336, 338, 338, 250, 344, 344, 757, 250, 415, 1017 415, 250, 756, 250, 418, 418, 250, 278, 278, 755, 1018 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 1019 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 1020 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 1021 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 1022 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 1023 278, 278, 278, 278, 278, 324, 324, 324, 339, 363, 1024 364, 340, 340, 365, 339, 339, 342, 342, 366, 324, 1025 1026 324, 324, 324, 340, 371, 409, 342, 342, 409, 409, 1027 441, 363, 365, 444, 364, 420, 420, 420, 371, 485, 1028 754, 441, 494, 494, 444, 485, 366, 504, 504, 340, 1029 341, 341, 367, 341, 341, 341, 341, 341, 341, 341, 1030 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 1031 341, 341, 341, 341, 341, 341, 341, 367, 341, 341, 1032 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 1033 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, 1034 341, 341, 341, 341, 341, 341, 341, 341, 343, 343, 1035 343, 343, 752, 369, 505, 505, 343, 750, 343, 343, 1036 1037 495, 495, 495, 343, 343, 343, 343, 343, 343, 360, 1038 360, 368, 360, 360, 360, 360, 360, 360, 360, 369, 1039 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 1040 360, 360, 370, 442, 360, 360, 360, 360, 443, 368, 1041 428, 428, 368, 431, 431, 416, 416, 416, 561, 561, 1042 428, 428, 749, 431, 431, 443, 519, 445, 370, 416, 1043 416, 416, 416, 442, 360, 360, 360, 375, 375, 519, 1044 375, 375, 375, 375, 375, 375, 375, 440, 375, 375, 1045 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 1046 445, 447, 375, 375, 375, 375, 419, 419, 419, 446, 1047 1048 450, 440, 449, 440, 520, 448, 503, 503, 503, 512, 1049 419, 419, 419, 419, 517, 447, 448, 520, 446, 450, 1050 501, 501, 375, 375, 375, 427, 427, 512, 449, 517, 1051 501, 501, 427, 427, 427, 427, 427, 427, 427, 427, 1052 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, 1053 427, 427, 427, 427, 427, 427, 427, 429, 429, 429, 1054 429, 462, 514, 513, 518, 429, 515, 566, 566, 521, 1055 567, 567, 429, 429, 429, 429, 429, 429, 432, 432, 1056 432, 432, 516, 462, 521, 515, 432, 513, 518, 462, 1057 514, 574, 522, 432, 432, 432, 432, 432, 432, 502, 1058 1059 502, 502, 502, 532, 565, 565, 565, 502, 516, 522, 1060 572, 573, 574, 532, 502, 502, 502, 502, 502, 502, 1061 575, 576, 573, 577, 578, 579, 580, 583, 581, 582, 1062 615, 615, 634, 572, 617, 617, 656, 656, 684, 684, 1063 748, 577, 575, 581, 681, 747, 583, 686, 686, 810, 1064 810, 576, 578, 745, 744, 579, 580, 582, 743, 742, 1065 740, 681, 634, 769, 769, 769, 769, 769, 769, 769, 1066 769, 769, 769, 769, 769, 769, 769, 769, 769, 770, 1067 770, 770, 770, 770, 770, 770, 770, 770, 770, 770, 1068 770, 770, 770, 770, 770, 771, 771, 771, 771, 771, 1069 1070 771, 771, 771, 771, 771, 771, 771, 771, 771, 771, 1071 771, 772, 772, 772, 772, 772, 772, 772, 772, 772, 1072 772, 772, 772, 772, 772, 772, 772, 773, 773, 773, 1073 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 1074 773, 773, 773, 774, 774, 774, 774, 774, 774, 774, 1075 774, 774, 774, 774, 774, 774, 774, 774, 774, 775, 1076 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 1077 775, 775, 775, 775, 775, 776, 776, 776, 776, 776, 1078 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 1079 776, 777, 777, 777, 777, 777, 777, 777, 777, 777, 1080 1081 777, 777, 777, 777, 777, 777, 777, 778, 778, 778, 1082 778, 778, 778, 778, 778, 778, 778, 778, 778, 778, 1083 778, 778, 778, 779, 779, 779, 779, 779, 779, 779, 1084 779, 779, 779, 779, 779, 779, 779, 779, 779, 780, 1085 780, 780, 780, 780, 780, 780, 780, 780, 780, 780, 1086 780, 780, 780, 780, 780, 781, 781, 781, 781, 781, 1087 781, 781, 781, 781, 781, 781, 781, 781, 781, 781, 1088 781, 782, 782, 782, 782, 782, 782, 782, 782, 782, 1089 782, 782, 782, 782, 782, 782, 782, 783, 783, 783, 1090 783, 739, 738, 783, 783, 783, 784, 784, 784, 784, 1091 1092 784, 784, 784, 784, 784, 784, 784, 784, 784, 784, 1093 784, 785, 785, 785, 785, 737, 736, 785, 785, 785, 1094 786, 735, 786, 786, 786, 786, 786, 786, 786, 786, 1095 786, 786, 786, 786, 786, 786, 787, 734, 787, 787, 1096 787, 787, 787, 787, 787, 787, 787, 787, 787, 787, 1097 787, 787, 788, 788, 788, 733, 732, 788, 788, 788, 1098 789, 731, 789, 789, 789, 789, 789, 789, 789, 789, 1099 789, 789, 789, 789, 789, 789, 790, 729, 790, 790, 1100 790, 790, 790, 790, 790, 790, 790, 790, 790, 790, 1101 790, 790, 791, 727, 791, 791, 791, 791, 791, 791, 1102 1103 791, 791, 791, 791, 791, 791, 791, 791, 792, 792, 1104 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, 1105 792, 792, 792, 792, 793, 726, 793, 793, 725, 793, 1106 793, 793, 724, 723, 793, 793, 722, 721, 720, 793, 1107 794, 794, 794, 794, 719, 718, 794, 794, 794, 795, 1108 717, 795, 795, 795, 795, 795, 795, 795, 795, 795, 1109 795, 795, 795, 795, 795, 796, 796, 796, 796, 715, 1110 714, 796, 796, 796, 797, 713, 797, 797, 797, 797, 1111 797, 797, 797, 797, 797, 797, 797, 797, 797, 797, 1112 798, 712, 798, 798, 798, 798, 798, 798, 798, 798, 1113 1114 798, 710, 798, 798, 798, 798, 799, 709, 707, 706, 1115 799, 799, 799, 799, 705, 704, 799, 799, 800, 703, 1116 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, 1117 800, 800, 800, 800, 801, 801, 801, 801, 702, 701, 1118 801, 801, 801, 802, 802, 802, 802, 802, 802, 802, 1119 802, 802, 802, 802, 802, 802, 802, 802, 802, 803, 1120 803, 803, 803, 700, 803, 803, 803, 803, 803, 803, 1121 803, 803, 803, 803, 803, 804, 699, 698, 804, 804, 1122 804, 804, 804, 804, 804, 682, 804, 804, 804, 804, 1123 804, 805, 680, 805, 805, 805, 805, 805, 805, 805, 1124 1125 805, 805, 805, 805, 805, 805, 805, 806, 679, 806, 1126 806, 678, 806, 806, 806, 677, 675, 806, 806, 674, 1127 672, 671, 806, 807, 807, 807, 807, 670, 669, 807, 1128 807, 807, 808, 668, 808, 808, 808, 808, 808, 808, 1129 808, 808, 808, 808, 808, 808, 808, 808, 809, 809, 1130 667, 809, 809, 666, 665, 664, 809, 809, 811, 663, 1131 811, 811, 811, 811, 811, 811, 811, 811, 811, 811, 1132 811, 811, 811, 811, 812, 662, 812, 812, 812, 812, 1133 812, 812, 812, 812, 812, 812, 812, 812, 812, 812, 1134 813, 661, 813, 813, 813, 813, 813, 813, 813, 813, 1135 1136 813, 813, 813, 813, 813, 813, 814, 814, 660, 659, 1137 814, 814, 814, 815, 815, 658, 655, 815, 815, 815, 1138 816, 816, 816, 816, 816, 816, 816, 816, 816, 816, 1139 816, 816, 816, 816, 816, 816, 817, 817, 817, 817, 1140 817, 817, 817, 817, 817, 817, 817, 817, 817, 817, 1141 817, 817, 818, 653, 818, 818, 818, 818, 818, 818, 1142 818, 818, 818, 652, 818, 818, 818, 818, 819, 651, 1143 819, 819, 819, 819, 819, 819, 819, 819, 819, 819, 1144 819, 819, 819, 819, 820, 820, 650, 646, 644, 643, 1145 820, 821, 821, 821, 821, 642, 641, 821, 821, 821, 1146 1147 821, 822, 639, 822, 822, 822, 822, 822, 822, 822, 1148 822, 822, 822, 822, 822, 822, 822, 823, 637, 823, 1149 823, 823, 823, 823, 823, 823, 823, 823, 823, 823, 1150 823, 823, 823, 824, 636, 824, 824, 824, 824, 824, 1151 824, 824, 824, 824, 824, 824, 824, 824, 824, 825, 1152 635, 825, 825, 825, 825, 825, 825, 825, 825, 825, 1153 825, 825, 825, 825, 825, 826, 633, 826, 826, 826, 1154 826, 826, 826, 826, 826, 826, 826, 826, 826, 826, 1155 826, 827, 632, 827, 827, 827, 827, 827, 827, 827, 1156 827, 827, 827, 827, 827, 827, 827, 828, 828, 828, 1157 1158 828, 828, 828, 828, 828, 828, 828, 828, 828, 828, 1159 828, 828, 828, 829, 631, 829, 829, 630, 829, 829, 1160 829, 629, 628, 829, 829, 627, 626, 625, 829, 830, 1161 830, 830, 830, 624, 623, 830, 830, 830, 831, 621, 1162 831, 831, 831, 831, 831, 831, 831, 831, 831, 831, 1163 831, 831, 831, 831, 832, 832, 832, 832, 619, 612, 1164 832, 832, 832, 833, 833, 611, 610, 609, 833, 833, 1165 834, 608, 607, 606, 834, 834, 834, 834, 604, 601, 1166 834, 834, 835, 600, 835, 835, 835, 835, 835, 835, 1167 835, 835, 835, 835, 835, 835, 835, 835, 836, 836, 1168 1169 836, 836, 599, 598, 836, 836, 836, 837, 837, 837, 1170 837, 837, 837, 837, 837, 837, 837, 837, 837, 837, 1171 837, 837, 837, 838, 838, 838, 838, 597, 838, 838, 1172 838, 838, 838, 838, 838, 838, 838, 838, 838, 839, 1173 596, 595, 839, 839, 839, 839, 839, 839, 839, 594, 1174 839, 839, 839, 839, 839, 840, 593, 840, 840, 592, 1175 840, 840, 840, 591, 590, 840, 840, 588, 569, 568, 1176 840, 841, 841, 841, 841, 564, 563, 841, 841, 841, 1177 842, 562, 842, 842, 842, 842, 842, 842, 842, 842, 1178 842, 842, 842, 842, 842, 842, 843, 843, 560, 843, 1179 1180 843, 559, 558, 557, 843, 843, 844, 556, 844, 844, 1181 844, 844, 844, 844, 844, 844, 844, 844, 844, 844, 1182 844, 844, 845, 555, 845, 845, 845, 845, 845, 845, 1183 845, 845, 845, 845, 845, 845, 845, 845, 846, 554, 1184 846, 846, 846, 846, 846, 846, 846, 846, 846, 846, 1185 846, 846, 846, 846, 847, 847, 847, 847, 847, 847, 1186 847, 847, 847, 847, 847, 847, 847, 847, 847, 847, 1187 848, 848, 848, 848, 553, 552, 848, 848, 848, 849, 1188 849, 849, 849, 551, 549, 849, 849, 849, 850, 850, 1189 850, 850, 850, 850, 850, 850, 850, 850, 850, 850, 1190 1191 850, 850, 850, 850, 851, 851, 851, 851, 851, 851, 1192 851, 851, 851, 851, 851, 851, 851, 851, 851, 851, 1193 852, 548, 852, 852, 852, 852, 852, 852, 852, 852, 1194 852, 546, 852, 852, 852, 852, 853, 853, 545, 544, 1195 543, 542, 853, 854, 854, 854, 854, 541, 540, 854, 1196 854, 854, 854, 855, 539, 855, 855, 855, 855, 855, 1197 855, 855, 855, 855, 855, 855, 855, 855, 855, 856, 1198 856, 856, 856, 856, 856, 856, 856, 856, 856, 856, 1199 856, 856, 856, 856, 856, 857, 857, 857, 857, 857, 1200 857, 857, 857, 857, 857, 857, 857, 857, 857, 857, 1201 1202 857, 538, 536, 534, 533, 530, 528, 526, 525, 524, 1203 523, 509, 508, 507, 506, 500, 499, 498, 497, 496, 1204 492, 491, 490, 489, 488, 487, 486, 483, 482, 481, 1205 480, 479, 478, 476, 475, 474, 473, 472, 471, 469, 1206 468, 467, 464, 463, 461, 460, 459, 458, 457, 454, 1207 453, 452, 451, 439, 437, 436, 435, 434, 430, 426, 1208 423, 422, 421, 414, 413, 412, 411, 410, 408, 407, 1209 406, 404, 403, 402, 401, 400, 399, 398, 397, 396, 1210 395, 394, 393, 392, 391, 390, 388, 387, 386, 384, 1211 383, 382, 381, 380, 379, 378, 377, 376, 373, 372, 1212 1213 361, 356, 355, 352, 350, 346, 337, 327, 326, 325, 1214 323, 318, 315, 313, 312, 311, 308, 307, 306, 305, 1215 303, 301, 300, 299, 297, 296, 295, 293, 292, 290, 1216 287, 286, 284, 282, 281, 280, 276, 263, 262, 243, 1217 240, 239, 234, 231, 226, 222, 221, 220, 219, 216, 1218 208, 207, 204, 203, 189, 187, 183, 179, 176, 175, 1219 174, 173, 172, 171, 169, 166, 165, 162, 161, 159, 1220 156, 155, 154, 153, 151, 149, 148, 146, 144, 143, 1221 137, 134, 125, 124, 122, 119, 114, 112, 107, 103, 1222 97, 92, 89, 87, 85, 84, 83, 80, 76, 74, 1223 1224 73, 71, 67, 65, 59, 55, 50, 47, 43, 39, 1225 16, 15, 10, 8, 7, 768, 768, 768, 768, 768, 1226 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 1227 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 1228 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 1229 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 1230 768, 768, 768, 768, 768, 768, 768, 768, 768, 768, 1231 768, 768, 768, 768 1232 } ; 1233 1234 static yy_state_type yy_last_accepting_state; 1235 static char *yy_last_accepting_cpos; 1236 1237 /* The intent behind this definition is that it'll catch 1238 * any uses of REJECT which flex missed. 1239 */ 1240 #define REJECT reject_used_but_not_detected 1241 #define yymore() yymore_used_but_not_detected 1242 #define YY_MORE_ADJ 0 1243 #define YY_RESTORE_YY_MORE_OFFSET 1244 char *yytext; 1245 #line 1 "scan.l" 1246 #define INITIAL 0 1247 /* scan.l - scanner for flex input */ 1248 #line 4 "scan.l" 1249 /*- 1250 * Copyright (c) 1990 The Regents of the University of California. 1251 * All rights reserved. 1252 * 1253 * This code is derived from software contributed to Berkeley by 1254 * Vern Paxson. 1255 * 1256 * The United States Government has rights in this work pursuant 1257 * to contract no. DE-AC03-76SF00098 between the United States 1258 * Department of Energy and the University of California. 1259 * 1260 * Redistribution and use in source and binary forms are permitted provided 1261 * that: (1) source distributions retain this entire copyright notice and 1262 * comment, and (2) distributions including binaries display the following 1263 * acknowledgement: ``This product includes software developed by the 1264 * University of California, Berkeley and its contributors'' in the 1265 * documentation or other materials provided with the distribution and in 1266 * all advertising materials mentioning features or use of this software. 1267 * Neither the name of the University nor the names of its contributors may 1268 * be used to endorse or promote products derived from this software without 1269 * specific prior written permission. 1270 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED 1271 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF 1272 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 1273 */ 1274 1275 /* $Header: /home/daffy/u0/vern/flex/RCS/scan.l,v 2.56 95/04/24 12:17:19 vern Exp $ */ 1276 1277 #ifndef lint 1278 static const char rcsid[] = 1279 "$FreeBSD$"; 1280 #endif /* not lint */ 1281 1282 #include "flexdef.h" 1283 #include "parse.h" 1284 1285 #define ACTION_ECHO add_action( yytext ) 1286 #define ACTION_IFDEF(def, should_define) \ 1287 { \ 1288 if ( should_define ) \ 1289 action_define( def, 1 ); \ 1290 } 1291 1292 #define MARK_END_OF_PROLOG mark_prolog(); 1293 1294 #define YY_DECL \ 1295 int flexscan() 1296 1297 #define RETURNCHAR \ 1298 yylval = (unsigned char) yytext[0]; \ 1299 return CHAR; 1300 1301 #define RETURNNAME \ 1302 strcpy( nmstr, yytext ); \ 1303 return NAME; 1304 1305 #define PUT_BACK_STRING(str, start) \ 1306 for ( i = strlen( str ) - 1; i >= start; --i ) \ 1307 unput((str)[i]) 1308 1309 #define CHECK_REJECT(str) \ 1310 if ( all_upper( str ) ) \ 1311 reject = true; 1312 1313 #define CHECK_YYMORE(str) \ 1314 if ( all_lower( str ) ) \ 1315 yymore_used = true; 1316 #define YY_STACK_USED 1 1317 #define YY_NO_TOP_STATE 1 1318 #define SECT2 1 1319 #define SECT2PROLOG 2 1320 #define SECT3 3 1321 #define CODEBLOCK 4 1322 #define PICKUPDEF 5 1323 #define SC 6 1324 #define CARETISBOL 7 1325 #define NUM 8 1326 #define QUOTE 9 1327 1328 #define FIRSTCCL 10 1329 #define CCL 11 1330 #define ACTION 12 1331 #define RECOVER 13 1332 #define COMMENT 14 1333 #define ACTION_STRING 15 1334 #define PERCENT_BRACE_ACTION 16 1335 1336 #define OPTION 17 1337 #define LINEDIR 18 1338 1339 #line 1333 "scan.c" 1340 1341 /* Macros after this point can all be overridden by user definitions in 1342 * section 1. 1343 */ 1344 1345 #ifndef YY_SKIP_YYWRAP 1346 #ifdef __cplusplus 1347 extern "C" int yywrap YY_PROTO(( void )); 1348 #else 1349 extern int yywrap YY_PROTO(( void )); 1350 #endif 1351 #endif 1352 1353 #ifndef YY_NO_UNPUT 1354 static void yyunput YY_PROTO(( int c, char *buf_ptr )); 1355 #endif 1356 1357 #ifndef yytext_ptr 1358 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); 1359 #endif 1360 1361 #ifdef YY_NEED_STRLEN 1362 static int yy_flex_strlen YY_PROTO(( yyconst char * )); 1363 #endif 1364 1365 #ifndef YY_NO_INPUT 1366 #ifdef __cplusplus 1367 static int yyinput YY_PROTO(( void )); 1368 #else 1369 static int input YY_PROTO(( void )); 1370 #endif 1371 #endif 1372 1373 #if YY_STACK_USED 1374 static int yy_start_stack_ptr = 0; 1375 static int yy_start_stack_depth = 0; 1376 static int *yy_start_stack = 0; 1377 #ifndef YY_NO_PUSH_STATE 1378 static void yy_push_state YY_PROTO(( int new_state )); 1379 #endif 1380 #ifndef YY_NO_POP_STATE 1381 static void yy_pop_state YY_PROTO(( void )); 1382 #endif 1383 #ifndef YY_NO_TOP_STATE 1384 static int yy_top_state YY_PROTO(( void )); 1385 #endif 1386 1387 #else 1388 #define YY_NO_PUSH_STATE 1 1389 #define YY_NO_POP_STATE 1 1390 #define YY_NO_TOP_STATE 1 1391 #endif 1392 1393 #ifdef YY_MALLOC_DECL 1394 YY_MALLOC_DECL 1395 #else 1396 #if __STDC__ 1397 #ifndef __cplusplus 1398 #include <stdlib.h> 1399 #endif 1400 #else 1401 /* Just try to get by without declaring the routines. This will fail 1402 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) 1403 * or sizeof(void*) != sizeof(int). 1404 */ 1405 #endif 1406 #endif 1407 1408 /* Amount of stuff to slurp up with each read. */ 1409 #ifndef YY_READ_BUF_SIZE 1410 #define YY_READ_BUF_SIZE 8192 1411 #endif 1412 1413 /* Copy whatever the last rule matched to the standard output. */ 1414 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 (void) fwrite( yytext, yyleng, 1, yyout ) 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->yy_is_interactive ) \ 1428 { \ 1429 int c = '*', n; \ 1430 for ( n = 0; n < max_size && \ 1431 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 1432 buf[n] = (char) c; \ 1433 if ( c == '\n' ) \ 1434 buf[n++] = (char) c; \ 1435 if ( c == EOF && ferror( yyin ) ) \ 1436 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 1437 result = n; \ 1438 } \ 1439 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ 1440 && ferror( yyin ) ) \ 1441 YY_FATAL_ERROR( "input in flex scanner failed" ); 1442 #endif 1443 1444 /* No semi-colon after return; correct usage is to write "yyterminate();" - 1445 * we don't want an extra ';' after the "return" because that will cause 1446 * some compilers to complain about unreachable statements. 1447 */ 1448 #ifndef yyterminate 1449 #define yyterminate() return YY_NULL 1450 #endif 1451 1452 /* Number of entries by which start-condition stack grows. */ 1453 #ifndef YY_START_STACK_INCR 1454 #define YY_START_STACK_INCR 25 1455 #endif 1456 1457 /* Report a fatal error. */ 1458 #ifndef YY_FATAL_ERROR 1459 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 1460 #endif 1461 1462 /* Default declaration of generated scanner - a define so the user can 1463 * easily add parameters. 1464 */ 1465 #ifndef YY_DECL 1466 #define YY_DECL int yylex YY_PROTO(( void )) 1467 #endif 1468 1469 /* Code executed at the beginning of each rule, after yytext and yyleng 1470 * have been set up. 1471 */ 1472 #ifndef YY_USER_ACTION 1473 #define YY_USER_ACTION 1474 #endif 1475 1476 /* Code executed at the end of each rule. */ 1477 #ifndef YY_BREAK 1478 #define YY_BREAK break; 1479 #endif 1480 1481 #define YY_RULE_SETUP \ 1482 if ( yyleng > 0 ) \ 1483 yy_current_buffer->yy_at_bol = \ 1484 (yytext[yyleng - 1] == '\n'); \ 1485 YY_USER_ACTION 1486 1487 YY_DECL 1488 { 1489 yy_state_type yy_current_state; 1490 char *yy_cp, *yy_bp; 1491 int yy_act; 1492 1493 #line 94 "scan.l" 1494 1495 static int bracelevel, didadef, indented_code; 1496 static int doing_rule_action = false; 1497 static int option_sense; 1498 1499 int doing_codeblock = false; 1500 int i; 1501 Char nmdef[MAXLINE], myesc(); 1502 1503 1504 #line 1498 "scan.c" 1505 1506 if ( yy_init ) 1507 { 1508 yy_init = 0; 1509 1510 #ifdef YY_USER_INIT 1511 YY_USER_INIT; 1512 #endif 1513 1514 if ( ! yy_start ) 1515 yy_start = 1; /* first start state */ 1516 1517 if ( ! yyin ) 1518 yyin = stdin; 1519 1520 if ( ! yyout ) 1521 yyout = stdout; 1522 1523 if ( ! yy_current_buffer ) 1524 yy_current_buffer = 1525 yy_create_buffer( yyin, YY_BUF_SIZE ); 1526 1527 yy_load_buffer_state(); 1528 } 1529 1530 while ( 1 ) /* loops until end-of-file is reached */ 1531 { 1532 yy_cp = yy_c_buf_p; 1533 1534 /* Support of yytext. */ 1535 *yy_cp = yy_hold_char; 1536 1537 /* yy_bp points to the position in yy_ch_buf of the start of 1538 * the current run. 1539 */ 1540 yy_bp = yy_cp; 1541 1542 yy_current_state = yy_start; 1543 yy_current_state += YY_AT_BOL(); 1544 yy_match: 1545 do 1546 { 1547 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 1548 if ( yy_accept[yy_current_state] ) 1549 { 1550 yy_last_accepting_state = yy_current_state; 1551 yy_last_accepting_cpos = yy_cp; 1552 } 1553 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1554 { 1555 yy_current_state = (int) yy_def[yy_current_state]; 1556 if ( yy_current_state >= 769 ) 1557 yy_c = yy_meta[(unsigned int) yy_c]; 1558 } 1559 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1560 ++yy_cp; 1561 } 1562 while ( yy_base[yy_current_state] != 2716 ); 1563 1564 yy_find_action: 1565 yy_act = yy_accept[yy_current_state]; 1566 if ( yy_act == 0 ) 1567 { /* have to back up */ 1568 yy_cp = yy_last_accepting_cpos; 1569 yy_current_state = yy_last_accepting_state; 1570 yy_act = yy_accept[yy_current_state]; 1571 } 1572 1573 YY_DO_BEFORE_ACTION; 1574 1575 1576 do_action: /* This label is used only to access EOF actions. */ 1577 1578 1579 switch ( yy_act ) 1580 { /* beginning of action switch */ 1581 case 0: /* must back up */ 1582 /* undo the effects of YY_DO_BEFORE_ACTION */ 1583 *yy_cp = yy_hold_char; 1584 yy_cp = yy_last_accepting_cpos; 1585 yy_current_state = yy_last_accepting_state; 1586 goto yy_find_action; 1587 1588 1589 case 1: 1590 YY_RULE_SETUP 1591 #line 105 "scan.l" 1592 indented_code = true; BEGIN(CODEBLOCK); 1593 YY_BREAK 1594 case 2: 1595 YY_RULE_SETUP 1596 #line 106 "scan.l" 1597 ACTION_ECHO; yy_push_state( COMMENT ); 1598 YY_BREAK 1599 case 3: 1600 YY_RULE_SETUP 1601 #line 107 "scan.l" 1602 yy_push_state( LINEDIR ); 1603 YY_BREAK 1604 case 4: 1605 YY_RULE_SETUP 1606 #line 108 "scan.l" 1607 return SCDECL; 1608 YY_BREAK 1609 case 5: 1610 YY_RULE_SETUP 1611 #line 109 "scan.l" 1612 return XSCDECL; 1613 YY_BREAK 1614 case 6: 1615 YY_RULE_SETUP 1616 #line 110 "scan.l" 1617 { 1618 ++linenum; 1619 line_directive_out( (FILE *) 0, 1 ); 1620 indented_code = false; 1621 BEGIN(CODEBLOCK); 1622 } 1623 YY_BREAK 1624 case 7: 1625 YY_RULE_SETUP 1626 #line 117 "scan.l" 1627 /* discard */ 1628 YY_BREAK 1629 case 8: 1630 YY_RULE_SETUP 1631 #line 119 "scan.l" 1632 { 1633 sectnum = 2; 1634 bracelevel = 0; 1635 mark_defs1(); 1636 line_directive_out( (FILE *) 0, 1 ); 1637 BEGIN(SECT2PROLOG); 1638 return SECTEND; 1639 } 1640 YY_BREAK 1641 case 9: 1642 YY_RULE_SETUP 1643 #line 128 "scan.l" 1644 yytext_is_array = false; ++linenum; 1645 YY_BREAK 1646 case 10: 1647 YY_RULE_SETUP 1648 #line 129 "scan.l" 1649 yytext_is_array = true; ++linenum; 1650 YY_BREAK 1651 case 11: 1652 YY_RULE_SETUP 1653 #line 131 "scan.l" 1654 BEGIN(OPTION); return OPTION_OP; 1655 YY_BREAK 1656 case 12: 1657 YY_RULE_SETUP 1658 #line 133 "scan.l" 1659 ++linenum; /* ignore */ 1660 YY_BREAK 1661 case 13: 1662 YY_RULE_SETUP 1663 #line 134 "scan.l" 1664 ++linenum; /* ignore */ 1665 YY_BREAK 1666 case 14: 1667 YY_RULE_SETUP 1668 #line 136 "scan.l" 1669 synerr( _( "unrecognized '%' directive" ) ); 1670 YY_BREAK 1671 case 15: 1672 YY_RULE_SETUP 1673 #line 138 "scan.l" 1674 { 1675 strcpy( nmstr, yytext ); 1676 didadef = false; 1677 BEGIN(PICKUPDEF); 1678 } 1679 YY_BREAK 1680 case 16: 1681 YY_RULE_SETUP 1682 #line 144 "scan.l" 1683 RETURNNAME; 1684 YY_BREAK 1685 case 17: 1686 YY_RULE_SETUP 1687 #line 145 "scan.l" 1688 ++linenum; /* allows blank lines in section 1 */ 1689 YY_BREAK 1690 case 18: 1691 YY_RULE_SETUP 1692 #line 146 "scan.l" 1693 ACTION_ECHO; ++linenum; /* maybe end of comment line */ 1694 YY_BREAK 1695 1696 1697 case 19: 1698 YY_RULE_SETUP 1699 #line 151 "scan.l" 1700 ACTION_ECHO; yy_pop_state(); 1701 YY_BREAK 1702 case 20: 1703 YY_RULE_SETUP 1704 #line 152 "scan.l" 1705 ACTION_ECHO; 1706 YY_BREAK 1707 case 21: 1708 YY_RULE_SETUP 1709 #line 153 "scan.l" 1710 ACTION_ECHO; 1711 YY_BREAK 1712 case 22: 1713 YY_RULE_SETUP 1714 #line 154 "scan.l" 1715 ++linenum; ACTION_ECHO; 1716 YY_BREAK 1717 1718 1719 case 23: 1720 YY_RULE_SETUP 1721 #line 158 "scan.l" 1722 yy_pop_state(); 1723 YY_BREAK 1724 case 24: 1725 YY_RULE_SETUP 1726 #line 159 "scan.l" 1727 linenum = myctoi( yytext ); 1728 YY_BREAK 1729 case 25: 1730 YY_RULE_SETUP 1731 #line 161 "scan.l" 1732 { 1733 flex_free( (void *) infilename ); 1734 infilename = copy_string( yytext + 1 ); 1735 infilename[strlen( infilename ) - 1] = '\0'; 1736 } 1737 YY_BREAK 1738 case 26: 1739 YY_RULE_SETUP 1740 #line 166 "scan.l" 1741 /* ignore spurious characters */ 1742 YY_BREAK 1743 1744 1745 case 27: 1746 YY_RULE_SETUP 1747 #line 170 "scan.l" 1748 ++linenum; BEGIN(INITIAL); 1749 YY_BREAK 1750 case 28: 1751 YY_RULE_SETUP 1752 #line 172 "scan.l" 1753 ACTION_ECHO; 1754 YY_BREAK 1755 case 29: 1756 YY_RULE_SETUP 1757 #line 174 "scan.l" 1758 { 1759 ++linenum; 1760 ACTION_ECHO; 1761 if ( indented_code ) 1762 BEGIN(INITIAL); 1763 } 1764 YY_BREAK 1765 1766 1767 case 30: 1768 YY_RULE_SETUP 1769 #line 184 "scan.l" 1770 /* separates name and definition */ 1771 YY_BREAK 1772 case 31: 1773 YY_RULE_SETUP 1774 #line 186 "scan.l" 1775 { 1776 strcpy( (char *) nmdef, yytext ); 1777 1778 /* Skip trailing whitespace. */ 1779 for ( i = strlen( (char *) nmdef ) - 1; 1780 i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t'); 1781 --i ) 1782 ; 1783 1784 nmdef[i + 1] = '\0'; 1785 1786 ndinstal( nmstr, nmdef ); 1787 didadef = true; 1788 } 1789 YY_BREAK 1790 case 32: 1791 YY_RULE_SETUP 1792 #line 201 "scan.l" 1793 { 1794 if ( ! didadef ) 1795 synerr( _( "incomplete name definition" ) ); 1796 BEGIN(INITIAL); 1797 ++linenum; 1798 } 1799 YY_BREAK 1800 1801 1802 case 33: 1803 YY_RULE_SETUP 1804 #line 211 "scan.l" 1805 ++linenum; BEGIN(INITIAL); 1806 YY_BREAK 1807 case 34: 1808 YY_RULE_SETUP 1809 #line 212 "scan.l" 1810 option_sense = true; 1811 YY_BREAK 1812 case 35: 1813 YY_RULE_SETUP 1814 #line 214 "scan.l" 1815 return '='; 1816 YY_BREAK 1817 case 36: 1818 YY_RULE_SETUP 1819 #line 216 "scan.l" 1820 option_sense = ! option_sense; 1821 YY_BREAK 1822 case 37: 1823 YY_RULE_SETUP 1824 #line 218 "scan.l" 1825 csize = option_sense ? 128 : 256; 1826 YY_BREAK 1827 case 38: 1828 YY_RULE_SETUP 1829 #line 219 "scan.l" 1830 csize = option_sense ? 256 : 128; 1831 YY_BREAK 1832 case 39: 1833 YY_RULE_SETUP 1834 #line 221 "scan.l" 1835 long_align = option_sense; 1836 YY_BREAK 1837 case 40: 1838 YY_RULE_SETUP 1839 #line 222 "scan.l" 1840 { 1841 action_define( "YY_ALWAYS_INTERACTIVE", option_sense ); 1842 } 1843 YY_BREAK 1844 case 41: 1845 YY_RULE_SETUP 1846 #line 225 "scan.l" 1847 yytext_is_array = option_sense; 1848 YY_BREAK 1849 case 42: 1850 YY_RULE_SETUP 1851 #line 226 "scan.l" 1852 backing_up_report = option_sense; 1853 YY_BREAK 1854 case 43: 1855 YY_RULE_SETUP 1856 #line 227 "scan.l" 1857 interactive = ! option_sense; 1858 YY_BREAK 1859 case 44: 1860 YY_RULE_SETUP 1861 #line 228 "scan.l" 1862 C_plus_plus = option_sense; 1863 YY_BREAK 1864 case 45: 1865 YY_RULE_SETUP 1866 #line 229 "scan.l" 1867 caseins = ! option_sense; 1868 YY_BREAK 1869 case 46: 1870 YY_RULE_SETUP 1871 #line 230 "scan.l" 1872 caseins = option_sense; 1873 YY_BREAK 1874 case 47: 1875 YY_RULE_SETUP 1876 #line 231 "scan.l" 1877 ddebug = option_sense; 1878 YY_BREAK 1879 case 48: 1880 YY_RULE_SETUP 1881 #line 232 "scan.l" 1882 spprdflt = ! option_sense; 1883 YY_BREAK 1884 case 49: 1885 YY_RULE_SETUP 1886 #line 233 "scan.l" 1887 useecs = option_sense; 1888 YY_BREAK 1889 case 50: 1890 YY_RULE_SETUP 1891 #line 234 "scan.l" 1892 { 1893 useecs = usemecs = false; 1894 use_read = fullspd = true; 1895 } 1896 YY_BREAK 1897 case 51: 1898 YY_RULE_SETUP 1899 #line 238 "scan.l" 1900 { 1901 useecs = usemecs = false; 1902 use_read = fulltbl = true; 1903 } 1904 YY_BREAK 1905 case 52: 1906 YY_RULE_SETUP 1907 #line 242 "scan.l" 1908 ACTION_IFDEF("YY_NO_INPUT", ! option_sense); 1909 YY_BREAK 1910 case 53: 1911 YY_RULE_SETUP 1912 #line 243 "scan.l" 1913 interactive = option_sense; 1914 YY_BREAK 1915 case 54: 1916 YY_RULE_SETUP 1917 #line 244 "scan.l" 1918 lex_compat = option_sense; 1919 YY_BREAK 1920 case 55: 1921 YY_RULE_SETUP 1922 #line 245 "scan.l" 1923 { 1924 action_define( "YY_MAIN", option_sense ); 1925 do_yywrap = ! option_sense; 1926 } 1927 YY_BREAK 1928 case 56: 1929 YY_RULE_SETUP 1930 #line 249 "scan.l" 1931 usemecs = option_sense; 1932 YY_BREAK 1933 case 57: 1934 YY_RULE_SETUP 1935 #line 250 "scan.l" 1936 { 1937 action_define( "YY_NEVER_INTERACTIVE", option_sense ); 1938 } 1939 YY_BREAK 1940 case 58: 1941 YY_RULE_SETUP 1942 #line 253 "scan.l" 1943 performance_report += option_sense ? 1 : -1; 1944 YY_BREAK 1945 case 59: 1946 YY_RULE_SETUP 1947 #line 254 "scan.l" 1948 yytext_is_array = ! option_sense; 1949 YY_BREAK 1950 case 60: 1951 YY_RULE_SETUP 1952 #line 255 "scan.l" 1953 use_read = option_sense; 1954 YY_BREAK 1955 case 61: 1956 YY_RULE_SETUP 1957 #line 256 "scan.l" 1958 reject_really_used = option_sense; 1959 YY_BREAK 1960 case 62: 1961 YY_RULE_SETUP 1962 #line 257 "scan.l" 1963 action_define( "YY_STACK_USED", option_sense ); 1964 YY_BREAK 1965 case 63: 1966 YY_RULE_SETUP 1967 #line 258 "scan.l" 1968 do_stdinit = option_sense; 1969 YY_BREAK 1970 case 64: 1971 YY_RULE_SETUP 1972 #line 259 "scan.l" 1973 use_stdout = option_sense; 1974 YY_BREAK 1975 case 65: 1976 YY_RULE_SETUP 1977 #line 260 "scan.l" 1978 ACTION_IFDEF("YY_NO_UNPUT", ! option_sense); 1979 YY_BREAK 1980 case 66: 1981 YY_RULE_SETUP 1982 #line 261 "scan.l" 1983 printstats = option_sense; 1984 YY_BREAK 1985 case 67: 1986 YY_RULE_SETUP 1987 #line 262 "scan.l" 1988 nowarn = ! option_sense; 1989 YY_BREAK 1990 case 68: 1991 YY_RULE_SETUP 1992 #line 263 "scan.l" 1993 do_yylineno = option_sense; 1994 YY_BREAK 1995 case 69: 1996 YY_RULE_SETUP 1997 #line 264 "scan.l" 1998 yymore_really_used = option_sense; 1999 YY_BREAK 2000 case 70: 2001 YY_RULE_SETUP 2002 #line 265 "scan.l" 2003 do_yywrap = option_sense; 2004 YY_BREAK 2005 case 71: 2006 YY_RULE_SETUP 2007 #line 267 "scan.l" 2008 ACTION_IFDEF("YY_NO_PUSH_STATE", ! option_sense); 2009 YY_BREAK 2010 case 72: 2011 YY_RULE_SETUP 2012 #line 268 "scan.l" 2013 ACTION_IFDEF("YY_NO_POP_STATE", ! option_sense); 2014 YY_BREAK 2015 case 73: 2016 YY_RULE_SETUP 2017 #line 269 "scan.l" 2018 ACTION_IFDEF("YY_NO_TOP_STATE", ! option_sense); 2019 YY_BREAK 2020 case 74: 2021 YY_RULE_SETUP 2022 #line 271 "scan.l" 2023 ACTION_IFDEF("YY_NO_SCAN_BUFFER", ! option_sense); 2024 YY_BREAK 2025 case 75: 2026 YY_RULE_SETUP 2027 #line 272 "scan.l" 2028 ACTION_IFDEF("YY_NO_SCAN_BYTES", ! option_sense); 2029 YY_BREAK 2030 case 76: 2031 YY_RULE_SETUP 2032 #line 273 "scan.l" 2033 ACTION_IFDEF("YY_NO_SCAN_STRING", ! option_sense); 2034 YY_BREAK 2035 case 77: 2036 YY_RULE_SETUP 2037 #line 275 "scan.l" 2038 return OPT_OUTFILE; 2039 YY_BREAK 2040 case 78: 2041 YY_RULE_SETUP 2042 #line 276 "scan.l" 2043 return OPT_PREFIX; 2044 YY_BREAK 2045 case 79: 2046 YY_RULE_SETUP 2047 #line 277 "scan.l" 2048 return OPT_YYCLASS; 2049 YY_BREAK 2050 case 80: 2051 YY_RULE_SETUP 2052 #line 279 "scan.l" 2053 { 2054 strcpy( nmstr, yytext + 1 ); 2055 nmstr[strlen( nmstr ) - 1] = '\0'; 2056 return NAME; 2057 } 2058 YY_BREAK 2059 case 81: 2060 YY_RULE_SETUP 2061 #line 285 "scan.l" 2062 { 2063 format_synerr( _( "unrecognized %%option: %s" ), 2064 yytext ); 2065 BEGIN(RECOVER); 2066 } 2067 YY_BREAK 2068 2069 case 82: 2070 YY_RULE_SETUP 2071 #line 292 "scan.l" 2072 ++linenum; BEGIN(INITIAL); 2073 YY_BREAK 2074 2075 case 83: 2076 YY_RULE_SETUP 2077 #line 296 "scan.l" 2078 ++bracelevel; yyless( 2 ); /* eat only %{ */ 2079 YY_BREAK 2080 case 84: 2081 YY_RULE_SETUP 2082 #line 297 "scan.l" 2083 --bracelevel; yyless( 2 ); /* eat only %} */ 2084 YY_BREAK 2085 case 85: 2086 YY_RULE_SETUP 2087 #line 299 "scan.l" 2088 ACTION_ECHO; /* indented code in prolog */ 2089 YY_BREAK 2090 case 86: 2091 YY_RULE_SETUP 2092 #line 301 "scan.l" 2093 { /* non-indented code */ 2094 if ( bracelevel <= 0 ) 2095 { /* not in %{ ... %} */ 2096 yyless( 0 ); /* put it all back */ 2097 yy_set_bol( 1 ); 2098 mark_prolog(); 2099 BEGIN(SECT2); 2100 } 2101 else 2102 ACTION_ECHO; 2103 } 2104 YY_BREAK 2105 case 87: 2106 YY_RULE_SETUP 2107 #line 313 "scan.l" 2108 ACTION_ECHO; 2109 YY_BREAK 2110 case 88: 2111 YY_RULE_SETUP 2112 #line 314 "scan.l" 2113 ++linenum; ACTION_ECHO; 2114 YY_BREAK 2115 case YY_STATE_EOF(SECT2PROLOG): 2116 #line 316 "scan.l" 2117 { 2118 mark_prolog(); 2119 sectnum = 0; 2120 yyterminate(); /* to stop the parser */ 2121 } 2122 YY_BREAK 2123 2124 2125 case 89: 2126 YY_RULE_SETUP 2127 #line 324 "scan.l" 2128 ++linenum; /* allow blank lines in section 2 */ 2129 YY_BREAK 2130 case 90: 2131 YY_RULE_SETUP 2132 #line 326 "scan.l" 2133 { 2134 indented_code = false; 2135 doing_codeblock = true; 2136 bracelevel = 1; 2137 BEGIN(PERCENT_BRACE_ACTION); 2138 } 2139 YY_BREAK 2140 case 91: 2141 YY_RULE_SETUP 2142 #line 333 "scan.l" 2143 BEGIN(SC); return '<'; 2144 YY_BREAK 2145 case 92: 2146 YY_RULE_SETUP 2147 #line 334 "scan.l" 2148 return '^'; 2149 YY_BREAK 2150 case 93: 2151 YY_RULE_SETUP 2152 #line 335 "scan.l" 2153 BEGIN(QUOTE); return '"'; 2154 YY_BREAK 2155 case 94: 2156 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2157 yy_c_buf_p = yy_cp = yy_bp + 1; 2158 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2159 YY_RULE_SETUP 2160 #line 336 "scan.l" 2161 BEGIN(NUM); return '{'; 2162 YY_BREAK 2163 case 95: 2164 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2165 yy_c_buf_p = yy_cp = yy_bp + 1; 2166 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2167 YY_RULE_SETUP 2168 #line 337 "scan.l" 2169 return '$'; 2170 YY_BREAK 2171 case 96: 2172 YY_RULE_SETUP 2173 #line 339 "scan.l" 2174 { 2175 bracelevel = 1; 2176 BEGIN(PERCENT_BRACE_ACTION); 2177 2178 if ( in_rule ) 2179 { 2180 doing_rule_action = true; 2181 in_rule = false; 2182 return '\n'; 2183 } 2184 } 2185 YY_BREAK 2186 case 97: 2187 YY_RULE_SETUP 2188 #line 350 "scan.l" 2189 continued_action = true; ++linenum; return '\n'; 2190 YY_BREAK 2191 case 98: 2192 YY_RULE_SETUP 2193 #line 352 "scan.l" 2194 { 2195 yyless( yyleng - 2 ); /* put back '/', '*' */ 2196 bracelevel = 0; 2197 continued_action = false; 2198 BEGIN(ACTION); 2199 } 2200 YY_BREAK 2201 case 99: 2202 YY_RULE_SETUP 2203 #line 359 "scan.l" 2204 /* allow indented rules */ 2205 YY_BREAK 2206 case 100: 2207 YY_RULE_SETUP 2208 #line 361 "scan.l" 2209 { 2210 /* This rule is separate from the one below because 2211 * otherwise we get variable trailing context, so 2212 * we can't build the scanner using -{f,F}. 2213 */ 2214 bracelevel = 0; 2215 continued_action = false; 2216 BEGIN(ACTION); 2217 2218 if ( in_rule ) 2219 { 2220 doing_rule_action = true; 2221 in_rule = false; 2222 return '\n'; 2223 } 2224 } 2225 YY_BREAK 2226 case 101: 2227 YY_RULE_SETUP 2228 #line 378 "scan.l" 2229 { 2230 bracelevel = 0; 2231 continued_action = false; 2232 BEGIN(ACTION); 2233 unput( '\n' ); /* so <ACTION> sees it */ 2234 2235 if ( in_rule ) 2236 { 2237 doing_rule_action = true; 2238 in_rule = false; 2239 return '\n'; 2240 } 2241 } 2242 YY_BREAK 2243 case 102: 2244 #line 393 "scan.l" 2245 case 103: 2246 YY_RULE_SETUP 2247 #line 393 "scan.l" 2248 return EOF_OP; 2249 YY_BREAK 2250 case 104: 2251 YY_RULE_SETUP 2252 #line 395 "scan.l" 2253 { 2254 sectnum = 3; 2255 BEGIN(SECT3); 2256 yyterminate(); /* to stop the parser */ 2257 } 2258 YY_BREAK 2259 case 105: 2260 YY_RULE_SETUP 2261 #line 401 "scan.l" 2262 { 2263 int cclval; 2264 2265 strcpy( nmstr, yytext ); 2266 2267 /* Check to see if we've already encountered this 2268 * ccl. 2269 */ 2270 if ( (cclval = ccllookup( (Char *) nmstr )) != 0 ) 2271 { 2272 if ( input() != ']' ) 2273 synerr( _( "bad character class" ) ); 2274 2275 yylval = cclval; 2276 ++cclreuse; 2277 return PREVCCL; 2278 } 2279 else 2280 { 2281 /* We fudge a bit. We know that this ccl will 2282 * soon be numbered as lastccl + 1 by cclinit. 2283 */ 2284 cclinstal( (Char *) nmstr, lastccl + 1 ); 2285 2286 /* Push back everything but the leading bracket 2287 * so the ccl can be rescanned. 2288 */ 2289 yyless( 1 ); 2290 2291 BEGIN(FIRSTCCL); 2292 return '['; 2293 } 2294 } 2295 YY_BREAK 2296 case 106: 2297 YY_RULE_SETUP 2298 #line 435 "scan.l" 2299 { 2300 Char *nmdefptr; 2301 Char *ndlookup(); 2302 2303 strcpy( nmstr, yytext + 1 ); 2304 nmstr[yyleng - 2] = '\0'; /* chop trailing brace */ 2305 2306 if ( (nmdefptr = ndlookup( nmstr )) == 0 ) 2307 format_synerr( 2308 _( "undefined definition {%s}" ), 2309 nmstr ); 2310 2311 else 2312 { /* push back name surrounded by ()'s */ 2313 int len = strlen( (char *) nmdefptr ); 2314 2315 if ( lex_compat || nmdefptr[0] == '^' || 2316 (len > 0 && nmdefptr[len - 1] == '$') ) 2317 { /* don't use ()'s after all */ 2318 PUT_BACK_STRING((char *) nmdefptr, 0); 2319 2320 if ( nmdefptr[0] == '^' ) 2321 BEGIN(CARETISBOL); 2322 } 2323 2324 else 2325 { 2326 unput(')'); 2327 PUT_BACK_STRING((char *) nmdefptr, 0); 2328 unput('('); 2329 } 2330 } 2331 } 2332 YY_BREAK 2333 case 107: 2334 YY_RULE_SETUP 2335 #line 469 "scan.l" 2336 return (unsigned char) yytext[0]; 2337 YY_BREAK 2338 case 108: 2339 YY_RULE_SETUP 2340 #line 470 "scan.l" 2341 RETURNCHAR; 2342 YY_BREAK 2343 2344 2345 case 109: 2346 YY_RULE_SETUP 2347 #line 475 "scan.l" 2348 return (unsigned char) yytext[0]; 2349 YY_BREAK 2350 case 110: 2351 YY_RULE_SETUP 2352 #line 476 "scan.l" 2353 BEGIN(SECT2); return '>'; 2354 YY_BREAK 2355 case 111: 2356 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2357 yy_c_buf_p = yy_cp = yy_bp + 1; 2358 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2359 YY_RULE_SETUP 2360 #line 477 "scan.l" 2361 BEGIN(CARETISBOL); return '>'; 2362 YY_BREAK 2363 case 112: 2364 YY_RULE_SETUP 2365 #line 478 "scan.l" 2366 RETURNNAME; 2367 YY_BREAK 2368 case 113: 2369 YY_RULE_SETUP 2370 #line 479 "scan.l" 2371 { 2372 format_synerr( _( "bad <start condition>: %s" ), 2373 yytext ); 2374 } 2375 YY_BREAK 2376 2377 case 114: 2378 YY_RULE_SETUP 2379 #line 485 "scan.l" 2380 BEGIN(SECT2); return '^'; 2381 YY_BREAK 2382 2383 case 115: 2384 YY_RULE_SETUP 2385 #line 489 "scan.l" 2386 RETURNCHAR; 2387 YY_BREAK 2388 case 116: 2389 YY_RULE_SETUP 2390 #line 490 "scan.l" 2391 BEGIN(SECT2); return '"'; 2392 YY_BREAK 2393 case 117: 2394 YY_RULE_SETUP 2395 #line 492 "scan.l" 2396 { 2397 synerr( _( "missing quote" ) ); 2398 BEGIN(SECT2); 2399 ++linenum; 2400 return '"'; 2401 } 2402 YY_BREAK 2403 2404 2405 case 118: 2406 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2407 yy_c_buf_p = yy_cp = yy_bp + 1; 2408 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2409 YY_RULE_SETUP 2410 #line 502 "scan.l" 2411 BEGIN(CCL); return '^'; 2412 YY_BREAK 2413 case 119: 2414 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2415 yy_c_buf_p = yy_cp = yy_bp + 1; 2416 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2417 YY_RULE_SETUP 2418 #line 503 "scan.l" 2419 return '^'; 2420 YY_BREAK 2421 case 120: 2422 YY_RULE_SETUP 2423 #line 504 "scan.l" 2424 BEGIN(CCL); RETURNCHAR; 2425 YY_BREAK 2426 2427 2428 case 121: 2429 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 2430 yy_c_buf_p = yy_cp = yy_bp + 1; 2431 YY_DO_BEFORE_ACTION; /* set up yytext again */ 2432 YY_RULE_SETUP 2433 #line 508 "scan.l" 2434 return '-'; 2435 YY_BREAK 2436 case 122: 2437 YY_RULE_SETUP 2438 #line 509 "scan.l" 2439 RETURNCHAR; 2440 YY_BREAK 2441 case 123: 2442 YY_RULE_SETUP 2443 #line 510 "scan.l" 2444 BEGIN(SECT2); return ']'; 2445 YY_BREAK 2446 case 124: 2447 YY_RULE_SETUP 2448 #line 511 "scan.l" 2449 { 2450 synerr( _( "bad character class" ) ); 2451 BEGIN(SECT2); 2452 return ']'; 2453 } 2454 YY_BREAK 2455 2456 2457 case 125: 2458 YY_RULE_SETUP 2459 #line 519 "scan.l" 2460 BEGIN(CCL); return CCE_ALNUM; 2461 YY_BREAK 2462 case 126: 2463 YY_RULE_SETUP 2464 #line 520 "scan.l" 2465 BEGIN(CCL); return CCE_ALPHA; 2466 YY_BREAK 2467 case 127: 2468 YY_RULE_SETUP 2469 #line 521 "scan.l" 2470 BEGIN(CCL); return CCE_BLANK; 2471 YY_BREAK 2472 case 128: 2473 YY_RULE_SETUP 2474 #line 522 "scan.l" 2475 BEGIN(CCL); return CCE_CNTRL; 2476 YY_BREAK 2477 case 129: 2478 YY_RULE_SETUP 2479 #line 523 "scan.l" 2480 BEGIN(CCL); return CCE_DIGIT; 2481 YY_BREAK 2482 case 130: 2483 YY_RULE_SETUP 2484 #line 524 "scan.l" 2485 BEGIN(CCL); return CCE_GRAPH; 2486 YY_BREAK 2487 case 131: 2488 YY_RULE_SETUP 2489 #line 525 "scan.l" 2490 BEGIN(CCL); return CCE_LOWER; 2491 YY_BREAK 2492 case 132: 2493 YY_RULE_SETUP 2494 #line 526 "scan.l" 2495 BEGIN(CCL); return CCE_PRINT; 2496 YY_BREAK 2497 case 133: 2498 YY_RULE_SETUP 2499 #line 527 "scan.l" 2500 BEGIN(CCL); return CCE_PUNCT; 2501 YY_BREAK 2502 case 134: 2503 YY_RULE_SETUP 2504 #line 528 "scan.l" 2505 BEGIN(CCL); return CCE_SPACE; 2506 YY_BREAK 2507 case 135: 2508 YY_RULE_SETUP 2509 #line 529 "scan.l" 2510 BEGIN(CCL); return CCE_UPPER; 2511 YY_BREAK 2512 case 136: 2513 YY_RULE_SETUP 2514 #line 530 "scan.l" 2515 BEGIN(CCL); return CCE_XDIGIT; 2516 YY_BREAK 2517 case 137: 2518 YY_RULE_SETUP 2519 #line 531 "scan.l" 2520 { 2521 format_synerr( 2522 _( "bad character class expression: %s" ), 2523 yytext ); 2524 BEGIN(CCL); return CCE_ALNUM; 2525 } 2526 YY_BREAK 2527 2528 2529 case 138: 2530 YY_RULE_SETUP 2531 #line 540 "scan.l" 2532 { 2533 yylval = myctoi( yytext ); 2534 return NUMBER; 2535 } 2536 YY_BREAK 2537 case 139: 2538 YY_RULE_SETUP 2539 #line 545 "scan.l" 2540 return ','; 2541 YY_BREAK 2542 case 140: 2543 YY_RULE_SETUP 2544 #line 546 "scan.l" 2545 BEGIN(SECT2); return '}'; 2546 YY_BREAK 2547 case 141: 2548 YY_RULE_SETUP 2549 #line 548 "scan.l" 2550 { 2551 synerr( _( "bad character inside {}'s" ) ); 2552 BEGIN(SECT2); 2553 return '}'; 2554 } 2555 YY_BREAK 2556 case 142: 2557 YY_RULE_SETUP 2558 #line 554 "scan.l" 2559 { 2560 synerr( _( "missing }" ) ); 2561 BEGIN(SECT2); 2562 ++linenum; 2563 return '}'; 2564 } 2565 YY_BREAK 2566 2567 2568 case 143: 2569 YY_RULE_SETUP 2570 #line 564 "scan.l" 2571 bracelevel = 0; 2572 YY_BREAK 2573 case 144: 2574 YY_RULE_SETUP 2575 #line 566 "scan.l" 2576 ACTION_ECHO; yy_push_state( COMMENT ); 2577 YY_BREAK 2578 2579 case 145: 2580 YY_RULE_SETUP 2581 #line 569 "scan.l" 2582 { 2583 ACTION_ECHO; 2584 CHECK_REJECT(yytext); 2585 } 2586 YY_BREAK 2587 case 146: 2588 YY_RULE_SETUP 2589 #line 573 "scan.l" 2590 { 2591 ACTION_ECHO; 2592 CHECK_YYMORE(yytext); 2593 } 2594 YY_BREAK 2595 2596 case 147: 2597 YY_RULE_SETUP 2598 #line 579 "scan.l" 2599 ACTION_ECHO; 2600 YY_BREAK 2601 case 148: 2602 YY_RULE_SETUP 2603 #line 580 "scan.l" 2604 { 2605 ++linenum; 2606 ACTION_ECHO; 2607 if ( bracelevel == 0 || 2608 (doing_codeblock && indented_code) ) 2609 { 2610 if ( doing_rule_action ) 2611 add_action( "\tYY_BREAK\n" ); 2612 2613 doing_rule_action = doing_codeblock = false; 2614 BEGIN(SECT2); 2615 } 2616 } 2617 YY_BREAK 2618 2619 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */ 2620 2621 case 149: 2622 YY_RULE_SETUP 2623 #line 598 "scan.l" 2624 ACTION_ECHO; ++bracelevel; 2625 YY_BREAK 2626 case 150: 2627 YY_RULE_SETUP 2628 #line 599 "scan.l" 2629 ACTION_ECHO; --bracelevel; 2630 YY_BREAK 2631 case 151: 2632 YY_RULE_SETUP 2633 #line 600 "scan.l" 2634 ACTION_ECHO; 2635 YY_BREAK 2636 case 152: 2637 YY_RULE_SETUP 2638 #line 601 "scan.l" 2639 ACTION_ECHO; 2640 YY_BREAK 2641 case 153: 2642 YY_RULE_SETUP 2643 #line 602 "scan.l" 2644 ACTION_ECHO; /* character constant */ 2645 YY_BREAK 2646 case 154: 2647 YY_RULE_SETUP 2648 #line 603 "scan.l" 2649 ACTION_ECHO; BEGIN(ACTION_STRING); 2650 YY_BREAK 2651 case 155: 2652 YY_RULE_SETUP 2653 #line 604 "scan.l" 2654 { 2655 ++linenum; 2656 ACTION_ECHO; 2657 if ( bracelevel == 0 ) 2658 { 2659 if ( doing_rule_action ) 2660 add_action( "\tYY_BREAK\n" ); 2661 2662 doing_rule_action = false; 2663 BEGIN(SECT2); 2664 } 2665 } 2666 YY_BREAK 2667 case 156: 2668 YY_RULE_SETUP 2669 #line 616 "scan.l" 2670 ACTION_ECHO; 2671 YY_BREAK 2672 2673 2674 case 157: 2675 YY_RULE_SETUP 2676 #line 620 "scan.l" 2677 ACTION_ECHO; 2678 YY_BREAK 2679 case 158: 2680 YY_RULE_SETUP 2681 #line 621 "scan.l" 2682 ACTION_ECHO; 2683 YY_BREAK 2684 case 159: 2685 YY_RULE_SETUP 2686 #line 622 "scan.l" 2687 ++linenum; ACTION_ECHO; 2688 YY_BREAK 2689 case 160: 2690 YY_RULE_SETUP 2691 #line 623 "scan.l" 2692 ACTION_ECHO; BEGIN(ACTION); 2693 YY_BREAK 2694 case 161: 2695 YY_RULE_SETUP 2696 #line 624 "scan.l" 2697 ACTION_ECHO; 2698 YY_BREAK 2699 2700 case YY_STATE_EOF(COMMENT): 2701 case YY_STATE_EOF(ACTION): 2702 case YY_STATE_EOF(ACTION_STRING): 2703 #line 627 "scan.l" 2704 { 2705 synerr( _( "EOF encountered inside an action" ) ); 2706 yyterminate(); 2707 } 2708 YY_BREAK 2709 case 162: 2710 YY_RULE_SETUP 2711 #line 633 "scan.l" 2712 { 2713 yylval = myesc( (Char *) yytext ); 2714 2715 if ( YY_START == FIRSTCCL ) 2716 BEGIN(CCL); 2717 2718 return CHAR; 2719 } 2720 YY_BREAK 2721 2722 case 163: 2723 YY_RULE_SETUP 2724 #line 644 "scan.l" 2725 ECHO; 2726 YY_BREAK 2727 case YY_STATE_EOF(SECT3): 2728 #line 645 "scan.l" 2729 sectnum = 0; yyterminate(); 2730 YY_BREAK 2731 2732 case 164: 2733 YY_RULE_SETUP 2734 #line 648 "scan.l" 2735 format_synerr( _( "bad character: %s" ), yytext ); 2736 YY_BREAK 2737 case 165: 2738 YY_RULE_SETUP 2739 #line 650 "scan.l" 2740 YY_FATAL_ERROR( "flex scanner jammed" ); 2741 YY_BREAK 2742 #line 2736 "scan.c" 2743 case YY_STATE_EOF(INITIAL): 2744 case YY_STATE_EOF(SECT2): 2745 case YY_STATE_EOF(CODEBLOCK): 2746 case YY_STATE_EOF(PICKUPDEF): 2747 case YY_STATE_EOF(SC): 2748 case YY_STATE_EOF(CARETISBOL): 2749 case YY_STATE_EOF(NUM): 2750 case YY_STATE_EOF(QUOTE): 2751 case YY_STATE_EOF(FIRSTCCL): 2752 case YY_STATE_EOF(CCL): 2753 case YY_STATE_EOF(RECOVER): 2754 case YY_STATE_EOF(PERCENT_BRACE_ACTION): 2755 case YY_STATE_EOF(OPTION): 2756 case YY_STATE_EOF(LINEDIR): 2757 yyterminate(); 2758 2759 case YY_END_OF_BUFFER: 2760 { 2761 /* Amount of text matched not including the EOB char. */ 2762 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; 2763 2764 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 2765 *yy_cp = yy_hold_char; 2766 YY_RESTORE_YY_MORE_OFFSET 2767 2768 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) 2769 { 2770 /* We're scanning a new file or input source. It's 2771 * possible that this happened because the user 2772 * just pointed yyin at a new source and called 2773 * yylex(). If so, then we have to assure 2774 * consistency between yy_current_buffer and our 2775 * globals. Here is the right place to do so, because 2776 * this is the first action (other than possibly a 2777 * back-up) that will match for the new input source. 2778 */ 2779 yy_n_chars = yy_current_buffer->yy_n_chars; 2780 yy_current_buffer->yy_input_file = yyin; 2781 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; 2782 } 2783 2784 /* Note that here we test for yy_c_buf_p "<=" to the position 2785 * of the first EOB in the buffer, since yy_c_buf_p will 2786 * already have been incremented past the NUL character 2787 * (since all states make transitions on EOB to the 2788 * end-of-buffer state). Contrast this with the test 2789 * in input(). 2790 */ 2791 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 2792 { /* This was really a NUL. */ 2793 yy_state_type yy_next_state; 2794 2795 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; 2796 2797 yy_current_state = yy_get_previous_state(); 2798 2799 /* Okay, we're now positioned to make the NUL 2800 * transition. We couldn't have 2801 * yy_get_previous_state() go ahead and do it 2802 * for us because it doesn't know how to deal 2803 * with the possibility of jamming (and we don't 2804 * want to build jamming into it because then it 2805 * will run more slowly). 2806 */ 2807 2808 yy_next_state = yy_try_NUL_trans( yy_current_state ); 2809 2810 yy_bp = yytext_ptr + YY_MORE_ADJ; 2811 2812 if ( yy_next_state ) 2813 { 2814 /* Consume the NUL. */ 2815 yy_cp = ++yy_c_buf_p; 2816 yy_current_state = yy_next_state; 2817 goto yy_match; 2818 } 2819 2820 else 2821 { 2822 yy_cp = yy_c_buf_p; 2823 goto yy_find_action; 2824 } 2825 } 2826 2827 else switch ( yy_get_next_buffer() ) 2828 { 2829 case EOB_ACT_END_OF_FILE: 2830 { 2831 yy_did_buffer_switch_on_eof = 0; 2832 2833 if ( yywrap() ) 2834 { 2835 /* Note: because we've taken care in 2836 * yy_get_next_buffer() to have set up 2837 * yytext, we can now set up 2838 * yy_c_buf_p so that if some total 2839 * hoser (like flex itself) wants to 2840 * call the scanner after we return the 2841 * YY_NULL, it'll still work - another 2842 * YY_NULL will get returned. 2843 */ 2844 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; 2845 2846 yy_act = YY_STATE_EOF(YY_START); 2847 goto do_action; 2848 } 2849 2850 else 2851 { 2852 if ( ! yy_did_buffer_switch_on_eof ) 2853 YY_NEW_FILE; 2854 } 2855 break; 2856 } 2857 2858 case EOB_ACT_CONTINUE_SCAN: 2859 yy_c_buf_p = 2860 yytext_ptr + yy_amount_of_matched_text; 2861 2862 yy_current_state = yy_get_previous_state(); 2863 2864 yy_cp = yy_c_buf_p; 2865 yy_bp = yytext_ptr + YY_MORE_ADJ; 2866 goto yy_match; 2867 2868 case EOB_ACT_LAST_MATCH: 2869 yy_c_buf_p = 2870 &yy_current_buffer->yy_ch_buf[yy_n_chars]; 2871 2872 yy_current_state = yy_get_previous_state(); 2873 2874 yy_cp = yy_c_buf_p; 2875 yy_bp = yytext_ptr + YY_MORE_ADJ; 2876 goto yy_find_action; 2877 } 2878 break; 2879 } 2880 2881 default: 2882 YY_FATAL_ERROR( 2883 "fatal flex scanner internal error--no action found" ); 2884 } /* end of action switch */ 2885 } /* end of scanning one token */ 2886 } /* end of yylex */ 2887 2888 2889 /* yy_get_next_buffer - try to read in a new buffer 2890 * 2891 * Returns a code representing an action: 2892 * EOB_ACT_LAST_MATCH - 2893 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 2894 * EOB_ACT_END_OF_FILE - end of file 2895 */ 2896 2897 static int yy_get_next_buffer() 2898 { 2899 char *dest = yy_current_buffer->yy_ch_buf; 2900 char *source = yytext_ptr; 2901 int number_to_move, i; 2902 int ret_val; 2903 2904 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) 2905 YY_FATAL_ERROR( 2906 "fatal flex scanner internal error--end of buffer missed" ); 2907 2908 if ( yy_current_buffer->yy_fill_buffer == 0 ) 2909 { /* Don't try to fill the buffer, so this is an EOF. */ 2910 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) 2911 { 2912 /* We matched a single character, the EOB, so 2913 * treat this as a final EOF. 2914 */ 2915 return EOB_ACT_END_OF_FILE; 2916 } 2917 2918 else 2919 { 2920 /* We matched some text prior to the EOB, first 2921 * process it. 2922 */ 2923 return EOB_ACT_LAST_MATCH; 2924 } 2925 } 2926 2927 /* Try to read more data. */ 2928 2929 /* First move last chars to start of buffer. */ 2930 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; 2931 2932 for ( i = 0; i < number_to_move; ++i ) 2933 *(dest++) = *(source++); 2934 2935 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 2936 /* don't do the read, it's not guaranteed to return an EOF, 2937 * just force an EOF 2938 */ 2939 yy_current_buffer->yy_n_chars = yy_n_chars = 0; 2940 2941 else 2942 { 2943 int num_to_read = 2944 yy_current_buffer->yy_buf_size - number_to_move - 1; 2945 2946 while ( num_to_read <= 0 ) 2947 { /* Not enough room in the buffer - grow it. */ 2948 #ifdef YY_USES_REJECT 2949 YY_FATAL_ERROR( 2950 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 2951 #else 2952 2953 /* just a shorter name for the current buffer */ 2954 YY_BUFFER_STATE b = yy_current_buffer; 2955 2956 int yy_c_buf_p_offset = 2957 (int) (yy_c_buf_p - b->yy_ch_buf); 2958 2959 if ( b->yy_is_our_buffer ) 2960 { 2961 int new_size = b->yy_buf_size * 2; 2962 2963 if ( new_size <= 0 ) 2964 b->yy_buf_size += b->yy_buf_size / 8; 2965 else 2966 b->yy_buf_size *= 2; 2967 2968 b->yy_ch_buf = (char *) 2969 /* Include room in for 2 EOB chars. */ 2970 yy_flex_realloc( (void *) b->yy_ch_buf, 2971 b->yy_buf_size + 2 ); 2972 } 2973 else 2974 /* Can't grow it, we don't own it. */ 2975 b->yy_ch_buf = 0; 2976 2977 if ( ! b->yy_ch_buf ) 2978 YY_FATAL_ERROR( 2979 "fatal error - scanner input buffer overflow" ); 2980 2981 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 2982 2983 num_to_read = yy_current_buffer->yy_buf_size - 2984 number_to_move - 1; 2985 #endif 2986 } 2987 2988 if ( num_to_read > YY_READ_BUF_SIZE ) 2989 num_to_read = YY_READ_BUF_SIZE; 2990 2991 /* Read in more data. */ 2992 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), 2993 yy_n_chars, num_to_read ); 2994 2995 yy_current_buffer->yy_n_chars = yy_n_chars; 2996 } 2997 2998 if ( yy_n_chars == 0 ) 2999 { 3000 if ( number_to_move == YY_MORE_ADJ ) 3001 { 3002 ret_val = EOB_ACT_END_OF_FILE; 3003 yyrestart( yyin ); 3004 } 3005 3006 else 3007 { 3008 ret_val = EOB_ACT_LAST_MATCH; 3009 yy_current_buffer->yy_buffer_status = 3010 YY_BUFFER_EOF_PENDING; 3011 } 3012 } 3013 3014 else 3015 ret_val = EOB_ACT_CONTINUE_SCAN; 3016 3017 yy_n_chars += number_to_move; 3018 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; 3019 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 3020 3021 yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; 3022 3023 return ret_val; 3024 } 3025 3026 3027 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3028 3029 static yy_state_type yy_get_previous_state() 3030 { 3031 yy_state_type yy_current_state; 3032 char *yy_cp; 3033 3034 yy_current_state = yy_start; 3035 yy_current_state += YY_AT_BOL(); 3036 3037 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) 3038 { 3039 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3040 if ( yy_accept[yy_current_state] ) 3041 { 3042 yy_last_accepting_state = yy_current_state; 3043 yy_last_accepting_cpos = yy_cp; 3044 } 3045 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3046 { 3047 yy_current_state = (int) yy_def[yy_current_state]; 3048 if ( yy_current_state >= 769 ) 3049 yy_c = yy_meta[(unsigned int) yy_c]; 3050 } 3051 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3052 } 3053 3054 return yy_current_state; 3055 } 3056 3057 3058 /* yy_try_NUL_trans - try to make a transition on the NUL character 3059 * 3060 * synopsis 3061 * next_state = yy_try_NUL_trans( current_state ); 3062 */ 3063 3064 #ifdef YY_USE_PROTOS 3065 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) 3066 #else 3067 static yy_state_type yy_try_NUL_trans( yy_current_state ) 3068 yy_state_type yy_current_state; 3069 #endif 3070 { 3071 int yy_is_jam; 3072 char *yy_cp = yy_c_buf_p; 3073 3074 YY_CHAR yy_c = 1; 3075 if ( yy_accept[yy_current_state] ) 3076 { 3077 yy_last_accepting_state = yy_current_state; 3078 yy_last_accepting_cpos = yy_cp; 3079 } 3080 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3081 { 3082 yy_current_state = (int) yy_def[yy_current_state]; 3083 if ( yy_current_state >= 769 ) 3084 yy_c = yy_meta[(unsigned int) yy_c]; 3085 } 3086 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3087 yy_is_jam = (yy_current_state == 768); 3088 3089 return yy_is_jam ? 0 : yy_current_state; 3090 } 3091 3092 3093 #ifndef YY_NO_UNPUT 3094 #ifdef YY_USE_PROTOS 3095 static void yyunput( int c, char *yy_bp ) 3096 #else 3097 static void yyunput( c, yy_bp ) 3098 int c; 3099 char *yy_bp; 3100 #endif 3101 { 3102 char *yy_cp = yy_c_buf_p; 3103 3104 /* undo effects of setting up yytext */ 3105 *yy_cp = yy_hold_char; 3106 3107 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 3108 { /* need to shift things up to make room */ 3109 /* +2 for EOB chars. */ 3110 int number_to_move = yy_n_chars + 2; 3111 char *dest = &yy_current_buffer->yy_ch_buf[ 3112 yy_current_buffer->yy_buf_size + 2]; 3113 char *source = 3114 &yy_current_buffer->yy_ch_buf[number_to_move]; 3115 3116 while ( source > yy_current_buffer->yy_ch_buf ) 3117 *--dest = *--source; 3118 3119 yy_cp += (int) (dest - source); 3120 yy_bp += (int) (dest - source); 3121 yy_current_buffer->yy_n_chars = 3122 yy_n_chars = yy_current_buffer->yy_buf_size; 3123 3124 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 3125 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 3126 } 3127 3128 *--yy_cp = (char) c; 3129 3130 3131 yytext_ptr = yy_bp; 3132 yy_hold_char = *yy_cp; 3133 yy_c_buf_p = yy_cp; 3134 } 3135 #endif /* ifndef YY_NO_UNPUT */ 3136 3137 3138 #ifdef __cplusplus 3139 static int yyinput() 3140 #else 3141 static int input() 3142 #endif 3143 { 3144 int c; 3145 3146 *yy_c_buf_p = yy_hold_char; 3147 3148 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 3149 { 3150 /* yy_c_buf_p now points to the character we want to return. 3151 * If this occurs *before* the EOB characters, then it's a 3152 * valid NUL; if not, then we've hit the end of the buffer. 3153 */ 3154 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 3155 /* This was really a NUL. */ 3156 *yy_c_buf_p = '\0'; 3157 3158 else 3159 { /* need more input */ 3160 int offset = yy_c_buf_p - yytext_ptr; 3161 ++yy_c_buf_p; 3162 3163 switch ( yy_get_next_buffer() ) 3164 { 3165 case EOB_ACT_LAST_MATCH: 3166 /* This happens because yy_g_n_b() 3167 * sees that we've accumulated a 3168 * token and flags that we need to 3169 * try matching the token before 3170 * proceeding. But for input(), 3171 * there's no matching to consider. 3172 * So convert the EOB_ACT_LAST_MATCH 3173 * to EOB_ACT_END_OF_FILE. 3174 */ 3175 3176 /* Reset buffer status. */ 3177 yyrestart( yyin ); 3178 3179 /* FALLTHROUGH */ 3180 3181 case EOB_ACT_END_OF_FILE: 3182 { 3183 if ( yywrap() ) 3184 return EOF; 3185 3186 if ( ! yy_did_buffer_switch_on_eof ) 3187 YY_NEW_FILE; 3188 #ifdef __cplusplus 3189 return yyinput(); 3190 #else 3191 return input(); 3192 #endif 3193 } 3194 3195 case EOB_ACT_CONTINUE_SCAN: 3196 yy_c_buf_p = yytext_ptr + offset; 3197 break; 3198 } 3199 } 3200 } 3201 3202 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ 3203 *yy_c_buf_p = '\0'; /* preserve yytext */ 3204 yy_hold_char = *++yy_c_buf_p; 3205 3206 yy_current_buffer->yy_at_bol = (c == '\n'); 3207 3208 return c; 3209 } 3210 3211 3212 #ifdef YY_USE_PROTOS 3213 void yyrestart( FILE *input_file ) 3214 #else 3215 void yyrestart( input_file ) 3216 FILE *input_file; 3217 #endif 3218 { 3219 if ( ! yy_current_buffer ) 3220 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 3221 3222 yy_init_buffer( yy_current_buffer, input_file ); 3223 yy_load_buffer_state(); 3224 } 3225 3226 3227 #ifdef YY_USE_PROTOS 3228 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 3229 #else 3230 void yy_switch_to_buffer( new_buffer ) 3231 YY_BUFFER_STATE new_buffer; 3232 #endif 3233 { 3234 if ( yy_current_buffer == new_buffer ) 3235 return; 3236 3237 if ( yy_current_buffer ) 3238 { 3239 /* Flush out information for old buffer. */ 3240 *yy_c_buf_p = yy_hold_char; 3241 yy_current_buffer->yy_buf_pos = yy_c_buf_p; 3242 yy_current_buffer->yy_n_chars = yy_n_chars; 3243 } 3244 3245 yy_current_buffer = new_buffer; 3246 yy_load_buffer_state(); 3247 3248 /* We don't actually know whether we did this switch during 3249 * EOF (yywrap()) processing, but the only time this flag 3250 * is looked at is after yywrap() is called, so it's safe 3251 * to go ahead and always set it. 3252 */ 3253 yy_did_buffer_switch_on_eof = 1; 3254 } 3255 3256 3257 #ifdef YY_USE_PROTOS 3258 void yy_load_buffer_state( void ) 3259 #else 3260 void yy_load_buffer_state() 3261 #endif 3262 { 3263 yy_n_chars = yy_current_buffer->yy_n_chars; 3264 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; 3265 yyin = yy_current_buffer->yy_input_file; 3266 yy_hold_char = *yy_c_buf_p; 3267 } 3268 3269 3270 #ifdef YY_USE_PROTOS 3271 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) 3272 #else 3273 YY_BUFFER_STATE yy_create_buffer( file, size ) 3274 FILE *file; 3275 int size; 3276 #endif 3277 { 3278 YY_BUFFER_STATE b; 3279 3280 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 3281 if ( ! b ) 3282 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3283 3284 b->yy_buf_size = size; 3285 3286 /* yy_ch_buf has to be 2 characters longer than the size given because 3287 * we need to put in 2 end-of-buffer characters. 3288 */ 3289 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); 3290 if ( ! b->yy_ch_buf ) 3291 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 3292 3293 b->yy_is_our_buffer = 1; 3294 3295 yy_init_buffer( b, file ); 3296 3297 return b; 3298 } 3299 3300 3301 #ifdef YY_USE_PROTOS 3302 void yy_delete_buffer( YY_BUFFER_STATE b ) 3303 #else 3304 void yy_delete_buffer( b ) 3305 YY_BUFFER_STATE b; 3306 #endif 3307 { 3308 if ( ! b ) 3309 return; 3310 3311 if ( b == yy_current_buffer ) 3312 yy_current_buffer = (YY_BUFFER_STATE) 0; 3313 3314 if ( b->yy_is_our_buffer ) 3315 yy_flex_free( (void *) b->yy_ch_buf ); 3316 3317 yy_flex_free( (void *) b ); 3318 } 3319 3320 3321 #ifndef YY_ALWAYS_INTERACTIVE 3322 #ifndef YY_NEVER_INTERACTIVE 3323 extern int isatty YY_PROTO(( int )); 3324 #endif 3325 #endif 3326 3327 #ifdef YY_USE_PROTOS 3328 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) 3329 #else 3330 void yy_init_buffer( b, file ) 3331 YY_BUFFER_STATE b; 3332 FILE *file; 3333 #endif 3334 3335 3336 { 3337 yy_flush_buffer( b ); 3338 3339 b->yy_input_file = file; 3340 b->yy_fill_buffer = 1; 3341 3342 #if YY_ALWAYS_INTERACTIVE 3343 b->yy_is_interactive = 1; 3344 #else 3345 #if YY_NEVER_INTERACTIVE 3346 b->yy_is_interactive = 0; 3347 #else 3348 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 3349 #endif 3350 #endif 3351 } 3352 3353 3354 #ifdef YY_USE_PROTOS 3355 void yy_flush_buffer( YY_BUFFER_STATE b ) 3356 #else 3357 void yy_flush_buffer( b ) 3358 YY_BUFFER_STATE b; 3359 #endif 3360 3361 { 3362 if ( ! b ) 3363 return; 3364 3365 b->yy_n_chars = 0; 3366 3367 /* We always need two end-of-buffer characters. The first causes 3368 * a transition to the end-of-buffer state. The second causes 3369 * a jam in that state. 3370 */ 3371 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 3372 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 3373 3374 b->yy_buf_pos = &b->yy_ch_buf[0]; 3375 3376 b->yy_at_bol = 1; 3377 b->yy_buffer_status = YY_BUFFER_NEW; 3378 3379 if ( b == yy_current_buffer ) 3380 yy_load_buffer_state(); 3381 } 3382 3383 3384 #ifndef YY_NO_SCAN_BUFFER 3385 #ifdef YY_USE_PROTOS 3386 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) 3387 #else 3388 YY_BUFFER_STATE yy_scan_buffer( base, size ) 3389 char *base; 3390 yy_size_t size; 3391 #endif 3392 { 3393 YY_BUFFER_STATE b; 3394 3395 if ( size < 2 || 3396 base[size-2] != YY_END_OF_BUFFER_CHAR || 3397 base[size-1] != YY_END_OF_BUFFER_CHAR ) 3398 /* They forgot to leave room for the EOB's. */ 3399 return 0; 3400 3401 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 3402 if ( ! b ) 3403 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 3404 3405 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 3406 b->yy_buf_pos = b->yy_ch_buf = base; 3407 b->yy_is_our_buffer = 0; 3408 b->yy_input_file = 0; 3409 b->yy_n_chars = b->yy_buf_size; 3410 b->yy_is_interactive = 0; 3411 b->yy_at_bol = 1; 3412 b->yy_fill_buffer = 0; 3413 b->yy_buffer_status = YY_BUFFER_NEW; 3414 3415 yy_switch_to_buffer( b ); 3416 3417 return b; 3418 } 3419 #endif 3420 3421 3422 #ifndef YY_NO_SCAN_STRING 3423 #ifdef YY_USE_PROTOS 3424 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) 3425 #else 3426 YY_BUFFER_STATE yy_scan_string( yy_str ) 3427 yyconst char *yy_str; 3428 #endif 3429 { 3430 int len; 3431 for ( len = 0; yy_str[len]; ++len ) 3432 ; 3433 3434 return yy_scan_bytes( yy_str, len ); 3435 } 3436 #endif 3437 3438 3439 #ifndef YY_NO_SCAN_BYTES 3440 #ifdef YY_USE_PROTOS 3441 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) 3442 #else 3443 YY_BUFFER_STATE yy_scan_bytes( bytes, len ) 3444 yyconst char *bytes; 3445 int len; 3446 #endif 3447 { 3448 YY_BUFFER_STATE b; 3449 char *buf; 3450 yy_size_t n; 3451 int i; 3452 3453 /* Get memory for full buffer, including space for trailing EOB's. */ 3454 n = len + 2; 3455 buf = (char *) yy_flex_alloc( n ); 3456 if ( ! buf ) 3457 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 3458 3459 for ( i = 0; i < len; ++i ) 3460 buf[i] = bytes[i]; 3461 3462 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 3463 3464 b = yy_scan_buffer( buf, n ); 3465 if ( ! b ) 3466 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 3467 3468 /* It's okay to grow etc. this buffer, and we should throw it 3469 * away when we're done. 3470 */ 3471 b->yy_is_our_buffer = 1; 3472 3473 return b; 3474 } 3475 #endif 3476 3477 3478 #ifndef YY_NO_PUSH_STATE 3479 #ifdef YY_USE_PROTOS 3480 static void yy_push_state( int new_state ) 3481 #else 3482 static void yy_push_state( new_state ) 3483 int new_state; 3484 #endif 3485 { 3486 if ( yy_start_stack_ptr >= yy_start_stack_depth ) 3487 { 3488 yy_size_t new_size; 3489 3490 yy_start_stack_depth += YY_START_STACK_INCR; 3491 new_size = yy_start_stack_depth * sizeof( int ); 3492 3493 if ( ! yy_start_stack ) 3494 yy_start_stack = (int *) yy_flex_alloc( new_size ); 3495 3496 else 3497 yy_start_stack = (int *) yy_flex_realloc( 3498 (void *) yy_start_stack, new_size ); 3499 3500 if ( ! yy_start_stack ) 3501 YY_FATAL_ERROR( 3502 "out of memory expanding start-condition stack" ); 3503 } 3504 3505 yy_start_stack[yy_start_stack_ptr++] = YY_START; 3506 3507 BEGIN(new_state); 3508 } 3509 #endif 3510 3511 3512 #ifndef YY_NO_POP_STATE 3513 static void yy_pop_state() 3514 { 3515 if ( --yy_start_stack_ptr < 0 ) 3516 YY_FATAL_ERROR( "start-condition stack underflow" ); 3517 3518 BEGIN(yy_start_stack[yy_start_stack_ptr]); 3519 } 3520 #endif 3521 3522 3523 #ifndef YY_NO_TOP_STATE 3524 static int yy_top_state() 3525 { 3526 return yy_start_stack[yy_start_stack_ptr - 1]; 3527 } 3528 #endif 3529 3530 #ifndef YY_EXIT_FAILURE 3531 #define YY_EXIT_FAILURE 2 3532 #endif 3533 3534 #ifdef YY_USE_PROTOS 3535 static void yy_fatal_error( yyconst char msg[] ) 3536 #else 3537 static void yy_fatal_error( msg ) 3538 char msg[]; 3539 #endif 3540 { 3541 (void) fprintf( stderr, "%s\n", msg ); 3542 exit( YY_EXIT_FAILURE ); 3543 } 3544 3545 3546 3547 /* Redefine yyless() so it works in section 3 code. */ 3548 3549 #undef yyless 3550 #define yyless(n) \ 3551 do \ 3552 { \ 3553 /* Undo effects of setting up yytext. */ \ 3554 yytext[yyleng] = yy_hold_char; \ 3555 yy_c_buf_p = yytext + n; \ 3556 yy_hold_char = *yy_c_buf_p; \ 3557 *yy_c_buf_p = '\0'; \ 3558 yyleng = n; \ 3559 } \ 3560 while ( 0 ) 3561 3562 3563 /* Internal utility routines. */ 3564 3565 #ifndef yytext_ptr 3566 #ifdef YY_USE_PROTOS 3567 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) 3568 #else 3569 static void yy_flex_strncpy( s1, s2, n ) 3570 char *s1; 3571 yyconst char *s2; 3572 int n; 3573 #endif 3574 { 3575 int i; 3576 for ( i = 0; i < n; ++i ) 3577 s1[i] = s2[i]; 3578 } 3579 #endif 3580 3581 #ifdef YY_NEED_STRLEN 3582 #ifdef YY_USE_PROTOS 3583 static int yy_flex_strlen( yyconst char *s ) 3584 #else 3585 static int yy_flex_strlen( s ) 3586 yyconst char *s; 3587 #endif 3588 { 3589 int n; 3590 for ( n = 0; s[n]; ++n ) 3591 ; 3592 3593 return n; 3594 } 3595 #endif 3596 3597 3598 #ifdef YY_USE_PROTOS 3599 static void *yy_flex_alloc( yy_size_t size ) 3600 #else 3601 static void *yy_flex_alloc( size ) 3602 yy_size_t size; 3603 #endif 3604 { 3605 return (void *) malloc( size ); 3606 } 3607 3608 #ifdef YY_USE_PROTOS 3609 static void *yy_flex_realloc( void *ptr, yy_size_t size ) 3610 #else 3611 static void *yy_flex_realloc( ptr, size ) 3612 void *ptr; 3613 yy_size_t size; 3614 #endif 3615 { 3616 /* The cast to (char *) in the following accommodates both 3617 * implementations that use char* generic pointers, and those 3618 * that use void* generic pointers. It works with the latter 3619 * because both ANSI C and C++ allow castless assignment from 3620 * any pointer type to void*, and deal with argument conversions 3621 * as though doing an assignment. 3622 */ 3623 return (void *) realloc( (char *) ptr, size ); 3624 } 3625 3626 #ifdef YY_USE_PROTOS 3627 static void yy_flex_free( void *ptr ) 3628 #else 3629 static void yy_flex_free( ptr ) 3630 void *ptr; 3631 #endif 3632 { 3633 free( ptr ); 3634 } 3635 3636 #if YY_MAIN 3637 int main() 3638 { 3639 yylex(); 3640 return 0; 3641 } 3642 #endif 3643 #line 650 "scan.l" 3644 3645 3646 3647 int yywrap() 3648 { 3649 if ( --num_input_files > 0 ) 3650 { 3651 set_input_file( *++input_files ); 3652 return 0; 3653 } 3654 3655 else 3656 return 1; 3657 } 3658 3659 3660 /* set_input_file - open the given file (if NULL, stdin) for scanning */ 3661 3662 void set_input_file( file ) 3663 char *file; 3664 { 3665 if ( file && strcmp( file, "-" ) ) 3666 { 3667 infilename = copy_string( file ); 3668 yyin = fopen( infilename, "r" ); 3669 3670 if ( yyin == NULL ) 3671 lerrsf( _( "can't open %s" ), file ); 3672 } 3673 3674 else 3675 { 3676 yyin = stdin; 3677 infilename = copy_string( "<stdin>" ); 3678 } 3679 3680 linenum = 1; 3681 } 3682 3683 3684 /* Wrapper routines for accessing the scanner's malloc routines. */ 3685 3686 void *flex_alloc( size ) 3687 size_t size; 3688 { 3689 return (void *) malloc( size ); 3690 } 3691 3692 void *flex_realloc( ptr, size ) 3693 void *ptr; 3694 size_t size; 3695 { 3696 return (void *) realloc( ptr, size ); 3697 } 3698 3699 void flex_free( ptr ) 3700 void *ptr; 3701 { 3702 if ( ptr ) 3703 free( ptr ); 3704 } 3705