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