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