00001 #line 2 "scanner.cc"
00002
00003 #line 4 "scanner.cc"
00004
00005 #define YY_INT_ALIGNED short int
00006
00007
00008
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 31
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016
00017
00018
00019
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024
00025
00026
00027
00028
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031
00032
00033
00034 #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
00035 #include <inttypes.h>
00036 typedef int8_t flex_int8_t;
00037 typedef uint8_t flex_uint8_t;
00038 typedef int16_t flex_int16_t;
00039 typedef uint16_t flex_uint16_t;
00040 typedef int32_t flex_int32_t;
00041 typedef uint32_t flex_uint32_t;
00042 #else
00043 typedef signed char flex_int8_t;
00044 typedef short int flex_int16_t;
00045 typedef int flex_int32_t;
00046 typedef unsigned char flex_uint8_t;
00047 typedef unsigned short int flex_uint16_t;
00048 typedef unsigned int flex_uint32_t;
00049 #endif
00050
00051
00052 #ifndef INT8_MIN
00053 #define INT8_MIN (-128)
00054 #endif
00055 #ifndef INT16_MIN
00056 #define INT16_MIN (-32767-1)
00057 #endif
00058 #ifndef INT32_MIN
00059 #define INT32_MIN (-2147483647-1)
00060 #endif
00061 #ifndef INT8_MAX
00062 #define INT8_MAX (127)
00063 #endif
00064 #ifndef INT16_MAX
00065 #define INT16_MAX (32767)
00066 #endif
00067 #ifndef INT32_MAX
00068 #define INT32_MAX (2147483647)
00069 #endif
00070 #ifndef UINT8_MAX
00071 #define UINT8_MAX (255U)
00072 #endif
00073 #ifndef UINT16_MAX
00074 #define UINT16_MAX (65535U)
00075 #endif
00076 #ifndef UINT32_MAX
00077 #define UINT32_MAX (4294967295U)
00078 #endif
00079
00080 #endif
00081
00082 #ifdef __cplusplus
00083
00084
00085 #define YY_USE_CONST
00086
00087 #else
00088
00089 #if __STDC__
00090
00091 #define YY_USE_CONST
00092
00093 #endif
00094 #endif
00095
00096 #ifdef YY_USE_CONST
00097 #define yyconst const
00098 #else
00099 #define yyconst
00100 #endif
00101
00102
00103 #define YY_NULL 0
00104
00105
00106
00107
00108
00109
00110 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00111
00112
00113
00114
00115
00116 #define BEGIN (yy_start) = 1 + 2 *
00117
00118
00119
00120
00121
00122 #define YY_START (((yy_start) - 1) / 2)
00123 #define YYSTATE YY_START
00124
00125
00126 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00127
00128
00129 #define YY_NEW_FILE yyrestart(yyin )
00130
00131 #define YY_END_OF_BUFFER_CHAR 0
00132
00133
00134 #ifndef YY_BUF_SIZE
00135 #define YY_BUF_SIZE 16384
00136 #endif
00137
00138 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00139 #define YY_TYPEDEF_YY_BUFFER_STATE
00140 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00141 #endif
00142
00143 extern int yyleng;
00144
00145 extern FILE *yyin, *yyout;
00146
00147 #define EOB_ACT_CONTINUE_SCAN 0
00148 #define EOB_ACT_END_OF_FILE 1
00149 #define EOB_ACT_LAST_MATCH 2
00150
00151 #define YY_LESS_LINENO(n)
00152
00153
00154 #define yyless(n) \
00155 do \
00156 { \
00157 \
00158 int yyless_macro_arg = (n); \
00159 YY_LESS_LINENO(yyless_macro_arg);\
00160 *yy_cp = (yy_hold_char); \
00161 YY_RESTORE_YY_MORE_OFFSET \
00162 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00163 YY_DO_BEFORE_ACTION; \
00164 } \
00165 while ( 0 )
00166
00167 #define unput(c) yyunput( c, (yytext_ptr) )
00168
00169
00170
00171
00172
00173
00174 #ifndef YY_TYPEDEF_YY_SIZE_T
00175 #define YY_TYPEDEF_YY_SIZE_T
00176 typedef unsigned int yy_size_t;
00177 #endif
00178
00179 #ifndef YY_STRUCT_YY_BUFFER_STATE
00180 #define YY_STRUCT_YY_BUFFER_STATE
00181 struct yy_buffer_state
00182 {
00183 FILE *yy_input_file;
00184
00185 char *yy_ch_buf;
00186 char *yy_buf_pos;
00187
00188
00189
00190
00191 yy_size_t yy_buf_size;
00192
00193
00194
00195
00196 int yy_n_chars;
00197
00198
00199
00200
00201
00202 int yy_is_our_buffer;
00203
00204
00205
00206
00207
00208
00209 int yy_is_interactive;
00210
00211
00212
00213
00214
00215 int yy_at_bol;
00216
00217 int yy_bs_lineno;
00218 int yy_bs_column;
00220
00221
00222
00223 int yy_fill_buffer;
00224
00225 int yy_buffer_status;
00226
00227 #define YY_BUFFER_NEW 0
00228 #define YY_BUFFER_NORMAL 1
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239 #define YY_BUFFER_EOF_PENDING 2
00240
00241 };
00242 #endif
00243
00244
00245 static size_t yy_buffer_stack_top = 0;
00246 static size_t yy_buffer_stack_max = 0;
00247 static YY_BUFFER_STATE * yy_buffer_stack = 0;
00249
00250
00251
00252
00253
00254
00255 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00256 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00257 : NULL)
00258
00259
00260
00261
00262 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00263
00264
00265 static char yy_hold_char;
00266 static int yy_n_chars;
00267 int yyleng;
00268
00269
00270 static char *yy_c_buf_p = (char *) 0;
00271 static int yy_init = 1;
00272 static int yy_start = 0;
00273
00274
00275
00276
00277 static int yy_did_buffer_switch_on_eof;
00278
00279 void yyrestart (FILE *input_file );
00280 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
00281 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
00282 void yy_delete_buffer (YY_BUFFER_STATE b );
00283 void yy_flush_buffer (YY_BUFFER_STATE b );
00284 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
00285 void yypop_buffer_state (void );
00286
00287 static void yyensure_buffer_stack (void );
00288 static void yy_load_buffer_state (void );
00289 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
00290
00291 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00292
00293 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
00294 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
00295 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
00296
00297 void *yyalloc (yy_size_t );
00298 void *yyrealloc (void *,yy_size_t );
00299 void yyfree (void * );
00300
00301 #define yy_new_buffer yy_create_buffer
00302
00303 #define yy_set_interactive(is_interactive) \
00304 { \
00305 if ( ! YY_CURRENT_BUFFER ){ \
00306 yyensure_buffer_stack (); \
00307 YY_CURRENT_BUFFER_LVALUE = \
00308 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00309 } \
00310 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00311 }
00312
00313 #define yy_set_bol(at_bol) \
00314 { \
00315 if ( ! YY_CURRENT_BUFFER ){\
00316 yyensure_buffer_stack (); \
00317 YY_CURRENT_BUFFER_LVALUE = \
00318 yy_create_buffer(yyin,YY_BUF_SIZE ); \
00319 } \
00320 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00321 }
00322
00323 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00324
00325
00326
00327 #define yywrap(n) 1
00328 #define YY_SKIP_YYWRAP
00329
00330 typedef unsigned char YY_CHAR;
00331
00332 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00333
00334 typedef int yy_state_type;
00335
00336 extern int yylineno;
00337
00338 int yylineno = 1;
00339
00340 extern char *yytext;
00341 #define yytext_ptr yytext
00342
00343 static yy_state_type yy_get_previous_state (void );
00344 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
00345 static int yy_get_next_buffer (void );
00346 static void yy_fatal_error (yyconst char msg[] );
00347
00348
00349
00350
00351 #define YY_DO_BEFORE_ACTION \
00352 (yytext_ptr) = yy_bp; \
00353 yyleng = (size_t) (yy_cp - yy_bp); \
00354 (yy_hold_char) = *yy_cp; \
00355 *yy_cp = '\0'; \
00356 (yy_c_buf_p) = yy_cp;
00357
00358 #define YY_NUM_RULES 83
00359 #define YY_END_OF_BUFFER 84
00360
00361
00362 struct yy_trans_info
00363 {
00364 flex_int32_t yy_verify;
00365 flex_int32_t yy_nxt;
00366 };
00367 static yyconst flex_int16_t yy_acclist[655] =
00368 { 0,
00369 6, 6, 84, 6, 82, 83, 1, 6, 82, 83,
00370 2, 83, 6, 82, 83, 6, 82, 83, 6, 82,
00371 83, 6, 23, 82, 83, 6, 82, 83, 6, 14,
00372 82, 83, 6, 15, 82, 83, 7, 21, 82, 83,
00373 6, 17, 82, 83, 6, 20, 82, 83, 6, 18,
00374 82, 83, 6, 28, 82, 83, 6, 82, 83, 6,
00375 68, 78, 82, 83, 6, 77, 82, 83, 6, 16,
00376 82, 83, 6, 22, 82, 83, 6, 24, 82, 83,
00377 6, 27, 82, 83, 6, 25, 82, 83, 6, 71,
00378 82, 83, 6, 71, 82, 83, 6, 71, 82, 83,
00379
00380 6, 71, 82, 83, 6, 71, 82, 83, 6, 30,
00381 82, 83, 6, 31, 82, 83, 6, 71, 82, 83,
00382 6, 71, 82, 83, 6, 71, 82, 83, 6, 71,
00383 82, 83, 6, 71, 82, 83, 6, 71, 82, 83,
00384 6, 71, 82, 83, 6, 71, 82, 83, 6, 71,
00385 82, 83, 6, 71, 82, 83, 6, 71, 82, 83,
00386 6, 71, 82, 83, 6, 71, 82, 83, 6, 71,
00387 82, 83, 6, 71, 82, 83, 6, 12, 82, 83,
00388 5, 13, 82, 83, 6, 19, 82, 83, 6, 6,
00389 34, 6, 6, 81, 6, 6, 11, 6, 9, 6,
00390
00391 6, 6, 4, 6, 32, 6, 6, 75, 3, 6,
00392 8, 6, 6, 78, 6, 6, 6, 68, 6, 79,
00393 6, 77, 6, 77, 6, 26, 6, 33, 6, 71,
00394 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00395 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00396 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00397 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00398 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00399 6, 71, 6, 71, 6, 71, 6, 71, 81, 6,
00400 6, 6, 9, 9, 6, 6, 80, 80, 6, 80,
00401
00402 6, 6, 6, 29, 6, 6, 8, 8, 6, 74,
00403 6, 6, 73, 6, 79, 6, 71, 6, 71, 6,
00404 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00405 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00406 58, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00407 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00408 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00409 6, 71, 6, 71, 6, 71, 6, 71, 6, 71,
00410 6, 6, 6, 6, 6, 6, 6, 76, 6, 6,
00411 71, 6, 71, 6, 71, 6, 61, 71, 6, 59,
00412
00413 71, 6, 71, 6, 71, 6, 36, 71, 6, 71,
00414 6, 71, 6, 71, 6, 71, 6, 71, 6, 50,
00415 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00416 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00417 71, 6, 71, 6, 71, 6, 57, 71, 6, 71,
00418 6, 71, 6, 71, 6, 71, 6, 6, 6, 6,
00419 6, 6, 72, 6, 62, 71, 6, 71, 6, 71,
00420 6, 39, 71, 6, 35, 71, 6, 71, 6, 60,
00421 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00422 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00423
00424 71, 6, 49, 71, 6, 71, 6, 71, 6, 56,
00425 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00426 38, 71, 6, 71, 6, 6, 66, 71, 6, 71,
00427 6, 71, 6, 51, 71, 6, 44, 71, 6, 63,
00428 71, 6, 71, 6, 71, 6, 71, 6, 71, 6,
00429 71, 6, 43, 71, 6, 55, 71, 6, 71, 6,
00430 47, 71, 6, 45, 71, 6, 40, 71, 6, 71,
00431 6, 71, 6, 71, 6, 6, 71, 6, 6, 71,
00432 6, 46, 71, 6, 71, 6, 71, 6, 53, 71,
00433 6, 71, 6, 54, 71, 6, 65, 71, 6, 71,
00434
00435 6, 42, 71, 6, 6, 67, 71, 6, 69, 6,
00436 69, 6, 71, 6, 71, 6, 41, 71, 6, 71,
00437 6, 48, 71, 6, 6, 6, 6, 71, 6, 37,
00438 71, 6, 52, 71, 6, 11, 6, 6, 70, 6,
00439 71, 10, 11, 6, 6, 71, 10, 6, 71, 6,
00440 71, 6, 64, 71
00441 } ;
00442
00443 static yyconst flex_int16_t yy_accept[312] =
00444 { 0,
00445 1, 2, 3, 4, 7, 11, 13, 16, 19, 22,
00446 26, 29, 33, 37, 41, 45, 49, 53, 57, 60,
00447 65, 69, 73, 77, 81, 85, 89, 93, 97, 101,
00448 105, 109, 113, 117, 121, 125, 129, 133, 137, 141,
00449 145, 149, 153, 157, 161, 165, 169, 173, 177, 181,
00450 185, 189, 190, 192, 193, 195, 195, 196, 197, 198,
00451 200, 200, 201, 202, 202, 203, 204, 206, 207, 209,
00452 210, 212, 213, 215, 216, 217, 219, 221, 223, 225,
00453 227, 229, 231, 233, 235, 237, 239, 241, 243, 245,
00454 247, 249, 251, 253, 255, 257, 259, 261, 263, 265,
00455
00456 267, 269, 271, 273, 275, 277, 279, 281, 283, 285,
00457 287, 289, 290, 290, 291, 292, 294, 295, 296, 298,
00458 299, 301, 302, 303, 305, 306, 308, 309, 311, 312,
00459 314, 316, 318, 320, 322, 324, 326, 328, 330, 332,
00460 334, 336, 338, 340, 343, 345, 347, 349, 351, 353,
00461 355, 357, 359, 361, 363, 365, 367, 369, 371, 373,
00462 375, 377, 379, 381, 381, 381, 382, 383, 384, 385,
00463 386, 387, 389, 390, 392, 394, 396, 399, 402, 404,
00464 406, 409, 411, 413, 415, 417, 419, 422, 424, 426,
00465 428, 430, 432, 434, 436, 438, 440, 442, 444, 446,
00466
00467 449, 451, 453, 455, 457, 457, 457, 458, 459, 460,
00468 461, 462, 464, 467, 469, 471, 474, 477, 479, 482,
00469 484, 486, 488, 490, 492, 494, 496, 498, 500, 502,
00470 505, 507, 509, 512, 514, 516, 518, 520, 523, 525,
00471 525, 525, 526, 529, 531, 533, 536, 539, 542, 544,
00472 546, 548, 550, 552, 555, 558, 560, 563, 566, 569,
00473 571, 573, 575, 576, 578, 579, 581, 584, 586, 588,
00474 591, 593, 596, 599, 601, 604, 605, 608, 610, 611,
00475 612, 614, 616, 619, 621, 624, 625, 626, 627, 629,
00476 632, 635, 636, 637, 638, 638, 640, 642, 642, 642,
00477
00478 644, 645, 645, 647, 648, 648, 648, 650, 652, 655,
00479 655
00480 } ;
00481
00482 static yyconst flex_int32_t yy_ec[256] =
00483 { 0,
00484 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00486 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00487 1, 4, 5, 6, 7, 1, 1, 8, 9, 10,
00488 11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
00489 19, 19, 19, 19, 19, 20, 20, 21, 22, 23,
00490 24, 25, 26, 1, 27, 28, 29, 30, 31, 32,
00491 33, 33, 33, 34, 35, 36, 33, 33, 37, 38,
00492 39, 40, 41, 42, 43, 33, 33, 44, 33, 33,
00493 45, 46, 47, 1, 48, 1, 49, 50, 51, 52,
00494
00495 53, 54, 55, 56, 57, 33, 58, 59, 60, 61,
00496 62, 63, 33, 64, 65, 66, 67, 68, 33, 69,
00497 70, 33, 71, 1, 72, 73, 1, 1, 1, 1,
00498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00501 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00502 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00505
00506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00511 1, 1, 1, 1, 1
00512 } ;
00513
00514 static yyconst flex_int32_t yy_meta[74] =
00515 { 0,
00516 1, 2, 3, 4, 1, 5, 1, 1, 5, 1,
00517 1, 6, 1, 1, 1, 1, 1, 7, 7, 8,
00518 1, 1, 1, 1, 1, 5, 8, 8, 8, 8,
00519 8, 8, 4, 4, 4, 4, 4, 4, 4, 4,
00520 4, 4, 4, 9, 1, 5, 1, 4, 7, 7,
00521 8, 8, 8, 7, 4, 4, 4, 4, 4, 4,
00522 9, 4, 4, 9, 4, 9, 4, 9, 9, 4,
00523 1, 10, 1
00524 } ;
00525
00526 static yyconst flex_int16_t yy_base[329] =
00527 { 0,
00528 0, 0, 904, 0, 0, 1106, 879, 72, 74, 0,
00529 73, 0, 0, 885, 0, 0, 876, 71, 64, 79,
00530 85, 879, 0, 69, 874, 82, 148, 221, 61, 69,
00531 73, 0, 0, 81, 53, 75, 67, 85, 98, 84,
00532 93, 103, 114, 148, 120, 140, 141, 155, 0, 1106,
00533 0, 0, 0, 178, 0, 193, 289, 124, 1106, 180,
00534 887, 188, 880, 879, 353, 1106, 0, 858, 238, 1106,
00535 117, 189, 243, 257, 198, 0, 405, 266, 0, 0,
00536 0, 846, 99, 158, 160, 171, 206, 238, 193, 213,
00537 224, 244, 226, 245, 237, 251, 243, 254, 188, 266,
00538
00539 272, 252, 274, 279, 278, 297, 289, 286, 298, 273,
00540 290, 1106, 308, 372, 442, 317, 869, 329, 0, 1106,
00541 860, 351, 479, 0, 368, 332, 0, 374, 346, 390,
00542 0, 304, 176, 320, 369, 348, 341, 346, 355, 386,
00543 399, 389, 294, 840, 401, 340, 349, 393, 402, 411,
00544 414, 404, 416, 403, 420, 418, 421, 422, 423, 424,
00545 448, 441, 438, 494, 0, 532, 603, 511, 506, 667,
00546 498, 501, 528, 451, 499, 508, 839, 838, 474, 461,
00547 837, 426, 510, 495, 518, 522, 836, 525, 526, 527,
00548 528, 532, 530, 531, 533, 537, 535, 539, 538, 835,
00549
00550 540, 542, 546, 541, 592, 716, 600, 601, 569, 852,
00551 598, 606, 832, 544, 612, 831, 830, 553, 829, 567,
00552 610, 566, 561, 601, 600, 613, 617, 618, 621, 827,
00553 615, 631, 824, 633, 623, 624, 632, 820, 643, 655,
00554 656, 678, 813, 638, 676, 807, 805, 661, 651, 664,
00555 644, 673, 683, 797, 763, 687, 762, 756, 732, 678,
00556 680, 681, 725, 685, 797, 688, 715, 704, 696, 697,
00557 698, 547, 534, 702, 476, 769, 459, 870, 456, 0,
00558 684, 711, 413, 730, 358, 825, 774, 336, 729, 310,
00559 107, 827, 733, 773, 790, 0, 734, 810, 760, 1106,
00560
00561 788, 771, 752, 1106, 784, 785, 767, 790, 56, 1106,
00562 943, 952, 962, 972, 982, 991, 1001, 1011, 1021, 1027,
00563 1036, 1046, 1050, 1058, 1066, 1075, 1085, 1095
00564 } ;
00565
00566 static yyconst flex_int16_t yy_def[329] =
00567 { 0,
00568 310, 1, 310, 311, 311, 310, 311, 312, 313, 311,
00569 314, 311, 311, 310, 311, 311, 311, 311, 311, 311,
00570 311, 311, 311, 311, 311, 311, 315, 315, 28, 28,
00571 28, 311, 311, 28, 28, 28, 28, 28, 28, 28,
00572 28, 28, 28, 28, 28, 28, 28, 28, 311, 310,
00573 311, 311, 311, 312, 311, 316, 311, 313, 310, 317,
00574 318, 313, 311, 310, 311, 310, 311, 311, 311, 310,
00575 319, 311, 311, 311, 311, 311, 311, 311, 311, 311,
00576 311, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00577 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00578
00579 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00580 28, 310, 320, 312, 311, 317, 321, 313, 311, 310,
00581 311, 311, 311, 311, 311, 319, 322, 311, 311, 311,
00582 77, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00583 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00584 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00585 28, 28, 28, 316, 323, 312, 312, 313, 311, 311,
00586 311, 311, 311, 28, 28, 28, 28, 28, 28, 28,
00587 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00588 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00589
00590 28, 28, 28, 28, 316, 316, 312, 312, 313, 311,
00591 311, 311, 28, 28, 28, 28, 28, 28, 28, 28,
00592 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00593 28, 28, 28, 28, 28, 28, 28, 28, 28, 316,
00594 316, 313, 28, 28, 28, 28, 28, 28, 28, 28,
00595 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
00596 28, 28, 313, 28, 324, 28, 28, 28, 28, 28,
00597 28, 28, 28, 28, 28, 313, 28, 324, 311, 325,
00598 28, 28, 28, 28, 28, 313, 326, 311, 28, 28,
00599 28, 326, 327, 313, 328, 311, 28, 327, 310, 310,
00600
00601 313, 318, 28, 310, 310, 318, 28, 28, 28, 0,
00602 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00603 310, 310, 310, 310, 310, 310, 310, 310
00604 } ;
00605
00606 static yyconst flex_int16_t yy_nxt[1180] =
00607 { 0,
00608 4, 5, 6, 5, 7, 8, 9, 10, 11, 12,
00609 13, 14, 15, 16, 17, 18, 19, 20, 21, 21,
00610 22, 23, 24, 25, 26, 4, 27, 27, 27, 27,
00611 27, 28, 27, 27, 29, 27, 27, 27, 30, 27,
00612 27, 31, 27, 27, 32, 4, 33, 27, 27, 27,
00613 34, 27, 35, 36, 27, 27, 37, 38, 39, 40,
00614 41, 42, 43, 44, 45, 46, 47, 48, 27, 27,
00615 49, 50, 51, 52, 52, 70, 59, 55, 60, 82,
00616 71, 52, 82, 56, 64, 61, 68, 82, 69, 69,
00617 69, 81, 53, 82, 72, 82, 73, 73, 74, 82,
00618
00619 72, 82, 78, 78, 78, 53, 81, 82, 84, 75,
00620 82, 82, 86, 90, 76, 75, 85, 57, 65, 82,
00621 79, 91, 77, 92, 82, 82, 59, 94, 127, 82,
00622 62, 75, 95, 82, 132, 61, 87, 75, 93, 88,
00623 82, 98, 89, 56, 64, 61, 82, 77, 52, 52,
00624 97, 52, 52, 52, 52, 52, 52, 52, 52, 96,
00625 52, 52, 52, 52, 52, 99, 82, 82, 52, 52,
00626 52, 52, 52, 52, 82, 103, 104, 100, 105, 52,
00627 101, 82, 59, 55, 82, 106, 82, 133, 127, 56,
00628 59, 117, 52, 52, 52, 61, 134, 82, 112, 61,
00629
00630 102, 109, 82, 107, 175, 110, 128, 128, 128, 108,
00631 129, 111, 129, 135, 82, 130, 130, 130, 52, 82,
00632 52, 52, 52, 57, 52, 52, 52, 52, 52, 52,
00633 52, 52, 82, 52, 52, 52, 52, 52, 113, 82,
00634 149, 52, 52, 52, 52, 52, 52, 83, 118, 56,
00635 82, 117, 82, 138, 136, 69, 69, 69, 72, 61,
00636 73, 73, 74, 82, 82, 52, 52, 52, 125, 82,
00637 82, 82, 72, 75, 74, 74, 74, 82, 82, 139,
00638 82, 72, 142, 78, 78, 78, 137, 75, 145, 140,
00639 125, 52, 82, 52, 54, 75, 75, 54, 82, 82,
00640
00641 82, 79, 141, 143, 82, 82, 114, 114, 147, 75,
00642 144, 146, 82, 148, 54, 82, 82, 153, 75, 59,
00643 82, 152, 150, 82, 82, 164, 164, 151, 117, 162,
00644 82, 59, 115, 155, 54, 154, 82, 54, 54, 156,
00645 61, 296, 54, 127, 174, 157, 82, 176, 160, 54,
00646 185, 165, 54, 163, 54, 159, 54, 115, 63, 119,
00647 158, 121, 161, 130, 130, 130, 82, 82, 169, 169,
00648 122, 122, 82, 52, 82, 82, 165, 55, 63, 168,
00649 171, 82, 171, 56, 82, 172, 172, 172, 117, 166,
00650 166, 128, 128, 128, 187, 82, 123, 188, 63, 177,
00651
00652 61, 63, 63, 127, 173, 179, 63, 130, 130, 130,
00653 180, 178, 82, 63, 181, 82, 63, 57, 63, 82,
00654 63, 123, 131, 131, 131, 82, 173, 82, 82, 82,
00655 82, 131, 131, 131, 131, 131, 131, 82, 182, 82,
00656 82, 184, 82, 56, 82, 189, 82, 82, 82, 82,
00657 82, 186, 82, 131, 131, 131, 131, 131, 131, 167,
00658 167, 167, 193, 183, 82, 190, 195, 82, 167, 167,
00659 167, 167, 167, 167, 82, 200, 201, 82, 191, 192,
00660 196, 213, 194, 197, 288, 82, 198, 82, 199, 218,
00661 167, 167, 167, 167, 167, 167, 170, 170, 170, 112,
00662
00663 82, 203, 82, 204, 202, 170, 170, 170, 170, 170,
00664 170, 205, 205, 59, 119, 172, 172, 172, 172, 172,
00665 172, 82, 61, 63, 63, 82, 217, 170, 170, 170,
00666 170, 170, 170, 52, 82, 214, 82, 55, 216, 113,
00667 211, 215, 211, 56, 82, 212, 212, 212, 82, 207,
00668 207, 82, 82, 82, 82, 220, 82, 82, 82, 82,
00669 82, 82, 219, 82, 82, 82, 82, 82, 82, 209,
00670 82, 59, 82, 82, 223, 225, 226, 57, 221, 82,
00671 61, 243, 61, 222, 227, 231, 228, 82, 235, 232,
00672 224, 236, 82, 82, 229, 234, 237, 112, 230, 233,
00673
00674 238, 52, 52, 56, 52, 55, 55, 239, 55, 240,
00675 240, 56, 56, 245, 56, 212, 212, 212, 246, 249,
00676 208, 208, 208, 212, 212, 212, 82, 82, 248, 208,
00677 208, 208, 208, 208, 208, 242, 82, 113, 82, 82,
00678 61, 82, 244, 82, 82, 57, 57, 82, 57, 82,
00679 82, 208, 208, 208, 208, 208, 208, 82, 82, 82,
00680 112, 112, 247, 250, 82, 251, 264, 253, 254, 82,
00681 82, 56, 56, 256, 56, 119, 260, 82, 252, 265,
00682 59, 255, 257, 258, 210, 210, 210, 82, 259, 61,
00683 82, 262, 261, 210, 210, 210, 210, 210, 210, 82,
00684
00685 113, 113, 82, 267, 82, 269, 82, 82, 266, 82,
00686 82, 82, 268, 82, 82, 210, 210, 210, 210, 210,
00687 210, 112, 82, 82, 82, 270, 277, 59, 82, 263,
00688 82, 273, 274, 241, 241, 241, 61, 82, 299, 275,
00689 289, 82, 241, 241, 241, 241, 241, 241, 271, 61,
00690 284, 272, 281, 285, 282, 82, 82, 299, 82, 283,
00691 82, 113, 304, 290, 241, 241, 241, 241, 241, 241,
00692 286, 59, 286, 300, 287, 300, 293, 276, 82, 294,
00693 61, 291, 82, 297, 61, 295, 304, 300, 82, 82,
00694 300, 287, 293, 82, 303, 302, 61, 52, 294, 61,
00695
00696 307, 52, 279, 52, 52, 52, 52, 52, 280, 52,
00697 52, 52, 52, 52, 302, 299, 82, 52, 52, 52,
00698 52, 52, 52, 82, 305, 308, 286, 59, 286, 293,
00699 287, 82, 294, 82, 299, 306, 61, 301, 295, 82,
00700 61, 52, 52, 52, 61, 295, 82, 287, 305, 306,
00701 82, 294, 301, 82, 309, 82, 82, 82, 82, 61,
00702 119, 82, 82, 82, 82, 82, 82, 52, 119, 52,
00703 52, 59, 82, 124, 52, 52, 52, 52, 52, 52,
00704 52, 280, 52, 52, 52, 52, 52, 120, 119, 59,
00705 52, 52, 52, 52, 52, 52, 61, 53, 295, 80,
00706
00707 67, 66, 53, 310, 310, 310, 310, 310, 310, 310,
00708 310, 310, 310, 310, 52, 52, 52, 310, 310, 310,
00709 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00710 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00711 52, 310, 52, 52, 52, 310, 52, 52, 310, 52,
00712 52, 52, 54, 54, 310, 54, 54, 54, 54, 54,
00713 54, 54, 58, 58, 58, 58, 58, 58, 58, 58,
00714 58, 58, 63, 63, 310, 63, 63, 63, 63, 63,
00715 63, 63, 82, 82, 310, 82, 82, 310, 82, 82,
00716 82, 56, 310, 310, 56, 56, 56, 56, 56, 56,
00717
00718 56, 116, 116, 116, 116, 116, 116, 116, 116, 116,
00719 116, 61, 61, 61, 61, 61, 61, 61, 61, 61,
00720 61, 126, 126, 310, 126, 126, 126, 126, 126, 126,
00721 126, 56, 310, 56, 310, 56, 117, 117, 117, 117,
00722 117, 117, 117, 117, 117, 117, 127, 127, 310, 127,
00723 127, 127, 127, 127, 127, 127, 206, 206, 278, 278,
00724 310, 278, 278, 278, 278, 278, 278, 280, 310, 280,
00725 310, 280, 280, 280, 280, 292, 292, 292, 292, 292,
00726 292, 292, 292, 292, 292, 298, 298, 298, 298, 298,
00727 298, 298, 298, 298, 298, 295, 295, 295, 295, 295,
00728
00729 295, 295, 295, 295, 295, 3, 310, 310, 310, 310,
00730 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00731 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00732 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00733 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00734 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00735 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00736 310, 310, 310, 310, 310, 310, 310, 310, 310
00737 } ;
00738
00739 static yyconst flex_int16_t yy_chk[1180] =
00740 { 0,
00741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00743 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00744 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00745 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00746 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00747 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00748 1, 1, 1, 8, 11, 19, 9, 8, 9, 35,
00749 19, 11, 309, 8, 11, 9, 18, 29, 18, 18,
00750 18, 24, 24, 37, 20, 30, 20, 20, 20, 31,
00751
00752 21, 36, 21, 21, 21, 26, 26, 34, 29, 20,
00753 40, 38, 31, 35, 20, 21, 30, 8, 11, 41,
00754 21, 35, 20, 36, 39, 83, 58, 37, 71, 42,
00755 9, 20, 38, 291, 83, 58, 34, 21, 36, 34,
00756 43, 41, 34, 8, 11, 9, 45, 20, 27, 27,
00757 40, 27, 27, 27, 27, 27, 27, 27, 27, 39,
00758 27, 27, 27, 27, 27, 42, 46, 47, 27, 27,
00759 27, 27, 27, 27, 44, 45, 45, 43, 45, 54,
00760 43, 48, 60, 54, 84, 45, 85, 84, 71, 54,
00761 62, 60, 27, 27, 27, 58, 85, 86, 56, 62,
00762
00763 44, 47, 133, 46, 133, 47, 72, 72, 72, 46,
00764 75, 48, 75, 86, 99, 75, 75, 75, 27, 89,
00765 27, 28, 28, 54, 28, 28, 28, 28, 28, 28,
00766 28, 28, 87, 28, 28, 28, 28, 28, 56, 90,
00767 99, 28, 28, 28, 28, 28, 28, 28, 62, 54,
00768 91, 60, 93, 89, 87, 69, 69, 69, 73, 62,
00769 73, 73, 73, 95, 88, 28, 28, 28, 69, 97,
00770 92, 94, 74, 73, 74, 74, 74, 96, 102, 90,
00771 98, 78, 93, 78, 78, 78, 88, 74, 95, 91,
00772 69, 28, 100, 28, 57, 73, 78, 57, 101, 110,
00773
00774 103, 78, 92, 94, 105, 104, 57, 57, 97, 74,
00775 94, 96, 108, 98, 57, 107, 111, 102, 78, 116,
00776 143, 101, 100, 106, 109, 113, 113, 100, 116, 110,
00777 132, 118, 57, 104, 57, 103, 290, 57, 57, 105,
00778 118, 288, 57, 126, 132, 106, 134, 134, 108, 57,
00779 143, 113, 57, 111, 57, 107, 57, 57, 65, 122,
00780 106, 65, 109, 129, 129, 129, 146, 137, 122, 122,
00781 65, 65, 138, 114, 136, 147, 113, 114, 65, 118,
00782 125, 139, 125, 114, 285, 125, 125, 125, 116, 114,
00783 114, 128, 128, 128, 146, 135, 65, 147, 65, 135,
00784
00785 118, 65, 65, 126, 128, 137, 65, 130, 130, 130,
00786 138, 136, 140, 65, 139, 142, 65, 114, 65, 148,
00787 65, 65, 77, 77, 77, 141, 128, 145, 149, 154,
00788 152, 77, 77, 77, 77, 77, 77, 150, 140, 283,
00789 151, 142, 153, 114, 156, 148, 155, 157, 158, 159,
00790 160, 145, 182, 77, 77, 77, 77, 77, 77, 115,
00791 115, 115, 152, 141, 163, 149, 154, 162, 115, 115,
00792 115, 115, 115, 115, 161, 159, 160, 174, 150, 151,
00793 155, 174, 153, 156, 279, 277, 157, 180, 158, 182,
00794 115, 115, 115, 115, 115, 115, 123, 123, 123, 164,
00795
00796 179, 162, 275, 163, 161, 123, 123, 123, 123, 123,
00797 123, 164, 164, 168, 169, 171, 171, 171, 172, 172,
00798 172, 184, 168, 169, 169, 175, 180, 123, 123, 123,
00799 123, 123, 123, 166, 176, 175, 183, 166, 179, 164,
00800 173, 176, 173, 166, 185, 173, 173, 173, 186, 166,
00801 166, 188, 189, 190, 191, 184, 193, 194, 192, 195,
00802 273, 197, 183, 196, 199, 198, 201, 204, 202, 168,
00803 214, 209, 203, 272, 188, 190, 191, 166, 185, 218,
00804 209, 214, 168, 186, 192, 196, 193, 223, 199, 196,
00805 189, 201, 222, 220, 194, 198, 202, 205, 195, 197,
00806
00807 203, 207, 208, 166, 167, 207, 208, 204, 167, 205,
00808 205, 207, 208, 218, 167, 211, 211, 211, 220, 223,
00809 167, 167, 167, 212, 212, 212, 225, 224, 222, 167,
00810 167, 167, 167, 167, 167, 209, 221, 205, 215, 226,
00811 209, 231, 215, 227, 228, 207, 208, 229, 167, 235,
00812 236, 167, 167, 167, 167, 167, 167, 232, 237, 234,
00813 240, 241, 221, 224, 244, 225, 244, 227, 228, 239,
00814 251, 207, 208, 231, 167, 170, 236, 249, 226, 245,
00815 242, 229, 232, 234, 170, 170, 170, 248, 235, 242,
00816 250, 239, 237, 170, 170, 170, 170, 170, 170, 252,
00817
00818 240, 241, 245, 249, 260, 251, 261, 262, 248, 253,
00819 281, 264, 250, 256, 266, 170, 170, 170, 170, 170,
00820 170, 206, 269, 270, 271, 252, 264, 263, 274, 242,
00821 268, 260, 261, 206, 206, 206, 263, 282, 293, 262,
00822 281, 267, 206, 206, 206, 206, 206, 206, 253, 242,
00823 271, 256, 266, 274, 268, 289, 284, 293, 259, 269,
00824 297, 206, 299, 282, 206, 206, 206, 206, 206, 206,
00825 276, 276, 276, 302, 276, 294, 287, 263, 303, 287,
00826 276, 284, 258, 289, 294, 287, 305, 306, 257, 255,
00827 301, 276, 295, 307, 297, 295, 263, 265, 287, 301,
00828
00829 303, 265, 265, 265, 265, 265, 265, 265, 265, 265,
00830 265, 265, 265, 265, 295, 298, 308, 265, 265, 265,
00831 265, 265, 265, 254, 299, 307, 286, 286, 286, 292,
00832 286, 247, 292, 246, 298, 302, 286, 294, 292, 243,
00833 276, 265, 265, 265, 294, 287, 238, 286, 305, 306,
00834 233, 292, 301, 230, 308, 219, 217, 216, 213, 301,
00835 210, 200, 187, 181, 178, 177, 144, 265, 121, 265,
00836 278, 117, 82, 68, 278, 278, 278, 278, 278, 278,
00837 278, 278, 278, 278, 278, 278, 278, 64, 63, 61,
00838 278, 278, 278, 278, 278, 278, 286, 25, 292, 22,
00839
00840 17, 14, 7, 3, 0, 0, 0, 0, 0, 0,
00841 0, 0, 0, 0, 278, 278, 278, 0, 0, 0,
00842 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00843 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00844 278, 0, 278, 311, 311, 0, 311, 311, 0, 311,
00845 311, 311, 312, 312, 0, 312, 312, 312, 312, 312,
00846 312, 312, 313, 313, 313, 313, 313, 313, 313, 313,
00847 313, 313, 314, 314, 0, 314, 314, 314, 314, 314,
00848 314, 314, 315, 315, 0, 315, 315, 0, 315, 315,
00849 315, 316, 0, 0, 316, 316, 316, 316, 316, 316,
00850
00851 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
00852 317, 318, 318, 318, 318, 318, 318, 318, 318, 318,
00853 318, 319, 319, 0, 319, 319, 319, 319, 319, 319,
00854 319, 320, 0, 320, 0, 320, 321, 321, 321, 321,
00855 321, 321, 321, 321, 321, 321, 322, 322, 0, 322,
00856 322, 322, 322, 322, 322, 322, 323, 323, 324, 324,
00857 0, 324, 324, 324, 324, 324, 324, 325, 0, 325,
00858 0, 325, 325, 325, 325, 326, 326, 326, 326, 326,
00859 326, 326, 326, 326, 326, 327, 327, 327, 327, 327,
00860 327, 327, 327, 327, 327, 328, 328, 328, 328, 328,
00861
00862 328, 328, 328, 328, 328, 310, 310, 310, 310, 310,
00863 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00864 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00865 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00866 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00867 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00868 310, 310, 310, 310, 310, 310, 310, 310, 310, 310,
00869 310, 310, 310, 310, 310, 310, 310, 310, 310
00870 } ;
00871
00872 extern int yy_flex_debug;
00873 int yy_flex_debug = 0;
00874
00875 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
00876 static char *yy_full_match;
00877 static int yy_lp;
00878 #define REJECT \
00879 { \
00880 *yy_cp = (yy_hold_char); \
00881 yy_cp = (yy_full_match); \
00882 ++(yy_lp); \
00883 goto find_rule; \
00884 }
00885
00886 #define yymore() yymore_used_but_not_detected
00887 #define YY_MORE_ADJ 0
00888 #define YY_RESTORE_YY_MORE_OFFSET
00889 char *yytext;
00890 #line 1 "scanner.ll"
00891 #line 2 "scanner.ll"
00892
00893
00894
00895
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906
00907
00908
00909
00910
00911
00912
00913
00914
00915 #define YY_NO_UNPUT
00916 #include <stdlib.h>
00917 #include <ctype.h>
00918
00919 class QString;
00920
00921 #ifndef KDE_USE_FINAL
00922 #include "yacc.cc.h"
00923 #endif
00924
00925 extern int idl_line_no;
00926 int comment_mode;
00927 int function_mode = 0;
00928
00929 #include <qstring.h>
00930 #include <qregexp.h>
00931
00932 static long ascii_to_longlong( long base, const char *s )
00933 {
00934 long ll = 0;
00935 while( *s != '\0' ) {
00936 char c = *s++;
00937 if( c >= 'a' )
00938 c -= 'a' - 'A';
00939 c -= '0';
00940 if( c > 9 )
00941 c -= 'A' - '0' - 10;
00942 ll = ll * base + c;
00943 }
00944 return ll;
00945 }
00946
00947 static double ascii_to_longdouble (const char *s)
00948 {
00949 double d;
00950 #ifdef HAVE_SCANF_LF
00951 sscanf (s, "%Lf", &d);
00952 #else
00953
00954
00955
00956
00957
00958
00959
00960 d = strtod (s, NULL);
00961 #endif
00962 return d;
00963 }
00964
00965 static char translate_char( const char *s )
00966 {
00967 char c = *s++;
00968
00969 if( c != '\\' )
00970 return c;
00971 c = *s++;
00972 switch( c ) {
00973 case 'n':
00974 return '\n';
00975 case 't':
00976 return '\t';
00977 case 'v':
00978 return '\v';
00979 case 'b':
00980 return '\b';
00981 case 'r':
00982 return '\r';
00983 case 'f':
00984 return '\f';
00985 case 'a':
00986 return '\a';
00987 case '\\':
00988 return '\\';
00989 case '?':
00990 return '\?';
00991 case '\'':
00992 return '\'';
00993 case '"':
00994 return '"';
00995 case 'x':
00996 case 'X':
00997 return (char) ascii_to_longlong( 16, s );
00998 default:
00999
01000 return (char) ascii_to_longlong( 8, s );
01001 }
01002 }
01003
01004
01005
01006
01007
01008 #line 1009 "scanner.cc"
01009
01010 #define INITIAL 0
01011
01012 #ifndef YY_NO_UNISTD_H
01013
01014
01015
01016
01017 #include <unistd.h>
01018 #endif
01019
01020 #ifndef YY_EXTRA_TYPE
01021 #define YY_EXTRA_TYPE void *
01022 #endif
01023
01024
01025
01026
01027
01028 #ifndef YY_SKIP_YYWRAP
01029 #ifdef __cplusplus
01030 extern "C" int yywrap (void );
01031 #else
01032 extern int yywrap (void );
01033 #endif
01034 #endif
01035
01036 static void yyunput (int c,char *buf_ptr );
01037
01038 #ifndef yytext_ptr
01039 static void yy_flex_strncpy (char *,yyconst char *,int );
01040 #endif
01041
01042 #ifdef YY_NEED_STRLEN
01043 static int yy_flex_strlen (yyconst char * );
01044 #endif
01045
01046 #ifndef YY_NO_INPUT
01047
01048 #ifdef __cplusplus
01049 static int yyinput (void );
01050 #else
01051 static int input (void );
01052 #endif
01053
01054 #endif
01055
01056
01057 #ifndef YY_READ_BUF_SIZE
01058 #define YY_READ_BUF_SIZE 8192
01059 #endif
01060
01061
01062 #ifndef ECHO
01063
01064
01065
01066 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
01067 #endif
01068
01069
01070
01071
01072 #ifndef YY_INPUT
01073 #define YY_INPUT(buf,result,max_size) \
01074 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01075 { \
01076 int c = '*'; \
01077 size_t n; \
01078 for ( n = 0; n < max_size && \
01079 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01080 buf[n] = (char) c; \
01081 if ( c == '\n' ) \
01082 buf[n++] = (char) c; \
01083 if ( c == EOF && ferror( yyin ) ) \
01084 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01085 result = n; \
01086 } \
01087 else \
01088 { \
01089 errno=0; \
01090 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01091 { \
01092 if( errno != EINTR) \
01093 { \
01094 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01095 break; \
01096 } \
01097 errno=0; \
01098 clearerr(yyin); \
01099 } \
01100 }\
01101 \
01102
01103 #endif
01104
01105
01106
01107
01108
01109 #ifndef yyterminate
01110 #define yyterminate() return YY_NULL
01111 #endif
01112
01113
01114 #ifndef YY_START_STACK_INCR
01115 #define YY_START_STACK_INCR 25
01116 #endif
01117
01118
01119 #ifndef YY_FATAL_ERROR
01120 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
01121 #endif
01122
01123
01124
01125
01126
01127
01128 #ifndef YY_DECL
01129 #define YY_DECL_IS_OURS 1
01130
01131 extern int yylex (void);
01132
01133 #define YY_DECL int yylex (void)
01134 #endif
01135
01136
01137
01138
01139 #ifndef YY_USER_ACTION
01140 #define YY_USER_ACTION
01141 #endif
01142
01143
01144 #ifndef YY_BREAK
01145 #define YY_BREAK break;
01146 #endif
01147
01148 #define YY_RULE_SETUP \
01149 YY_USER_ACTION
01150
01153 YY_DECL
01154 {
01155 register yy_state_type yy_current_state;
01156 register char *yy_cp, *yy_bp;
01157 register int yy_act;
01158
01159 #line 148 "scanner.ll"
01160
01161
01162 #line 1163 "scanner.cc"
01163
01164 if ( (yy_init) )
01165 {
01166 (yy_init) = 0;
01167
01168 #ifdef YY_USER_INIT
01169 YY_USER_INIT;
01170 #endif
01171
01172 if ( ! (yy_state_buf) )
01173 (yy_state_buf) = (yy_state_type *)yyalloc(YY_BUF_SIZE + 2 );
01174
01175 if ( ! (yy_start) )
01176 (yy_start) = 1;
01177
01178 if ( ! yyin )
01179 yyin = stdin;
01180
01181 if ( ! yyout )
01182 yyout = stdout;
01183
01184 if ( ! YY_CURRENT_BUFFER ) {
01185 yyensure_buffer_stack ();
01186 YY_CURRENT_BUFFER_LVALUE =
01187 yy_create_buffer(yyin,YY_BUF_SIZE );
01188 }
01189
01190 yy_load_buffer_state( );
01191 }
01192
01193 while ( 1 )
01194 {
01195 yy_cp = (yy_c_buf_p);
01196
01197
01198 *yy_cp = (yy_hold_char);
01199
01200
01201
01202
01203 yy_bp = yy_cp;
01204
01205 yy_current_state = (yy_start);
01206
01207 (yy_state_ptr) = (yy_state_buf);
01208 *(yy_state_ptr)++ = yy_current_state;
01209
01210 yy_match:
01211 do
01212 {
01213 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01214 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01215 {
01216 yy_current_state = (int) yy_def[yy_current_state];
01217 if ( yy_current_state >= 311 )
01218 yy_c = yy_meta[(unsigned int) yy_c];
01219 }
01220 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01221 *(yy_state_ptr)++ = yy_current_state;
01222 ++yy_cp;
01223 }
01224 while ( yy_current_state != 310 );
01225
01226 yy_find_action:
01227 yy_current_state = *--(yy_state_ptr);
01228 (yy_lp) = yy_accept[yy_current_state];
01229 find_rule:
01230 for ( ; ; )
01231 {
01232 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
01233 {
01234 yy_act = yy_acclist[(yy_lp)];
01235 {
01236 (yy_full_match) = yy_cp;
01237 break;
01238 }
01239 }
01240 --yy_cp;
01241 yy_current_state = *--(yy_state_ptr);
01242 (yy_lp) = yy_accept[yy_current_state];
01243 }
01244
01245 YY_DO_BEFORE_ACTION;
01246
01247 do_action:
01248
01249 switch ( yy_act )
01250 {
01251 case 1:
01252 YY_RULE_SETUP
01253 #line 150 "scanner.ll"
01254 ;
01255 YY_BREAK
01256 case 2:
01257
01258 YY_RULE_SETUP
01259 #line 151 "scanner.ll"
01260 { idl_line_no++; }
01261 YY_BREAK
01262 case 3:
01263 YY_RULE_SETUP
01264 #line 153 "scanner.ll"
01265 { comment_mode = 1; }
01266 YY_BREAK
01267 case 4:
01268 YY_RULE_SETUP
01269 #line 154 "scanner.ll"
01270 { if (!comment_mode) { REJECT; } else { comment_mode = 0; } }
01271 YY_BREAK
01272 case 5:
01273 YY_RULE_SETUP
01274 #line 155 "scanner.ll"
01275 {
01276 if (! comment_mode) {
01277 if (!function_mode) { REJECT; } else {
01278 function_mode = 0;
01279 return T_RIGHT_CURLY_BRACKET;
01280 }
01281 }
01282 }
01283 YY_BREAK
01284 case 6:
01285 YY_RULE_SETUP
01286 #line 163 "scanner.ll"
01287 { if (!comment_mode && !function_mode) { REJECT; } }
01288 YY_BREAK
01289 case 7:
01290 YY_RULE_SETUP
01291 #line 164 "scanner.ll"
01292 { if (!comment_mode) { REJECT; } }
01293 YY_BREAK
01294 case 8:
01295 YY_RULE_SETUP
01296 #line 166 "scanner.ll"
01297 ;
01298 YY_BREAK
01299 case 9:
01300 YY_RULE_SETUP
01301 #line 167 "scanner.ll"
01302 {
01303 exit( 1 );
01304 }
01305 YY_BREAK
01306 case 10:
01307
01308 YY_RULE_SETUP
01309 #line 170 "scanner.ll"
01310 {
01311 QString s( yytext );
01312 int i = s.find(QRegExp("[\"<]"))+1;
01313 int j = s.find(QRegExp("[\">]"), i);
01314 yylval._str = new QString( s.mid( i, j - i ) );
01315 idl_line_no++;
01316 return T_INCLUDE;
01317 }
01318 YY_BREAK
01319 case 11:
01320
01321 YY_RULE_SETUP
01322 #line 178 "scanner.ll"
01323 {
01324 idl_line_no++;
01325 }
01326 YY_BREAK
01327 case 12:
01328 YY_RULE_SETUP
01329 #line 181 "scanner.ll"
01330 return T_LEFT_CURLY_BRACKET;
01331 YY_BREAK
01332 case 13:
01333 YY_RULE_SETUP
01334 #line 182 "scanner.ll"
01335 return T_RIGHT_CURLY_BRACKET;
01336 YY_BREAK
01337 case 14:
01338 YY_RULE_SETUP
01339 #line 183 "scanner.ll"
01340 return T_LEFT_PARANTHESIS;
01341 YY_BREAK
01342 case 15:
01343 YY_RULE_SETUP
01344 #line 184 "scanner.ll"
01345 return T_RIGHT_PARANTHESIS;
01346 YY_BREAK
01347 case 16:
01348 YY_RULE_SETUP
01349 #line 185 "scanner.ll"
01350 return T_COLON;
01351 YY_BREAK
01352 case 17:
01353 YY_RULE_SETUP
01354 #line 186 "scanner.ll"
01355 return T_PLUS;
01356 YY_BREAK
01357 case 18:
01358 YY_RULE_SETUP
01359 #line 187 "scanner.ll"
01360 return T_MINUS;
01361 YY_BREAK
01362 case 19:
01363 YY_RULE_SETUP
01364 #line 188 "scanner.ll"
01365 return T_TILDE;
01366 YY_BREAK
01367 case 20:
01368 YY_RULE_SETUP
01369 #line 189 "scanner.ll"
01370 return T_COMMA;
01371 YY_BREAK
01372 case 21:
01373 YY_RULE_SETUP
01374 #line 190 "scanner.ll"
01375 return T_ASTERISK;
01376 YY_BREAK
01377 case 22:
01378 YY_RULE_SETUP
01379 #line 191 "scanner.ll"
01380 return T_SEMICOLON;
01381 YY_BREAK
01382 case 23:
01383 YY_RULE_SETUP
01384 #line 192 "scanner.ll"
01385 return T_AMPERSAND;
01386 YY_BREAK
01387 case 24:
01388 YY_RULE_SETUP
01389 #line 193 "scanner.ll"
01390 return T_LESS;
01391 YY_BREAK
01392 case 25:
01393 YY_RULE_SETUP
01394 #line 194 "scanner.ll"
01395 return T_GREATER;
01396 YY_BREAK
01397 case 26:
01398 YY_RULE_SETUP
01399 #line 195 "scanner.ll"
01400 return T_SCOPE;
01401 YY_BREAK
01402 case 27:
01403 YY_RULE_SETUP
01404 #line 196 "scanner.ll"
01405 return T_EQUAL;
01406 YY_BREAK
01407 case 28:
01408 YY_RULE_SETUP
01409 #line 197 "scanner.ll"
01410 return T_ACCESS;
01411 YY_BREAK
01412 case 29:
01413 YY_RULE_SETUP
01414 #line 198 "scanner.ll"
01415 return T_TRIPLE_DOT;
01416 YY_BREAK
01417 case 30:
01418 YY_RULE_SETUP
01419 #line 199 "scanner.ll"
01420 return T_ARRAY_OPEN;
01421 YY_BREAK
01422 case 31:
01423 YY_RULE_SETUP
01424 #line 200 "scanner.ll"
01425 return T_ARRAY_CLOSE;
01426 YY_BREAK
01427 case 32:
01428 YY_RULE_SETUP
01429 #line 201 "scanner.ll"
01430 return T_ACCESS;
01431 YY_BREAK
01432 case 33:
01433 YY_RULE_SETUP
01434 #line 202 "scanner.ll"
01435 return T_SHIFT;
01436 YY_BREAK
01437 case 34:
01438 YY_RULE_SETUP
01439 #line 203 "scanner.ll"
01440 return T_MISCOPERATOR;
01441 YY_BREAK
01442 case 35:
01443 YY_RULE_SETUP
01444 #line 206 "scanner.ll"
01445 return T_CONST;
01446 YY_BREAK
01447 case 36:
01448 YY_RULE_SETUP
01449 #line 207 "scanner.ll"
01450 return T_ENUM;
01451 YY_BREAK
01452 case 37:
01453 YY_RULE_SETUP
01454 #line 208 "scanner.ll"
01455 return T_NAMESPACE;
01456 YY_BREAK
01457 case 38:
01458 YY_RULE_SETUP
01459 #line 209 "scanner.ll"
01460 return T_USING;
01461 YY_BREAK
01462 case 39:
01463 YY_RULE_SETUP
01464 #line 210 "scanner.ll"
01465 return T_CLASS;
01466 YY_BREAK
01467 case 40:
01468 YY_RULE_SETUP
01469 #line 211 "scanner.ll"
01470 return T_STRUCT;
01471 YY_BREAK
01472 case 41:
01473 YY_RULE_SETUP
01474 #line 212 "scanner.ll"
01475 return T_FUNOPERATOR;
01476 YY_BREAK
01477 case 42:
01478 YY_RULE_SETUP
01479 #line 213 "scanner.ll"
01480 return T_VIRTUAL;
01481 YY_BREAK
01482 case 43:
01483 YY_RULE_SETUP
01484 #line 214 "scanner.ll"
01485 return T_PUBLIC;
01486 YY_BREAK
01487 case 44:
01488 YY_RULE_SETUP
01489 #line 215 "scanner.ll"
01490 return T_INLINE;
01491 YY_BREAK
01492 case 45:
01493 YY_RULE_SETUP
01494 #line 216 "scanner.ll"
01495 return T_STATIC;
01496 YY_BREAK
01497 case 46:
01498 YY_RULE_SETUP
01499 #line 217 "scanner.ll"
01500 return T_MUTABLE;
01501 YY_BREAK
01502 case 47:
01503 YY_RULE_SETUP
01504 #line 218 "scanner.ll"
01505 return T_SIGNED;
01506 YY_BREAK
01507 case 48:
01508 YY_RULE_SETUP
01509 #line 219 "scanner.ll"
01510 return T_UNSIGNED;
01511 YY_BREAK
01512 case 49:
01513 YY_RULE_SETUP
01514 #line 220 "scanner.ll"
01515 return T_SHORT;
01516 YY_BREAK
01517 case 50:
01518 YY_RULE_SETUP
01519 #line 221 "scanner.ll"
01520 return T_LONG;
01521 YY_BREAK
01522 case 51:
01523 YY_RULE_SETUP
01524 #line 222 "scanner.ll"
01525 return T_FRIEND;
01526 YY_BREAK
01527 case 52:
01528 YY_RULE_SETUP
01529 #line 223 "scanner.ll"
01530 return T_PROTECTED;
01531 YY_BREAK
01532 case 53:
01533 YY_RULE_SETUP
01534 #line 224 "scanner.ll"
01535 return T_PRIVATE;
01536 YY_BREAK
01537 case 54:
01538 YY_RULE_SETUP
01539 #line 225 "scanner.ll"
01540 return T_SIGNAL;
01541 YY_BREAK
01542 case 55:
01543 YY_RULE_SETUP
01544 #line 226 "scanner.ll"
01545 return T_RETURN;
01546 YY_BREAK
01547 case 56:
01548 YY_RULE_SETUP
01549 #line 227 "scanner.ll"
01550 return T_SLOT;
01551 YY_BREAK
01552 case 57:
01553 YY_RULE_SETUP
01554 #line 228 "scanner.ll"
01555 return T_TRUE;
01556 YY_BREAK
01557 case 58:
01558 YY_RULE_SETUP
01559 #line 229 "scanner.ll"
01560 return T_INT;
01561 YY_BREAK
01562 case 59:
01563 YY_RULE_SETUP
01564 #line 230 "scanner.ll"
01565 return T_CHAR;
01566 YY_BREAK
01567 case 60:
01568 YY_RULE_SETUP
01569 #line 231 "scanner.ll"
01570 return T_FALSE;
01571 YY_BREAK
01572 case 61:
01573 YY_RULE_SETUP
01574 #line 232 "scanner.ll"
01575 return T_TRUE;
01576 YY_BREAK
01577 case 62:
01578 YY_RULE_SETUP
01579 #line 233 "scanner.ll"
01580 return T_FALSE;
01581 YY_BREAK
01582 case 63:
01583 YY_RULE_SETUP
01584 #line 234 "scanner.ll"
01585 return T_DCOP_AREA;
01586 YY_BREAK
01587 case 64:
01588 YY_RULE_SETUP
01589 #line 235 "scanner.ll"
01590 return T_DCOP_SIGNAL_AREA;
01591 YY_BREAK
01592 case 65:
01593 YY_RULE_SETUP
01594 #line 236 "scanner.ll"
01595 return T_TYPEDEF;
01596 YY_BREAK
01597 case 66:
01598 YY_RULE_SETUP
01599 #line 237 "scanner.ll"
01600 return T_DCOP;
01601 YY_BREAK
01602 case 67:
01603 YY_RULE_SETUP
01604 #line 238 "scanner.ll"
01605 ;
01606 YY_BREAK
01607 case 68:
01608 YY_RULE_SETUP
01609 #line 239 "scanner.ll"
01610 return T_NULL;
01611 YY_BREAK
01612 case 69:
01613 YY_RULE_SETUP
01614 #line 240 "scanner.ll"
01615 return T_EXTERN;
01616 YY_BREAK
01617 case 70:
01618 YY_RULE_SETUP
01619 #line 241 "scanner.ll"
01620 return T_EXTERN_C;
01621 YY_BREAK
01622 case 71:
01623 YY_RULE_SETUP
01624 #line 243 "scanner.ll"
01625 {
01626 yylval._str = new QString( yytext );
01627 return T_IDENTIFIER;
01628 }
01629 YY_BREAK
01630 case 72:
01631 #line 249 "scanner.ll"
01632 case 73:
01633 #line 250 "scanner.ll"
01634 case 74:
01635 #line 251 "scanner.ll"
01636 case 75:
01637 #line 252 "scanner.ll"
01638 case 76:
01639 YY_RULE_SETUP
01640 #line 252 "scanner.ll"
01641 {
01642 yylval._float = ascii_to_longdouble( yytext );
01643 return T_DOUBLE_LITERAL;
01644 }
01645 YY_BREAK
01646 case 77:
01647 YY_RULE_SETUP
01648 #line 256 "scanner.ll"
01649 {
01650 yylval._int = ascii_to_longlong( 10, yytext );
01651 return T_INTEGER_LITERAL;
01652 }
01653 YY_BREAK
01654 case 78:
01655 YY_RULE_SETUP
01656 #line 260 "scanner.ll"
01657 {
01658 yylval._int = ascii_to_longlong( 8, yytext );
01659 return T_INTEGER_LITERAL;
01660 }
01661 YY_BREAK
01662 case 79:
01663 YY_RULE_SETUP
01664 #line 264 "scanner.ll"
01665 {
01666 yylval._int = ascii_to_longlong( 16, yytext + 2 );
01667 return T_INTEGER_LITERAL;
01668 }
01669 YY_BREAK
01670 case 80:
01671 YY_RULE_SETUP
01672 #line 268 "scanner.ll"
01673 {
01674 QCString s( yytext );
01675 s = s.mid( 1, s.length() - 2 );
01676 yylval._char = translate_char( s );
01677 return T_CHARACTER_LITERAL;
01678 }
01679 YY_BREAK
01680 case 81:
01681 YY_RULE_SETUP
01682 #line 274 "scanner.ll"
01683 {
01684 QString s( yytext );
01685 yylval._str = new QString( s.mid( 1, s.length() - 2 ) );
01686 return T_STRING_LITERAL;
01687 }
01688 YY_BREAK
01689 case 82:
01690 YY_RULE_SETUP
01691 #line 279 "scanner.ll"
01692 {
01693 if (function_mode)
01694 return yylex();
01695
01696 qFatal("could not parse %c(%d) at line %d" , yytext[0], yytext[0], idl_line_no);
01697 return T_UNKNOWN;
01698 }
01699 YY_BREAK
01700 case 83:
01701 YY_RULE_SETUP
01702 #line 287 "scanner.ll"
01703 ECHO;
01704 YY_BREAK
01705 #line 1706 "scanner.cc"
01706 case YY_STATE_EOF(INITIAL):
01707 yyterminate();
01708
01709 case YY_END_OF_BUFFER:
01710 {
01711
01712 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
01713
01714
01715 *yy_cp = (yy_hold_char);
01716 YY_RESTORE_YY_MORE_OFFSET
01717
01718 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01719 {
01720
01721
01722
01723
01724
01725
01726
01727
01728
01729 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01730 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01731 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01732 }
01733
01734
01735
01736
01737
01738
01739
01740
01741 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01742 {
01743 yy_state_type yy_next_state;
01744
01745 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
01746
01747 yy_current_state = yy_get_previous_state( );
01748
01749
01750
01751
01752
01753
01754
01755
01756
01757
01758 yy_next_state = yy_try_NUL_trans( yy_current_state );
01759
01760 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01761
01762 if ( yy_next_state )
01763 {
01764
01765 yy_cp = ++(yy_c_buf_p);
01766 yy_current_state = yy_next_state;
01767 goto yy_match;
01768 }
01769
01770 else
01771 {
01772 yy_cp = (yy_c_buf_p);
01773 goto yy_find_action;
01774 }
01775 }
01776
01777 else switch ( yy_get_next_buffer( ) )
01778 {
01779 case EOB_ACT_END_OF_FILE:
01780 {
01781 (yy_did_buffer_switch_on_eof) = 0;
01782
01783 if ( yywrap( ) )
01784 {
01785
01786
01787
01788
01789
01790
01791
01792
01793
01794 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
01795
01796 yy_act = YY_STATE_EOF(YY_START);
01797 goto do_action;
01798 }
01799
01800 else
01801 {
01802 if ( ! (yy_did_buffer_switch_on_eof) )
01803 YY_NEW_FILE;
01804 }
01805 break;
01806 }
01807
01808 case EOB_ACT_CONTINUE_SCAN:
01809 (yy_c_buf_p) =
01810 (yytext_ptr) + yy_amount_of_matched_text;
01811
01812 yy_current_state = yy_get_previous_state( );
01813
01814 yy_cp = (yy_c_buf_p);
01815 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01816 goto yy_match;
01817
01818 case EOB_ACT_LAST_MATCH:
01819 (yy_c_buf_p) =
01820 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
01821
01822 yy_current_state = yy_get_previous_state( );
01823
01824 yy_cp = (yy_c_buf_p);
01825 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01826 goto yy_find_action;
01827 }
01828 break;
01829 }
01830
01831 default:
01832 YY_FATAL_ERROR(
01833 "fatal flex scanner internal error--no action found" );
01834 }
01835 }
01836 }
01837
01838
01839
01840
01841
01842
01843
01844
01845 static int yy_get_next_buffer (void)
01846 {
01847 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01848 register char *source = (yytext_ptr);
01849 register int number_to_move, i;
01850 int ret_val;
01851
01852 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
01853 YY_FATAL_ERROR(
01854 "fatal flex scanner internal error--end of buffer missed" );
01855
01856 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01857 {
01858 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
01859 {
01860
01861
01862
01863 return EOB_ACT_END_OF_FILE;
01864 }
01865
01866 else
01867 {
01868
01869
01870
01871 return EOB_ACT_LAST_MATCH;
01872 }
01873 }
01874
01875
01876
01877
01878 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
01879
01880 for ( i = 0; i < number_to_move; ++i )
01881 *(dest++) = *(source++);
01882
01883 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01884
01885
01886
01887 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
01888
01889 else
01890 {
01891 size_t num_to_read =
01892 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01893
01894 while ( num_to_read <= 0 )
01895 {
01896
01897 YY_FATAL_ERROR(
01898 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
01899
01900 }
01901
01902 if ( num_to_read > YY_READ_BUF_SIZE )
01903 num_to_read = YY_READ_BUF_SIZE;
01904
01905
01906 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01907 (yy_n_chars), num_to_read );
01908
01909 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
01910 }
01911
01912 if ( (yy_n_chars) == 0 )
01913 {
01914 if ( number_to_move == YY_MORE_ADJ )
01915 {
01916 ret_val = EOB_ACT_END_OF_FILE;
01917 yyrestart(yyin );
01918 }
01919
01920 else
01921 {
01922 ret_val = EOB_ACT_LAST_MATCH;
01923 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
01924 YY_BUFFER_EOF_PENDING;
01925 }
01926 }
01927
01928 else
01929 ret_val = EOB_ACT_CONTINUE_SCAN;
01930
01931 (yy_n_chars) += number_to_move;
01932 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
01933 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
01934
01935 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
01936
01937 return ret_val;
01938 }
01939
01940
01941
01942 static yy_state_type yy_get_previous_state (void)
01943 {
01944 register yy_state_type yy_current_state;
01945 register char *yy_cp;
01946
01947 yy_current_state = (yy_start);
01948
01949 (yy_state_ptr) = (yy_state_buf);
01950 *(yy_state_ptr)++ = yy_current_state;
01951
01952 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
01953 {
01954 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01955 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01956 {
01957 yy_current_state = (int) yy_def[yy_current_state];
01958 if ( yy_current_state >= 311 )
01959 yy_c = yy_meta[(unsigned int) yy_c];
01960 }
01961 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01962 *(yy_state_ptr)++ = yy_current_state;
01963 }
01964
01965 return yy_current_state;
01966 }
01967
01968
01969
01970
01971
01972
01973 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
01974 {
01975 register int yy_is_jam;
01976
01977 register YY_CHAR yy_c = 1;
01978 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01979 {
01980 yy_current_state = (int) yy_def[yy_current_state];
01981 if ( yy_current_state >= 311 )
01982 yy_c = yy_meta[(unsigned int) yy_c];
01983 }
01984 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01985 yy_is_jam = (yy_current_state == 310);
01986 if ( ! yy_is_jam )
01987 *(yy_state_ptr)++ = yy_current_state;
01988
01989 return yy_is_jam ? 0 : yy_current_state;
01990 }
01991
01992 static void yyunput (int c, register char * yy_bp )
01993 {
01994 register char *yy_cp;
01995
01996 yy_cp = (yy_c_buf_p);
01997
01998
01999 *yy_cp = (yy_hold_char);
02000
02001 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02002 {
02003
02004 register int number_to_move = (yy_n_chars) + 2;
02005 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
02006 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
02007 register char *source =
02008 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
02009
02010 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02011 *--dest = *--source;
02012
02013 yy_cp += (int) (dest - source);
02014 yy_bp += (int) (dest - source);
02015 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
02016 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
02017
02018 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02019 YY_FATAL_ERROR( "flex scanner push-back overflow" );
02020 }
02021
02022 *--yy_cp = (char) c;
02023
02024 (yytext_ptr) = yy_bp;
02025 (yy_hold_char) = *yy_cp;
02026 (yy_c_buf_p) = yy_cp;
02027 }
02028
02029 #ifndef YY_NO_INPUT
02030 #ifdef __cplusplus
02031 static int yyinput (void)
02032 #else
02033 static int input (void)
02034 #endif
02035
02036 {
02037 int c;
02038
02039 *(yy_c_buf_p) = (yy_hold_char);
02040
02041 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
02042 {
02043
02044
02045
02046
02047 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
02048
02049 *(yy_c_buf_p) = '\0';
02050
02051 else
02052 {
02053 int offset = (yy_c_buf_p) - (yytext_ptr);
02054 ++(yy_c_buf_p);
02055
02056 switch ( yy_get_next_buffer( ) )
02057 {
02058 case EOB_ACT_LAST_MATCH:
02059
02060
02061
02062
02063
02064
02065
02066
02067
02068
02069
02070 yyrestart(yyin );
02071
02072
02073
02074 case EOB_ACT_END_OF_FILE:
02075 {
02076 if ( yywrap( ) )
02077 return EOF;
02078
02079 if ( ! (yy_did_buffer_switch_on_eof) )
02080 YY_NEW_FILE;
02081 #ifdef __cplusplus
02082 return yyinput();
02083 #else
02084 return input();
02085 #endif
02086 }
02087
02088 case EOB_ACT_CONTINUE_SCAN:
02089 (yy_c_buf_p) = (yytext_ptr) + offset;
02090 break;
02091 }
02092 }
02093 }
02094
02095 c = *(unsigned char *) (yy_c_buf_p);
02096 *(yy_c_buf_p) = '\0';
02097 (yy_hold_char) = *++(yy_c_buf_p);
02098
02099 return c;
02100 }
02101 #endif
02102
02108 void yyrestart (FILE * input_file )
02109 {
02110
02111 if ( ! YY_CURRENT_BUFFER ){
02112 yyensure_buffer_stack ();
02113 YY_CURRENT_BUFFER_LVALUE =
02114 yy_create_buffer(yyin,YY_BUF_SIZE );
02115 }
02116
02117 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
02118 yy_load_buffer_state( );
02119 }
02120
02125 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
02126 {
02127
02128
02129
02130
02131
02132
02133 yyensure_buffer_stack ();
02134 if ( YY_CURRENT_BUFFER == new_buffer )
02135 return;
02136
02137 if ( YY_CURRENT_BUFFER )
02138 {
02139
02140 *(yy_c_buf_p) = (yy_hold_char);
02141 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02142 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02143 }
02144
02145 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02146 yy_load_buffer_state( );
02147
02148
02149
02150
02151
02152
02153 (yy_did_buffer_switch_on_eof) = 1;
02154 }
02155
02156 static void yy_load_buffer_state (void)
02157 {
02158 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02159 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02160 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02161 (yy_hold_char) = *(yy_c_buf_p);
02162 }
02163
02170 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
02171 {
02172 YY_BUFFER_STATE b;
02173
02174 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02175 if ( ! b )
02176 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02177
02178 b->yy_buf_size = size;
02179
02180
02181
02182
02183 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
02184 if ( ! b->yy_ch_buf )
02185 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
02186
02187 b->yy_is_our_buffer = 1;
02188
02189 yy_init_buffer(b,file );
02190
02191 return b;
02192 }
02193
02198 void yy_delete_buffer (YY_BUFFER_STATE b )
02199 {
02200
02201 if ( ! b )
02202 return;
02203
02204 if ( b == YY_CURRENT_BUFFER )
02205 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02206
02207 if ( b->yy_is_our_buffer )
02208 yyfree((void *) b->yy_ch_buf );
02209
02210 yyfree((void *) b );
02211 }
02212
02213
02214
02215
02216
02217 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
02218
02219 {
02220 int oerrno = errno;
02221
02222 yy_flush_buffer(b );
02223
02224 b->yy_input_file = file;
02225 b->yy_fill_buffer = 1;
02226
02227
02228
02229
02230
02231 if (b != YY_CURRENT_BUFFER){
02232 b->yy_bs_lineno = 1;
02233 b->yy_bs_column = 0;
02234 }
02235
02236 b->yy_is_interactive = 0;
02237
02238 errno = oerrno;
02239 }
02240
02245 void yy_flush_buffer (YY_BUFFER_STATE b )
02246 {
02247 if ( ! b )
02248 return;
02249
02250 b->yy_n_chars = 0;
02251
02252
02253
02254
02255
02256 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02257 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02258
02259 b->yy_buf_pos = &b->yy_ch_buf[0];
02260
02261 b->yy_at_bol = 1;
02262 b->yy_buffer_status = YY_BUFFER_NEW;
02263
02264 if ( b == YY_CURRENT_BUFFER )
02265 yy_load_buffer_state( );
02266 }
02267
02274 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
02275 {
02276 if (new_buffer == NULL)
02277 return;
02278
02279 yyensure_buffer_stack();
02280
02281
02282 if ( YY_CURRENT_BUFFER )
02283 {
02284
02285 *(yy_c_buf_p) = (yy_hold_char);
02286 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02287 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02288 }
02289
02290
02291 if (YY_CURRENT_BUFFER)
02292 (yy_buffer_stack_top)++;
02293 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02294
02295
02296 yy_load_buffer_state( );
02297 (yy_did_buffer_switch_on_eof) = 1;
02298 }
02299
02304 void yypop_buffer_state (void)
02305 {
02306 if (!YY_CURRENT_BUFFER)
02307 return;
02308
02309 yy_delete_buffer(YY_CURRENT_BUFFER );
02310 YY_CURRENT_BUFFER_LVALUE = NULL;
02311 if ((yy_buffer_stack_top) > 0)
02312 --(yy_buffer_stack_top);
02313
02314 if (YY_CURRENT_BUFFER) {
02315 yy_load_buffer_state( );
02316 (yy_did_buffer_switch_on_eof) = 1;
02317 }
02318 }
02319
02320
02321
02322
02323 static void yyensure_buffer_stack (void)
02324 {
02325 int num_to_alloc;
02326
02327 if (!(yy_buffer_stack)) {
02328
02329
02330
02331
02332
02333 num_to_alloc = 1;
02334 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
02335 (num_to_alloc * sizeof(struct yy_buffer_state*)
02336 );
02337
02338 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02339
02340 (yy_buffer_stack_max) = num_to_alloc;
02341 (yy_buffer_stack_top) = 0;
02342 return;
02343 }
02344
02345 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
02346
02347
02348 int grow_size = 8 ;
02349
02350 num_to_alloc = (yy_buffer_stack_max) + grow_size;
02351 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
02352 ((yy_buffer_stack),
02353 num_to_alloc * sizeof(struct yy_buffer_state*)
02354 );
02355
02356
02357 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
02358 (yy_buffer_stack_max) = num_to_alloc;
02359 }
02360 }
02361
02368 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
02369 {
02370 YY_BUFFER_STATE b;
02371
02372 if ( size < 2 ||
02373 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02374 base[size-1] != YY_END_OF_BUFFER_CHAR )
02375
02376 return 0;
02377
02378 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
02379 if ( ! b )
02380 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02381
02382 b->yy_buf_size = size - 2;
02383 b->yy_buf_pos = b->yy_ch_buf = base;
02384 b->yy_is_our_buffer = 0;
02385 b->yy_input_file = 0;
02386 b->yy_n_chars = b->yy_buf_size;
02387 b->yy_is_interactive = 0;
02388 b->yy_at_bol = 1;
02389 b->yy_fill_buffer = 0;
02390 b->yy_buffer_status = YY_BUFFER_NEW;
02391
02392 yy_switch_to_buffer(b );
02393
02394 return b;
02395 }
02396
02405 YY_BUFFER_STATE yy_scan_string (yyconst char * yy_str )
02406 {
02407
02408 return yy_scan_bytes(yy_str,strlen(yy_str) );
02409 }
02410
02418 YY_BUFFER_STATE yy_scan_bytes (yyconst char * bytes, int len )
02419 {
02420 YY_BUFFER_STATE b;
02421 char *buf;
02422 yy_size_t n;
02423 int i;
02424
02425
02426 n = len + 2;
02427 buf = (char *) yyalloc(n );
02428 if ( ! buf )
02429 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02430
02431 for ( i = 0; i < len; ++i )
02432 buf[i] = bytes[i];
02433
02434 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
02435
02436 b = yy_scan_buffer(buf,n );
02437 if ( ! b )
02438 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02439
02440
02441
02442
02443 b->yy_is_our_buffer = 1;
02444
02445 return b;
02446 }
02447
02448 #ifndef YY_EXIT_FAILURE
02449 #define YY_EXIT_FAILURE 2
02450 #endif
02451
02452 static void yy_fatal_error (yyconst char* msg )
02453 {
02454 (void) fprintf( stderr, "%s\n", msg );
02455 exit( YY_EXIT_FAILURE );
02456 }
02457
02458
02459
02460 #undef yyless
02461 #define yyless(n) \
02462 do \
02463 { \
02464 \
02465 int yyless_macro_arg = (n); \
02466 YY_LESS_LINENO(yyless_macro_arg);\
02467 yytext[yyleng] = (yy_hold_char); \
02468 (yy_c_buf_p) = yytext + yyless_macro_arg; \
02469 (yy_hold_char) = *(yy_c_buf_p); \
02470 *(yy_c_buf_p) = '\0'; \
02471 yyleng = yyless_macro_arg; \
02472 } \
02473 while ( 0 )
02474
02475
02476
02480 int yyget_lineno (void)
02481 {
02482
02483 return yylineno;
02484 }
02485
02489 FILE *yyget_in (void)
02490 {
02491 return yyin;
02492 }
02493
02497 FILE *yyget_out (void)
02498 {
02499 return yyout;
02500 }
02501
02505 int yyget_leng (void)
02506 {
02507 return yyleng;
02508 }
02509
02514 char *yyget_text (void)
02515 {
02516 return yytext;
02517 }
02518
02523 void yyset_lineno (int line_number )
02524 {
02525
02526 yylineno = line_number;
02527 }
02528
02535 void yyset_in (FILE * in_str )
02536 {
02537 yyin = in_str ;
02538 }
02539
02540 void yyset_out (FILE * out_str )
02541 {
02542 yyout = out_str ;
02543 }
02544
02545 int yyget_debug (void)
02546 {
02547 return yy_flex_debug;
02548 }
02549
02550 void yyset_debug (int bdebug )
02551 {
02552 yy_flex_debug = bdebug ;
02553 }
02554
02555
02556 int yylex_destroy (void)
02557 {
02558
02559
02560 while(YY_CURRENT_BUFFER){
02561 yy_delete_buffer(YY_CURRENT_BUFFER );
02562 YY_CURRENT_BUFFER_LVALUE = NULL;
02563 yypop_buffer_state();
02564 }
02565
02566
02567 yyfree((yy_buffer_stack) );
02568 (yy_buffer_stack) = NULL;
02569
02570 yyfree ( (yy_state_buf) );
02571
02572 return 0;
02573 }
02574
02575
02576
02577
02578
02579 #ifndef yytext_ptr
02580 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
02581 {
02582 register int i;
02583 for ( i = 0; i < n; ++i )
02584 s1[i] = s2[i];
02585 }
02586 #endif
02587
02588 #ifdef YY_NEED_STRLEN
02589 static int yy_flex_strlen (yyconst char * s )
02590 {
02591 register int n;
02592 for ( n = 0; s[n]; ++n )
02593 ;
02594
02595 return n;
02596 }
02597 #endif
02598
02599 void *yyalloc (yy_size_t size )
02600 {
02601 return (void *) malloc( size );
02602 }
02603
02604 void *yyrealloc (void * ptr, yy_size_t size )
02605 {
02606
02607
02608
02609
02610
02611
02612
02613 return (void *) realloc( (char *) ptr, size );
02614 }
02615
02616 void yyfree (void * ptr )
02617 {
02618 free( (char *) ptr );
02619 }
02620
02621 #define YYTABLES_NAME "yytables"
02622
02623 #undef YY_NEW_FILE
02624 #undef YY_FLUSH_BUFFER
02625 #undef yy_set_bol
02626 #undef yy_new_buffer
02627 #undef yy_set_interactive
02628 #undef yytext_ptr
02629 #undef YY_DO_BEFORE_ACTION
02630
02631 #ifdef YY_DECL_IS_OURS
02632 #undef YY_DECL_IS_OURS
02633 #undef YY_DECL
02634 #endif
02635 #line 287 "scanner.ll"
02636
02637
02638
02639 void dcopidlInitFlex( const char *_code )
02640 {
02641 comment_mode = 0;
02642 yy_switch_to_buffer(yy_scan_string(_code ) );
02643 }
02644