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 }