00001 #line 2 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.cpp"
00002
00003 #line 4 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.cpp"
00004
00005 #define YY_INT_ALIGNED short int
00006
00007
00008
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016
00017
00018
00019
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024
00025
00026
00027
00028
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031
00032
00033
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035
00036
00037
00038
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t;
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057
00058
00059 #ifndef INT8_MIN
00060 #define INT8_MIN (-128)
00061 #endif
00062 #ifndef INT16_MIN
00063 #define INT16_MIN (-32767-1)
00064 #endif
00065 #ifndef INT32_MIN
00066 #define INT32_MIN (-2147483647-1)
00067 #endif
00068 #ifndef INT8_MAX
00069 #define INT8_MAX (127)
00070 #endif
00071 #ifndef INT16_MAX
00072 #define INT16_MAX (32767)
00073 #endif
00074 #ifndef INT32_MAX
00075 #define INT32_MAX (2147483647)
00076 #endif
00077 #ifndef UINT8_MAX
00078 #define UINT8_MAX (255U)
00079 #endif
00080 #ifndef UINT16_MAX
00081 #define UINT16_MAX (65535U)
00082 #endif
00083 #ifndef UINT32_MAX
00084 #define UINT32_MAX (4294967295U)
00085 #endif
00086
00087 #endif
00088
00089 #endif
00090
00091 #ifdef __cplusplus
00092
00093
00094 #define YY_USE_CONST
00095
00096 #else
00097
00098
00099 #if defined (__STDC__)
00100
00101 #define YY_USE_CONST
00102
00103 #endif
00104 #endif
00105
00106 #ifdef YY_USE_CONST
00107 #define yyconst const
00108 #else
00109 #define yyconst
00110 #endif
00111
00112
00113 #define YY_NULL 0
00114
00115
00116
00117
00118
00119
00120 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00121
00122
00123 #ifndef YY_TYPEDEF_YY_SCANNER_T
00124 #define YY_TYPEDEF_YY_SCANNER_T
00125 typedef void* yyscan_t;
00126 #endif
00127
00128
00129
00130 #define yyin yyg->yyin_r
00131 #define yyout yyg->yyout_r
00132 #define yyextra yyg->yyextra_r
00133 #define yyleng yyg->yyleng_r
00134 #define yytext yyg->yytext_r
00135 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00136 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00137 #define yy_flex_debug yyg->yy_flex_debug_r
00138
00139
00140
00141
00142
00143 #define BEGIN yyg->yy_start = 1 + 2 *
00144
00145
00146
00147
00148
00149 #define YY_START ((yyg->yy_start - 1) / 2)
00150 #define YYSTATE YY_START
00151
00152
00153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00154
00155
00156 #define YY_NEW_FILE osssrestart(yyin ,yyscanner )
00157
00158 #define YY_END_OF_BUFFER_CHAR 0
00159
00160
00161 #ifndef YY_BUF_SIZE
00162 #ifdef __ia64__
00163
00164
00165
00166
00167 #define YY_BUF_SIZE 32768
00168 #else
00169 #define YY_BUF_SIZE 16384
00170 #endif
00171 #endif
00172
00173
00174
00175 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00176
00177 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00178 #define YY_TYPEDEF_YY_BUFFER_STATE
00179 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00180 #endif
00181
00182 #define EOB_ACT_CONTINUE_SCAN 0
00183 #define EOB_ACT_END_OF_FILE 1
00184 #define EOB_ACT_LAST_MATCH 2
00185
00186
00187
00188
00189
00190
00191
00192
00193 #define YY_LESS_LINENO(n) \
00194 do { \
00195 int yyl;\
00196 for ( yyl = n; yyl < yyleng; ++yyl )\
00197 if ( yytext[yyl] == '\n' )\
00198 --yylineno;\
00199 }while(0)
00200
00201
00202 #define yyless(n) \
00203 do \
00204 { \
00205 \
00206 int yyless_macro_arg = (n); \
00207 YY_LESS_LINENO(yyless_macro_arg);\
00208 *yy_cp = yyg->yy_hold_char; \
00209 YY_RESTORE_YY_MORE_OFFSET \
00210 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00211 YY_DO_BEFORE_ACTION; \
00212 } \
00213 while ( 0 )
00214
00215 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
00216
00217 #ifndef YY_TYPEDEF_YY_SIZE_T
00218 #define YY_TYPEDEF_YY_SIZE_T
00219 typedef size_t yy_size_t;
00220 #endif
00221
00222 #ifndef YY_STRUCT_YY_BUFFER_STATE
00223 #define YY_STRUCT_YY_BUFFER_STATE
00224 struct yy_buffer_state
00225 {
00226 FILE *yy_input_file;
00227
00228 char *yy_ch_buf;
00229 char *yy_buf_pos;
00230
00231
00232
00233
00234 yy_size_t yy_buf_size;
00235
00236
00237
00238
00239 int yy_n_chars;
00240
00241
00242
00243
00244
00245 int yy_is_our_buffer;
00246
00247
00248
00249
00250
00251
00252 int yy_is_interactive;
00253
00254
00255
00256
00257
00258 int yy_at_bol;
00259
00260 int yy_bs_lineno;
00261 int yy_bs_column;
00263
00264
00265
00266 int yy_fill_buffer;
00267
00268 int yy_buffer_status;
00269
00270 #define YY_BUFFER_NEW 0
00271 #define YY_BUFFER_NORMAL 1
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281
00282 #define YY_BUFFER_EOF_PENDING 2
00283
00284 };
00285 #endif
00286
00287
00288
00289
00290
00291
00292
00293 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00294 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00295 : NULL)
00296
00297
00298
00299
00300 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00301
00302 void osssrestart (FILE *input_file ,yyscan_t yyscanner );
00303 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00304 YY_BUFFER_STATE osss_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00305 void osss_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00306 void osss_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00307 void ossspush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00308 void ossspop_buffer_state (yyscan_t yyscanner );
00309
00310 static void osssensure_buffer_stack (yyscan_t yyscanner );
00311 static void osss_load_buffer_state (yyscan_t yyscanner );
00312 static void osss_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00313
00314 #define YY_FLUSH_BUFFER osss_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00315
00316 YY_BUFFER_STATE osss_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00317 YY_BUFFER_STATE osss_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00318 YY_BUFFER_STATE osss_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00319
00320 void *osssalloc (yy_size_t ,yyscan_t yyscanner );
00321 void *osssrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00322 void osssfree (void * ,yyscan_t yyscanner );
00323
00324 #define yy_new_buffer osss_create_buffer
00325
00326 #define yy_set_interactive(is_interactive) \
00327 { \
00328 if ( ! YY_CURRENT_BUFFER ){ \
00329 osssensure_buffer_stack (yyscanner); \
00330 YY_CURRENT_BUFFER_LVALUE = \
00331 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00332 } \
00333 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00334 }
00335
00336 #define yy_set_bol(at_bol) \
00337 { \
00338 if ( ! YY_CURRENT_BUFFER ){\
00339 osssensure_buffer_stack (yyscanner); \
00340 YY_CURRENT_BUFFER_LVALUE = \
00341 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00342 } \
00343 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00344 }
00345
00346 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00347
00348
00349
00350 #define ossswrap(n) 1
00351 #define YY_SKIP_YYWRAP
00352
00353 typedef unsigned char YY_CHAR;
00354
00355 typedef int yy_state_type;
00356
00357 #define yytext_ptr yytext_r
00358
00359 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
00360 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
00361 static int yy_get_next_buffer (yyscan_t yyscanner );
00362 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
00363
00364
00365
00366
00367 #define YY_DO_BEFORE_ACTION \
00368 yyg->yytext_ptr = yy_bp; \
00369 yyleng = (size_t) (yy_cp - yy_bp); \
00370 yyg->yy_hold_char = *yy_cp; \
00371 *yy_cp = '\0'; \
00372 yyg->yy_c_buf_p = yy_cp;
00373
00374 #define YY_NUM_RULES 46
00375 #define YY_END_OF_BUFFER 47
00376
00377
00378 struct yy_trans_info
00379 {
00380 flex_int32_t yy_verify;
00381 flex_int32_t yy_nxt;
00382 };
00383 static yyconst flex_int16_t yy_accept[422] =
00384 { 0,
00385 1, 1, 47, 45, 1, 1, 45, 8, 45, 45,
00386 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
00387 45, 1, 0, 7, 0, 0, 0, 6, 0, 0,
00388 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
00389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00394 0, 0, 0, 0, 0, 0, 0, 0, 18, 5,
00395
00396 0, 0, 34, 0, 0, 0, 0, 0, 0, 17,
00397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00398 0, 33, 0, 0, 0, 0, 0, 0, 0, 0,
00399 0, 0, 36, 0, 0, 32, 0, 0, 34, 0,
00400 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,
00401 0, 0, 0, 35, 0, 0, 31, 0, 0, 33,
00402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00403 0, 36, 0, 0, 32, 20, 0, 24, 0, 0,
00404 0, 22, 0, 0, 0, 0, 0, 0, 0, 0,
00405 0, 0, 0, 35, 0, 0, 31, 19, 0, 23,
00406
00407 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
00408 0, 0, 20, 0, 24, 0, 0, 0, 22, 0,
00409 0, 0, 0, 15, 0, 0, 0, 0, 0, 0,
00410 19, 0, 23, 0, 0, 0, 21, 0, 0, 0,
00411 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
00412 42, 0, 0, 14, 0, 2, 0, 0, 0, 0,
00413 0, 0, 0, 41, 0, 44, 0, 0, 3, 30,
00414 0, 0, 0, 0, 13, 0, 0, 0, 42, 0,
00415 43, 0, 0, 2, 29, 0, 0, 0, 0, 0,
00416 0, 0, 41, 0, 44, 0, 30, 0, 0, 10,
00417
00418 12, 0, 0, 0, 0, 0, 43, 0, 29, 0,
00419 0, 11, 0, 0, 0, 26, 0, 0, 0, 12,
00420 0, 0, 9, 25, 0, 0, 0, 11, 0, 0,
00421 0, 26, 28, 0, 0, 0, 0, 25, 27, 0,
00422 0, 0, 0, 28, 0, 0, 0, 27, 0, 0,
00423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00425 0, 0, 0, 0, 0, 0, 0, 0, 40, 0,
00426 0, 0, 0, 0, 0, 0, 39, 0, 0, 0,
00427 0, 0, 0, 0, 0, 40, 0, 38, 0, 0,
00428
00429 0, 0, 39, 0, 37, 0, 0, 0, 0, 0,
00430 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00431 0
00432 } ;
00433
00434 static yyconst flex_int32_t yy_ec[256] =
00435 { 0,
00436 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00437 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00438 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00439 1, 2, 4, 5, 4, 4, 1, 4, 1, 4,
00440 4, 4, 4, 1, 6, 4, 4, 4, 4, 4,
00441 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
00442 1, 1, 7, 4, 4, 4, 4, 8, 4, 4,
00443 4, 4, 9, 10, 4, 11, 12, 4, 13, 4,
00444 4, 14, 4, 4, 4, 4, 4, 4, 4, 4,
00445 1, 4, 1, 1, 4, 1, 15, 16, 17, 18,
00446
00447 19, 20, 21, 22, 23, 4, 24, 25, 26, 27,
00448 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
00449 4, 4, 1, 1, 1, 4, 1, 1, 1, 1,
00450 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00451 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00452 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00454 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00455 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00457
00458 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00459 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00460 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00461 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00462 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00463 1, 1, 1, 1, 1
00464 } ;
00465
00466 static yyconst flex_int32_t yy_meta[38] =
00467 { 0,
00468 1, 2, 3, 2, 2, 2, 2, 2, 2, 2,
00469 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00470 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00471 2, 2, 2, 2, 2, 2, 2
00472 } ;
00473
00474 static yyconst flex_int16_t yy_base[478] =
00475 { 0,
00476 0, 0, 710, 711, 36, 38, 36, 711, 678, 680,
00477 692, 669, 686, 677, 674, 677, 669, 669, 665, 27,
00478 679, 42, 38, 711, 666, 668, 680, 711, 667, 664,
00479 667, 659, 659, 28, 711, 661, 661, 654, 663, 660,
00480 652, 651, 46, 46, 659, 658, 649, 654, 647, 658,
00481 645, 656, 646, 646, 639, 639, 638, 48, 53, 646,
00482 637, 642, 630, 645, 76, 631, 634, 651, 83, 85,
00483 636, 635, 634, 633, 630, 623, 620, 619, 621, 627,
00484 628, 619, 613, 628, 89, 636, 91, 93, 621, 620,
00485 619, 618, 615, 606, 605, 607, 615, 97, 711, 711,
00486
00487 614, 101, 105, 631, 109, 111, 48, 113, 602, 711,
00488 611, 614, 609, 602, 603, 597, 596, 604, 115, 603,
00489 119, 123, 620, 127, 129, 57, 131, 591, 600, 603,
00490 602, 599, 133, 614, 586, 137, 612, 611, 711, 141,
00491 145, 588, 580, 149, 141, 596, 581, 583, 711, 577,
00492 586, 589, 586, 154, 601, 573, 158, 599, 598, 711,
00493 162, 166, 575, 567, 170, 586, 582, 567, 566, 174,
00494 591, 711, 562, 589, 711, 176, 588, 180, 587, 562,
00495 557, 184, 584, 560, 559, 567, 188, 558, 572, 555,
00496 551, 190, 576, 711, 547, 574, 711, 192, 573, 196,
00497
00498 572, 547, 542, 200, 569, 545, 553, 204, 206, 208,
00499 212, 566, 711, 565, 711, 535, 539, 562, 711, 548,
00500 529, 205, 216, 711, 536, 536, 220, 222, 226, 557,
00501 711, 556, 711, 526, 530, 553, 711, 521, 219, 230,
00502 234, 238, 551, 242, 522, 520, 534, 246, 524, 532,
00503 248, 545, 531, 711, 252, 256, 543, 260, 514, 512,
00504 264, 517, 525, 266, 538, 270, 537, 536, 711, 274,
00505 535, 278, 506, 513, 280, 520, 503, 530, 711, 515,
00506 284, 528, 527, 711, 288, 526, 292, 497, 294, 512,
00507 495, 522, 711, 521, 711, 520, 711, 298, 302, 711,
00508
00509 304, 519, 508, 500, 382, 401, 711, 400, 711, 308,
00510 312, 314, 399, 388, 380, 318, 395, 322, 394, 711,
00511 364, 368, 711, 326, 390, 330, 389, 711, 360, 364,
00512 386, 711, 334, 385, 366, 370, 382, 711, 338, 381,
00513 362, 366, 378, 711, 354, 342, 376, 711, 348, 344,
00514 348, 346, 347, 377, 348, 354, 74, 353, 61, 350,
00515 347, 82, 345, 130, 352, 327, 331, 314, 305, 307,
00516 305, 356, 293, 297, 290, 279, 281, 277, 360, 293,
00517 282, 263, 267, 247, 256, 235, 366, 259, 250, 231,
00518 235, 215, 224, 203, 229, 711, 198, 711, 196, 189,
00519
00520 185, 195, 711, 168, 711, 164, 161, 161, 158, 151,
00521 150, 143, 136, 106, 128, 92, 115, 100, 75, 53,
00522 711, 408, 410, 412, 414, 417, 418, 420, 423, 425,
00523 427, 428, 430, 432, 435, 437, 438, 440, 442, 445,
00524 447, 449, 451, 453, 455, 456, 458, 460, 462, 464,
00525 467, 468, 471, 472, 475, 476, 479, 481, 483, 484,
00526 487, 489, 490, 492, 495, 496, 499, 501, 502, 505,
00527 506, 509, 511, 512, 514, 517, 519
00528 } ;
00529
00530 static yyconst flex_int16_t yy_def[478] =
00531 { 0,
00532 421, 1, 421, 421, 421, 421, 421, 421, 421, 421,
00533 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00534 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00535 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00536 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00537 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00538 421, 421, 421, 421, 421, 421, 421, 421, 421, 422,
00539 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00540 421, 421, 421, 421, 421, 421, 421, 423, 421, 421,
00541 421, 421, 421, 421, 421, 421, 421, 424, 421, 421,
00542
00543 421, 425, 422, 426, 421, 421, 421, 421, 421, 421,
00544 421, 421, 421, 421, 421, 421, 421, 421, 427, 421,
00545 428, 423, 429, 421, 421, 421, 421, 421, 421, 421,
00546 421, 421, 424, 430, 421, 425, 431, 426, 421, 432,
00547 433, 421, 421, 434, 421, 421, 421, 421, 421, 421,
00548 421, 421, 421, 427, 435, 421, 428, 436, 429, 421,
00549 437, 438, 421, 421, 439, 421, 421, 421, 421, 421,
00550 430, 421, 421, 431, 421, 432, 440, 433, 441, 421,
00551 421, 434, 442, 421, 421, 421, 421, 421, 421, 421,
00552 421, 421, 435, 421, 421, 436, 421, 437, 443, 438,
00553
00554 444, 421, 421, 439, 445, 421, 421, 421, 421, 446,
00555 421, 440, 421, 441, 421, 421, 421, 442, 421, 421,
00556 421, 421, 447, 421, 421, 421, 421, 448, 421, 443,
00557 421, 444, 421, 421, 421, 445, 421, 421, 421, 449,
00558 450, 446, 451, 452, 421, 421, 421, 421, 421, 421,
00559 447, 453, 421, 421, 454, 448, 455, 456, 421, 421,
00560 421, 421, 421, 449, 457, 450, 458, 451, 421, 452,
00561 459, 421, 421, 421, 460, 421, 421, 453, 421, 421,
00562 454, 461, 455, 421, 456, 462, 421, 421, 463, 421,
00563 421, 457, 421, 458, 421, 459, 421, 464, 421, 421,
00564
00565 460, 465, 421, 421, 421, 461, 421, 462, 421, 466,
00566 421, 463, 467, 421, 421, 464, 468, 469, 465, 421,
00567 421, 421, 421, 466, 470, 471, 467, 421, 421, 421,
00568 468, 421, 469, 472, 421, 421, 470, 421, 471, 473,
00569 421, 421, 472, 421, 421, 421, 473, 421, 421, 421,
00570 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00571 421, 421, 421, 421, 474, 421, 421, 421, 421, 421,
00572 421, 475, 421, 421, 421, 421, 421, 421, 474, 476,
00573 421, 421, 421, 421, 421, 421, 475, 477, 421, 421,
00574 421, 421, 421, 421, 476, 421, 421, 421, 421, 421,
00575
00576 421, 477, 421, 421, 421, 421, 421, 421, 421, 421,
00577 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00578 0, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00579 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00580 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00581 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00582 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00583 421, 421, 421, 421, 421, 421, 421
00584 } ;
00585
00586 static yyconst flex_int16_t yy_nxt[749] =
00587 { 0,
00588 4, 5, 6, 4, 4, 7, 8, 4, 4, 4,
00589 4, 4, 4, 4, 4, 9, 10, 11, 12, 4,
00590 4, 13, 14, 4, 4, 15, 16, 17, 18, 19,
00591 4, 20, 4, 4, 21, 4, 4, 22, 22, 22,
00592 22, 23, 24, 22, 22, 47, 61, 70, 70, 88,
00593 88, 25, 26, 27, 48, 62, 142, 28, 29, 50,
00594 143, 30, 31, 32, 33, 163, 51, 34, 71, 164,
00595 35, 405, 52, 72, 73, 89, 74, 98, 98, 370,
00596 90, 91, 405, 92, 102, 102, 70, 70, 371, 104,
00597 119, 119, 121, 121, 88, 88, 367, 123, 98, 98,
00598
00599 368, 134, 102, 102, 374, 137, 421, 421, 375, 421,
00600 140, 140, 141, 141, 144, 144, 119, 119, 398, 155,
00601 121, 121, 398, 158, 421, 421, 420, 421, 161, 161,
00602 162, 162, 165, 165, 421, 421, 419, 421, 421, 421,
00603 418, 421, 140, 140, 417, 177, 141, 141, 377, 179,
00604 144, 144, 184, 183, 185, 421, 421, 378, 421, 421,
00605 421, 416, 421, 161, 161, 415, 199, 162, 162, 414,
00606 201, 165, 165, 413, 205, 210, 210, 421, 421, 405,
00607 421, 421, 421, 412, 421, 421, 421, 405, 421, 223,
00608 223, 228, 228, 421, 421, 411, 421, 421, 421, 403,
00609
00610 421, 421, 421, 398, 421, 240, 240, 241, 241, 210,
00611 210, 410, 243, 244, 244, 249, 250, 223, 223, 398,
00612 252, 255, 255, 228, 228, 409, 257, 258, 258, 262,
00613 263, 240, 240, 396, 265, 241, 241, 408, 267, 421,
00614 421, 405, 421, 244, 244, 407, 271, 275, 275, 421,
00615 421, 406, 421, 255, 255, 405, 282, 421, 421, 404,
00616 421, 258, 258, 403, 286, 289, 289, 421, 421, 401,
00617 421, 421, 421, 398, 421, 421, 421, 400, 421, 298,
00618 298, 275, 275, 399, 302, 421, 421, 398, 421, 421,
00619 421, 397, 421, 310, 310, 289, 289, 396, 313, 298,
00620
00621 298, 394, 317, 318, 318, 421, 421, 393, 421, 310,
00622 310, 392, 325, 326, 326, 421, 421, 391, 421, 421,
00623 421, 390, 421, 318, 318, 389, 334, 421, 421, 386,
00624 421, 326, 326, 385, 340, 421, 421, 384, 421, 421,
00625 421, 383, 421, 352, 352, 354, 354, 352, 352, 365,
00626 365, 372, 372, 365, 365, 382, 380, 372, 372, 381,
00627 388, 421, 421, 376, 421, 373, 356, 421, 421, 357,
00628 421, 369, 366, 360, 355, 353, 358, 359, 354, 354,
00629 348, 351, 344, 350, 349, 348, 338, 346, 345, 344,
00630 332, 342, 341, 328, 338, 336, 335, 361, 320, 332,
00631
00632 362, 330, 329, 328, 309, 307, 323, 363, 364, 103,
00633 103, 122, 122, 133, 133, 136, 136, 138, 138, 154,
00634 154, 157, 157, 159, 159, 171, 171, 174, 174, 176,
00635 176, 178, 178, 182, 182, 193, 193, 196, 196, 198,
00636 198, 200, 200, 204, 204, 212, 212, 214, 214, 218,
00637 218, 230, 230, 232, 232, 236, 236, 242, 242, 251,
00638 251, 256, 256, 264, 264, 266, 266, 268, 268, 270,
00639 270, 278, 278, 281, 281, 283, 283, 285, 285, 292,
00640 292, 294, 294, 296, 296, 301, 301, 306, 306, 308,
00641 308, 312, 312, 316, 316, 319, 319, 324, 324, 327,
00642
00643 327, 331, 331, 333, 333, 337, 337, 339, 339, 343,
00644 343, 347, 347, 379, 379, 387, 387, 395, 395, 402,
00645 402, 322, 321, 320, 297, 295, 293, 315, 314, 311,
00646 309, 284, 307, 305, 279, 304, 303, 300, 299, 297,
00647 269, 295, 293, 291, 290, 288, 287, 284, 280, 279,
00648 277, 276, 274, 273, 272, 269, 261, 237, 260, 259,
00649 233, 231, 254, 253, 248, 247, 219, 246, 245, 215,
00650 213, 239, 238, 237, 235, 234, 233, 231, 197, 229,
00651 194, 227, 226, 225, 224, 222, 221, 220, 219, 217,
00652 216, 215, 213, 175, 211, 172, 209, 208, 207, 206,
00653
00654 203, 202, 160, 197, 195, 194, 192, 191, 190, 189,
00655 188, 187, 186, 181, 180, 139, 175, 173, 172, 170,
00656 169, 168, 167, 166, 160, 156, 153, 152, 151, 150,
00657 149, 148, 147, 146, 145, 139, 135, 132, 131, 130,
00658 129, 128, 127, 126, 125, 124, 120, 118, 117, 116,
00659 115, 114, 113, 112, 111, 110, 109, 108, 107, 106,
00660 105, 101, 100, 99, 97, 96, 95, 94, 93, 87,
00661 86, 85, 84, 83, 82, 81, 80, 79, 78, 77,
00662 76, 75, 69, 68, 67, 66, 65, 64, 63, 60,
00663 59, 58, 57, 56, 55, 54, 53, 49, 46, 45,
00664
00665 44, 43, 42, 41, 40, 39, 38, 37, 36, 421,
00666 3, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00667 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00668 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00669 421, 421, 421, 421, 421, 421, 421, 421
00670 } ;
00671
00672 static yyconst flex_int16_t yy_chk[749] =
00673 { 0,
00674 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00675 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00676 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00677 1, 1, 1, 1, 1, 1, 1, 5, 5, 6,
00678 6, 7, 7, 22, 22, 20, 34, 43, 43, 58,
00679 58, 7, 7, 7, 20, 34, 107, 7, 7, 23,
00680 107, 7, 7, 7, 7, 126, 23, 7, 44, 126,
00681 7, 420, 23, 44, 44, 59, 44, 65, 65, 359,
00682 59, 59, 419, 59, 69, 69, 70, 70, 359, 70,
00683 85, 85, 87, 87, 88, 88, 357, 88, 98, 98,
00684
00685 357, 98, 102, 102, 362, 102, 103, 103, 362, 103,
00686 105, 105, 106, 106, 108, 108, 119, 119, 418, 119,
00687 121, 121, 417, 121, 122, 122, 416, 122, 124, 124,
00688 125, 125, 127, 127, 133, 133, 415, 133, 136, 136,
00689 414, 136, 140, 140, 413, 140, 141, 141, 364, 141,
00690 144, 144, 145, 144, 145, 154, 154, 364, 154, 157,
00691 157, 412, 157, 161, 161, 411, 161, 162, 162, 410,
00692 162, 165, 165, 409, 165, 170, 170, 176, 176, 408,
00693 176, 178, 178, 407, 178, 182, 182, 406, 182, 187,
00694 187, 192, 192, 198, 198, 404, 198, 200, 200, 402,
00695
00696 200, 204, 204, 401, 204, 208, 208, 209, 209, 210,
00697 210, 400, 210, 211, 211, 222, 222, 223, 223, 399,
00698 223, 227, 227, 228, 228, 397, 228, 229, 229, 239,
00699 239, 240, 240, 395, 240, 241, 241, 394, 241, 242,
00700 242, 393, 242, 244, 244, 392, 244, 248, 248, 251,
00701 251, 391, 251, 255, 255, 390, 255, 256, 256, 389,
00702 256, 258, 258, 388, 258, 261, 261, 264, 264, 386,
00703 264, 266, 266, 385, 266, 270, 270, 384, 270, 272,
00704 272, 275, 275, 383, 275, 281, 281, 382, 281, 285,
00705 285, 381, 285, 287, 287, 289, 289, 380, 289, 298,
00706
00707 298, 378, 298, 299, 299, 301, 301, 377, 301, 310,
00708 310, 376, 310, 311, 311, 312, 312, 375, 312, 316,
00709 316, 374, 316, 318, 318, 373, 318, 324, 324, 371,
00710 324, 326, 326, 370, 326, 333, 333, 369, 333, 339,
00711 339, 368, 339, 346, 346, 350, 350, 352, 352, 355,
00712 355, 360, 360, 365, 365, 367, 365, 372, 372, 366,
00713 372, 379, 379, 363, 379, 361, 352, 387, 387, 352,
00714 387, 358, 356, 353, 351, 349, 352, 352, 354, 354,
00715 347, 345, 343, 342, 341, 340, 337, 336, 335, 334,
00716 331, 330, 329, 327, 325, 322, 321, 354, 319, 317,
00717
00718 354, 315, 314, 313, 308, 306, 305, 354, 354, 422,
00719 422, 423, 423, 424, 424, 425, 425, 426, 426, 427,
00720 427, 428, 428, 429, 429, 430, 430, 431, 431, 432,
00721 432, 433, 433, 434, 434, 435, 435, 436, 436, 437,
00722 437, 438, 438, 439, 439, 440, 440, 441, 441, 442,
00723 442, 443, 443, 444, 444, 445, 445, 446, 446, 447,
00724 447, 448, 448, 449, 449, 450, 450, 451, 451, 452,
00725 452, 453, 453, 454, 454, 455, 455, 456, 456, 457,
00726 457, 458, 458, 459, 459, 460, 460, 461, 461, 462,
00727 462, 463, 463, 464, 464, 465, 465, 466, 466, 467,
00728
00729 467, 468, 468, 469, 469, 470, 470, 471, 471, 472,
00730 472, 473, 473, 474, 474, 475, 475, 476, 476, 477,
00731 477, 304, 303, 302, 296, 294, 292, 291, 290, 288,
00732 286, 283, 282, 280, 278, 277, 276, 274, 273, 271,
00733 268, 267, 265, 263, 262, 260, 259, 257, 253, 252,
00734 250, 249, 247, 246, 245, 243, 238, 236, 235, 234,
00735 232, 230, 226, 225, 221, 220, 218, 217, 216, 214,
00736 212, 207, 206, 205, 203, 202, 201, 199, 196, 195,
00737 193, 191, 190, 189, 188, 186, 185, 184, 183, 181,
00738 180, 179, 177, 174, 173, 171, 169, 168, 167, 166,
00739
00740 164, 163, 159, 158, 156, 155, 153, 152, 151, 150,
00741 148, 147, 146, 143, 142, 138, 137, 135, 134, 132,
00742 131, 130, 129, 128, 123, 120, 118, 117, 116, 115,
00743 114, 113, 112, 111, 109, 104, 101, 97, 96, 95,
00744 94, 93, 92, 91, 90, 89, 86, 84, 83, 82,
00745 81, 80, 79, 78, 77, 76, 75, 74, 73, 72,
00746 71, 68, 67, 66, 64, 63, 62, 61, 60, 57,
00747 56, 55, 54, 53, 52, 51, 50, 49, 48, 47,
00748 46, 45, 42, 41, 40, 39, 38, 37, 36, 33,
00749 32, 31, 30, 29, 27, 26, 25, 21, 19, 18,
00750
00751 17, 16, 15, 14, 13, 12, 11, 10, 9, 3,
00752 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00753 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00754 421, 421, 421, 421, 421, 421, 421, 421, 421, 421,
00755 421, 421, 421, 421, 421, 421, 421, 421
00756 } ;
00757
00758
00759 static yyconst flex_int32_t yy_rule_can_match_eol[47] =
00760 { 0,
00761 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1,
00762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00763 1, 1, 1, 1, 1, 0, 0, };
00764
00765
00766
00767
00768 #define REJECT reject_used_but_not_detected
00769 #define yymore() yymore_used_but_not_detected
00770 #define YY_MORE_ADJ 0
00771 #define YY_RESTORE_YY_MORE_OFFSET
00772 #line 1 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
00773
00786 #line 16 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
00787
00788
00789 #include <iostream>
00790 #include "OSConfig.h"
00791
00792
00793 #ifdef HAVE_CSTRING
00794 # include <cstring>
00795 #else
00796 # ifdef HAVE_STRING_H
00797 # include <string.h>
00798 # else
00799 # error "don't have header file for string"
00800 # endif
00801 #endif
00802
00803 #ifdef HAVE_CSTDIO
00804 # include <cstdio>
00805 #else
00806 # ifdef HAVE_STDIO_H
00807 # include <stdio.h>
00808 # else
00809 # error "don't have header file for stdio"
00810 # endif
00811 #endif
00812 #include "OSErrorClass.h"
00813 #include <sstream>
00814 #include "OSOptionsStruc.h"
00815
00816
00817 using std::cout;
00818 using std::endl;
00819 using std::ostringstream;
00820
00821
00822 #ifdef PARSERDEBUG
00823 #define YY_PRINT printf("Found option: %s\n", yytext);
00824 #else
00825 #define YY_PRINT ;
00826 #endif
00827
00828
00829 #ifdef WIN_
00830 #define YY_NO_UNISTD_H
00831 #include <io.h>
00832 #include <process.h>
00833 #ifdef USE_OLD_UNISTD
00834 #include<sys/unistd.h>
00835 #endif
00836 #endif
00837
00838
00839 #define YY_EXTRA_TYPE struct osOptionsStruc*
00840
00841 void setyyextra( osOptionsStruc *osoptions, void* scanner);
00842
00870 #line 871 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.cpp"
00871
00872 #define INITIAL 0
00873
00874 #ifndef YY_NO_UNISTD_H
00875
00876
00877
00878
00879 #include <unistd.h>
00880 #endif
00881
00882 #ifndef YY_EXTRA_TYPE
00883 #define YY_EXTRA_TYPE void *
00884 #endif
00885
00886
00887 struct yyguts_t
00888 {
00889
00890
00891 YY_EXTRA_TYPE yyextra_r;
00892
00893
00894 FILE *yyin_r, *yyout_r;
00895 size_t yy_buffer_stack_top;
00896 size_t yy_buffer_stack_max;
00897 YY_BUFFER_STATE * yy_buffer_stack;
00898 char yy_hold_char;
00899 int yy_n_chars;
00900 int yyleng_r;
00901 char *yy_c_buf_p;
00902 int yy_init;
00903 int yy_start;
00904 int yy_did_buffer_switch_on_eof;
00905 int yy_start_stack_ptr;
00906 int yy_start_stack_depth;
00907 int *yy_start_stack;
00908 yy_state_type yy_last_accepting_state;
00909 char* yy_last_accepting_cpos;
00910
00911 int yylineno_r;
00912 int yy_flex_debug_r;
00913
00914 char *yytext_r;
00915 int yy_more_flag;
00916 int yy_more_len;
00917
00918 };
00919
00920 static int yy_init_globals (yyscan_t yyscanner );
00921
00922 int ossslex_init (yyscan_t* scanner);
00923
00924 int ossslex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
00925
00926
00927
00928
00929 int ossslex_destroy (yyscan_t yyscanner );
00930
00931 int osssget_debug (yyscan_t yyscanner );
00932
00933 void osssset_debug (int debug_flag ,yyscan_t yyscanner );
00934
00935 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner );
00936
00937 void osssset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
00938
00939 FILE *osssget_in (yyscan_t yyscanner );
00940
00941 void osssset_in (FILE * in_str ,yyscan_t yyscanner );
00942
00943 FILE *osssget_out (yyscan_t yyscanner );
00944
00945 void osssset_out (FILE * out_str ,yyscan_t yyscanner );
00946
00947 int osssget_leng (yyscan_t yyscanner );
00948
00949 char *osssget_text (yyscan_t yyscanner );
00950
00951 int osssget_lineno (yyscan_t yyscanner );
00952
00953 void osssset_lineno (int line_number ,yyscan_t yyscanner );
00954
00955
00956
00957
00958
00959 #ifndef YY_SKIP_YYWRAP
00960 #ifdef __cplusplus
00961 extern "C" int ossswrap (yyscan_t yyscanner );
00962 #else
00963 extern int ossswrap (yyscan_t yyscanner );
00964 #endif
00965 #endif
00966
00967 #ifndef yytext_ptr
00968 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
00969 #endif
00970
00971 #ifdef YY_NEED_STRLEN
00972 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
00973 #endif
00974
00975 #ifndef YY_NO_INPUT
00976
00977 #ifdef __cplusplus
00978 static int yyinput (yyscan_t yyscanner );
00979 #else
00980 static int input (yyscan_t yyscanner );
00981 #endif
00982
00983 #endif
00984
00985
00986 #ifndef YY_READ_BUF_SIZE
00987 #ifdef __ia64__
00988
00989 #define YY_READ_BUF_SIZE 16384
00990 #else
00991 #define YY_READ_BUF_SIZE 8192
00992 #endif
00993 #endif
00994
00995
00996 #ifndef ECHO
00997
00998
00999
01000 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
01001 #endif
01002
01003
01004
01005
01006 #ifndef YY_INPUT
01007 #define YY_INPUT(buf,result,max_size) \
01008 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01009 { \
01010 int c = '*'; \
01011 size_t n; \
01012 for ( n = 0; n < max_size && \
01013 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01014 buf[n] = (char) c; \
01015 if ( c == '\n' ) \
01016 buf[n++] = (char) c; \
01017 if ( c == EOF && ferror( yyin ) ) \
01018 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01019 result = n; \
01020 } \
01021 else \
01022 { \
01023 errno=0; \
01024 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01025 { \
01026 if( errno != EINTR) \
01027 { \
01028 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01029 break; \
01030 } \
01031 errno=0; \
01032 clearerr(yyin); \
01033 } \
01034 }\
01035 \
01036
01037 #endif
01038
01039
01040
01041
01042
01043 #ifndef yyterminate
01044 #define yyterminate() return YY_NULL
01045 #endif
01046
01047
01048 #ifndef YY_START_STACK_INCR
01049 #define YY_START_STACK_INCR 25
01050 #endif
01051
01052
01053 #ifndef YY_FATAL_ERROR
01054 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01055 #endif
01056
01057
01058
01059
01060
01061
01062 #ifndef YY_DECL
01063 #define YY_DECL_IS_OURS 1
01064
01065 extern int ossslex (yyscan_t yyscanner);
01066
01067 #define YY_DECL int ossslex (yyscan_t yyscanner)
01068 #endif
01069
01070
01071
01072
01073 #ifndef YY_USER_ACTION
01074 #define YY_USER_ACTION
01075 #endif
01076
01077
01078 #ifndef YY_BREAK
01079 #define YY_BREAK break;
01080 #endif
01081
01082 #define YY_RULE_SETUP \
01083 YY_USER_ACTION
01084
01087 YY_DECL
01088 {
01089 register yy_state_type yy_current_state;
01090 register char *yy_cp, *yy_bp;
01091 register int yy_act;
01092 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01093
01094 #line 112 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01095
01096
01097 #line 1098 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.cpp"
01098
01099 if ( !yyg->yy_init )
01100 {
01101 yyg->yy_init = 1;
01102
01103 #ifdef YY_USER_INIT
01104 YY_USER_INIT;
01105 #endif
01106
01107 if ( ! yyg->yy_start )
01108 yyg->yy_start = 1;
01109
01110 if ( ! yyin )
01111 yyin = stdin;
01112
01113 if ( ! yyout )
01114 yyout = stdout;
01115
01116 if ( ! YY_CURRENT_BUFFER ) {
01117 osssensure_buffer_stack (yyscanner);
01118 YY_CURRENT_BUFFER_LVALUE =
01119 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01120 }
01121
01122 osss_load_buffer_state(yyscanner );
01123 }
01124
01125 while ( 1 )
01126 {
01127 yy_cp = yyg->yy_c_buf_p;
01128
01129
01130 *yy_cp = yyg->yy_hold_char;
01131
01132
01133
01134
01135 yy_bp = yy_cp;
01136
01137 yy_current_state = yyg->yy_start;
01138 yy_match:
01139 do
01140 {
01141 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01142 if ( yy_accept[yy_current_state] )
01143 {
01144 yyg->yy_last_accepting_state = yy_current_state;
01145 yyg->yy_last_accepting_cpos = yy_cp;
01146 }
01147 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01148 {
01149 yy_current_state = (int) yy_def[yy_current_state];
01150 if ( yy_current_state >= 422 )
01151 yy_c = yy_meta[(unsigned int) yy_c];
01152 }
01153 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01154 ++yy_cp;
01155 }
01156 while ( yy_base[yy_current_state] != 711 );
01157
01158 yy_find_action:
01159 yy_act = yy_accept[yy_current_state];
01160 if ( yy_act == 0 )
01161 {
01162 yy_cp = yyg->yy_last_accepting_cpos;
01163 yy_current_state = yyg->yy_last_accepting_state;
01164 yy_act = yy_accept[yy_current_state];
01165 }
01166
01167 YY_DO_BEFORE_ACTION;
01168
01169 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
01170 {
01171 int yyl;
01172 for ( yyl = 0; yyl < yyleng; ++yyl )
01173 if ( yytext[yyl] == '\n' )
01174
01175 do{ yylineno++;
01176 yycolumn=0;
01177 }while(0)
01178 ;
01179 }
01180
01181 do_action:
01182
01183 switch ( yy_act )
01184 {
01185 case 0:
01186
01187 *yy_cp = yyg->yy_hold_char;
01188 yy_cp = yyg->yy_last_accepting_cpos;
01189 yy_current_state = yyg->yy_last_accepting_state;
01190 goto yy_find_action;
01191
01192 case 1:
01193
01194 YY_RULE_SETUP
01195 #line 114 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01196
01197 YY_BREAK
01198 case 2:
01199
01200 YY_RULE_SETUP
01201 #line 118 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01202 {
01203 YY_PRINT
01204
01205 char *ch = yytext;
01206
01207 ch+=7;
01208 for(; isspace(*ch); ch++);
01209 std::string str( ch);
01210 if (str[0] == '\"')
01211 yyextra->configFile = str.substr(1,str.length()-2);
01212 else
01213 yyextra->configFile = str;
01214 }
01215 YY_BREAK
01216 case 3:
01217
01218 YY_RULE_SETUP
01219 #line 132 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01220 {
01221 YY_PRINT
01222
01223 char *ch = yytext;
01224
01225 ch+=6;
01226 for(; isspace(*ch); ch++);
01227 std::string str( ch);
01228 if (str[0] == '\"')
01229 yyextra->configFile = str.substr(1,str.length()-2);
01230 else
01231 yyextra->configFile = str;
01232 }
01233 YY_BREAK
01234 case 4:
01235 YY_RULE_SETUP
01236 #line 146 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01237 {
01238 YY_PRINT
01239 yyextra->invokeHelp = true;
01240 }
01241 YY_BREAK
01242 case 5:
01243 YY_RULE_SETUP
01244 #line 151 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01245 {
01246 YY_PRINT
01247 yyextra->invokeHelp = true;
01248 }
01249 YY_BREAK
01250 case 6:
01251 YY_RULE_SETUP
01252 #line 156 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01253 {
01254 YY_PRINT
01255 yyextra->invokeHelp = true;
01256 }
01257 YY_BREAK
01258 case 7:
01259 YY_RULE_SETUP
01260 #line 161 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01261 {
01262 YY_PRINT
01263 yyextra->invokeHelp = true;
01264 }
01265 YY_BREAK
01266 case 8:
01267 YY_RULE_SETUP
01268 #line 166 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01269 {
01270 YY_PRINT
01271 yyextra->invokeHelp = true;
01272 }
01273 YY_BREAK
01274 case 9:
01275 YY_RULE_SETUP
01276 #line 172 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01277 {
01278 YY_PRINT
01279 yyextra->printModel = true;
01280 }
01281 YY_BREAK
01282 case 10:
01283 YY_RULE_SETUP
01284 #line 178 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01285 {
01286 YY_PRINT
01287 yyextra->printModel = true;
01288 }
01289 YY_BREAK
01290 case 11:
01291
01292 YY_RULE_SETUP
01293 #line 183 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01294 {
01295
01296 YY_PRINT
01297
01298 yyextra->printRowNumberAsString = yytext;
01299
01300 char *ch = yytext;
01301
01302 ch+=9;
01303 for(; isspace(*ch); ch++);
01304 std::string str( ch);
01305 yyextra->printRowNumberAsString = str;
01306
01307 }
01308 YY_BREAK
01309 case 12:
01310
01311 YY_RULE_SETUP
01312 #line 198 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01313 {
01314
01315 YY_PRINT
01316
01317 yyextra->printRowNumberAsString = yytext;
01318
01319 char *ch = yytext;
01320
01321 ch+=8;
01322 for(; isspace(*ch); ch++);
01323 std::string str( ch);
01324 yyextra->printRowNumberAsString = str;
01325
01326 }
01327 YY_BREAK
01328 case 13:
01329
01330 YY_RULE_SETUP
01331 #line 213 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01332 {
01333
01334 YY_PRINT
01335
01336 yyextra->printRowNumberAsString = yytext;
01337
01338 char *ch = yytext;
01339
01340 ch+=8;
01341 for(; isspace(*ch); ch++);
01342 std::string str( ch);
01343 yyextra->printRowNumberAsString = str;
01344
01345 }
01346 YY_BREAK
01347 case 14:
01348 YY_RULE_SETUP
01349 #line 229 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01350 {
01351 YY_PRINT
01352 yyextra->writeVersion = true;
01353 }
01354 YY_BREAK
01355 case 15:
01356 YY_RULE_SETUP
01357 #line 234 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01358 {
01359 YY_PRINT
01360 yyextra->writeVersion = true;
01361 }
01362 YY_BREAK
01363 case 16:
01364 YY_RULE_SETUP
01365 #line 239 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01366 {
01367 YY_PRINT
01368 yyextra->writeVersion = true;
01369 }
01370 YY_BREAK
01371 case 17:
01372 YY_RULE_SETUP
01373 #line 245 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01374 {
01375 YY_PRINT
01376 yyextra->quit = true;
01377 }
01378 YY_BREAK
01379 case 18:
01380 YY_RULE_SETUP
01381 #line 250 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01382 {
01383 YY_PRINT
01384 yyextra->quit = true;
01385 }
01386 YY_BREAK
01387 case 19:
01388
01389 YY_RULE_SETUP
01390 #line 256 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01391 {
01392
01393 YY_PRINT
01394
01395 char *ch = yytext;
01396
01397 ch+=5;
01398 for(; isspace(*ch); ch++);
01399 std::string str( ch);
01400 if (str[0] == '\"')
01401 yyextra->osilFile = str.substr(1,str.length()-2);
01402 else
01403 yyextra->osilFile = str;
01404
01405 }
01406 YY_BREAK
01407 case 20:
01408
01409 YY_RULE_SETUP
01410 #line 272 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01411 {
01412
01413 YY_PRINT
01414
01415 char *ch = yytext;
01416
01417 ch+=4;
01418 for(; isspace(*ch); ch++);
01419 std::string str( ch);
01420 if (str[0] == '\"')
01421 yyextra->osilFile = str.substr(1,str.length()-2);
01422 else
01423 yyextra->osilFile = str;
01424
01425 }
01426 YY_BREAK
01427
01428
01429
01430
01431
01432
01433
01434
01435
01436
01437
01438
01439
01440
01441
01442
01443
01444
01445
01446
01447
01448
01449
01450
01451
01452
01453
01454
01455
01456
01457
01458
01459
01460
01461 case 21:
01462
01463 YY_RULE_SETUP
01464 #line 323 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01465 {
01466
01467 YY_PRINT
01468
01469 char *ch = yytext;
01470
01471 ch+=5;
01472 for(; isspace(*ch); ch++);
01473 std::string str( ch);
01474 if (str[0] == '\"')
01475 yyextra->osrlFile = str.substr(1,str.length()-2);
01476 else
01477 yyextra->osrlFile = str;
01478
01479 }
01480 YY_BREAK
01481 case 22:
01482
01483 YY_RULE_SETUP
01484 #line 339 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01485 {
01486
01487 YY_PRINT
01488
01489 char *ch = yytext;
01490
01491 ch+=4;
01492 for(; isspace(*ch); ch++);
01493 std::string str( ch);
01494 if (str[0] == '\"')
01495 yyextra->osrlFile = str.substr(1,str.length()-2);
01496 else
01497 yyextra->osrlFile = str;
01498
01499 }
01500 YY_BREAK
01501 case 23:
01502
01503 YY_RULE_SETUP
01504 #line 355 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01505 {
01506
01507 YY_PRINT
01508
01509 char *ch = yytext;
01510
01511 ch+=5;
01512 for(; isspace(*ch); ch++);
01513 std::string str( ch);
01514 if (str[0] == '\"')
01515 yyextra->osolFile = str.substr(1,str.length()-2);
01516 else
01517 yyextra->osolFile = str;
01518
01519 }
01520 YY_BREAK
01521 case 24:
01522
01523 YY_RULE_SETUP
01524 #line 371 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01525 {
01526
01527 YY_PRINT
01528
01529 char *ch = yytext;
01530
01531 ch+=4;
01532 for(; isspace(*ch); ch++);
01533 std::string str( ch);
01534 if (str[0] == '\"')
01535 yyextra->osolFile = str.substr(1,str.length()-2);
01536 else
01537 yyextra->osolFile = str;
01538
01539 }
01540 YY_BREAK
01541 case 25:
01542
01543 YY_RULE_SETUP
01544 #line 387 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01545 {
01546
01547 YY_PRINT
01548
01549 char *ch = yytext;
01550
01551 ch+=10;
01552 for(; isspace(*ch); ch++);
01553 std::string str( ch);
01554 if (str[0] == '\"')
01555 yyextra->osplInputFile = str.substr(1,str.length()-2);
01556 else
01557 yyextra->osplInputFile = str;
01558
01559 }
01560 YY_BREAK
01561 case 26:
01562
01563 YY_RULE_SETUP
01564 #line 403 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01565 {
01566 YY_PRINT
01567
01568 char *ch = yytext;
01569
01570 ch+=9;
01571 for(; isspace(*ch); ch++);
01572 std::string str( ch);
01573 if (str[0] == '\"')
01574 yyextra->osplInputFile = str.substr(1,str.length()-2);
01575 else
01576 yyextra->osplInputFile = str;
01577 }
01578 YY_BREAK
01579 case 27:
01580
01581 YY_RULE_SETUP
01582 #line 417 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01583 {
01584 YY_PRINT
01585
01586 char *ch = yytext;
01587
01588 ch+=11;
01589 for(; isspace(*ch); ch++);
01590 std::string str( ch);
01591 if (str[0] == '\"')
01592 yyextra->osplOutputFile = str.substr(1,str.length()-2);
01593 else
01594 yyextra->osplOutputFile = str;
01595 }
01596 YY_BREAK
01597 case 28:
01598
01599 YY_RULE_SETUP
01600 #line 431 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01601 {
01602 YY_PRINT
01603
01604 char *ch = yytext;
01605
01606 ch+=10;
01607 for(; isspace(*ch); ch++);
01608 std::string str( ch);
01609 if (str[0] == '\"')
01610 yyextra->osplOutputFile = str.substr(1,str.length()-2);
01611 else
01612 yyextra->osplOutputFile = str;
01613 }
01614 YY_BREAK
01615 case 29:
01616
01617 YY_RULE_SETUP
01618 #line 445 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01619 {
01620 YY_PRINT
01621
01622 char *ch = yytext;
01623
01624 ch+=8;
01625 for(; isspace(*ch); ch++);
01626 std::string str( ch);
01627 if (str[0] == '\"')
01628 yyextra->insListFile = str.substr(1,str.length()-2);
01629 else
01630 yyextra->insListFile = str;
01631 }
01632 YY_BREAK
01633 case 30:
01634
01635 YY_RULE_SETUP
01636 #line 459 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01637 {
01638 YY_PRINT
01639
01640 char *ch = yytext;
01641
01642 ch+=7;
01643 for(; isspace(*ch); ch++);
01644 std::string str( ch);
01645 yyextra->insListFile = str;
01646 if (str[0] == '\"')
01647 yyextra->insListFile = str.substr(1,str.length()-2);
01648 else
01649 yyextra->insListFile = str;
01650 }
01651 YY_BREAK
01652 case 31:
01653
01654 YY_RULE_SETUP
01655 #line 474 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01656 {
01657 YY_PRINT
01658
01659 char *ch = yytext;
01660
01661 ch+=4;
01662 for(; isspace(*ch); ch++);
01663 std::string str( ch);
01664 if (str[0] == '\"')
01665 yyextra->mpsFile = str.substr(1,str.length()-2);
01666 else
01667 yyextra->mpsFile = str;
01668 }
01669 YY_BREAK
01670 case 32:
01671
01672 YY_RULE_SETUP
01673 #line 488 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01674 {
01675 YY_PRINT
01676
01677 char *ch = yytext;
01678
01679 ch+=3;
01680 for(; isspace(*ch); ch++);
01681 std::string str( ch);
01682 if (str[0] == '\"')
01683 yyextra->mpsFile = str.substr(1,str.length()-2);
01684 else
01685 yyextra->mpsFile = str;
01686 }
01687 YY_BREAK
01688 case 33:
01689
01690 YY_RULE_SETUP
01691 #line 502 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01692 {
01693 YY_PRINT
01694
01695 char *ch = yytext;
01696
01697 ch+=3;
01698 for(; isspace(*ch); ch++);
01699 std::string str( ch);
01700 if (str[0] == '\"')
01701 yyextra->nlFile = str.substr(1,str.length()-2);
01702 else
01703 yyextra->nlFile = str;
01704 }
01705 YY_BREAK
01706 case 34:
01707
01708 YY_RULE_SETUP
01709 #line 516 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01710 {
01711 YY_PRINT
01712
01713 char *ch = yytext;
01714
01715 ch+=2;
01716 for(; isspace(*ch); ch++);
01717 std::string str( ch);
01718 if (str[0] == '\"')
01719 yyextra->nlFile = str.substr(1,str.length()-2);
01720 else
01721 yyextra->nlFile = str;
01722 }
01723 YY_BREAK
01724 case 35:
01725
01726 YY_RULE_SETUP
01727 #line 530 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01728 {
01729 YY_PRINT
01730
01731 char *ch = yytext;
01732
01733 ch+=4;
01734 for(; isspace(*ch); ch++);
01735 std::string str( ch);
01736 if (str[0] == '\"')
01737 yyextra->gamsControlFile = str.substr(1,str.length()-2);
01738 else
01739 yyextra->gamsControlFile = str;
01740 }
01741 YY_BREAK
01742 case 36:
01743
01744 YY_RULE_SETUP
01745 #line 544 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01746 {
01747 YY_PRINT
01748
01749 char *ch = yytext;
01750
01751 ch+=3;
01752 for(; isspace(*ch); ch++);
01753 std::string str( ch);
01754 if (str[0] == '\"')
01755 yyextra->gamsControlFile = str.substr(1,str.length()-2);
01756 else
01757 yyextra->gamsControlFile = str;
01758 }
01759 YY_BREAK
01760 case 37:
01761
01762 YY_RULE_SETUP
01763 #line 558 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01764 {
01765 YY_PRINT
01766
01767 char *ch = yytext;
01768
01769 ch+=14;
01770 for(; isspace(*ch); ch++);
01771 std::string str( ch);
01772 if (str[0] == '\"')
01773 yyextra->serviceMethod = str.substr(1,str.length()-2);
01774 else
01775 yyextra->serviceMethod = str;
01776 }
01777 YY_BREAK
01778 case 38:
01779
01780 YY_RULE_SETUP
01781 #line 572 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01782 {
01783 YY_PRINT
01784
01785 char *ch = yytext;
01786
01787 ch+=13;
01788 for(; isspace(*ch); ch++);
01789 std::string str( ch);
01790 yyextra->serviceMethod = str;
01791 if (str[0] == '\"')
01792 yyextra->serviceMethod = str.substr(1,str.length()-2);
01793 else
01794 yyextra->serviceMethod = str;
01795 }
01796 YY_BREAK
01797 case 39:
01798
01799 YY_RULE_SETUP
01800 #line 587 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01801 {
01802 YY_PRINT
01803
01804 yyextra->serviceLocation = yytext;
01805
01806 char *ch = yytext;
01807
01808 ch+=16;
01809 for(; isspace(*ch); ch++);
01810 std::string str( ch);
01811 if (str[0] == '\"')
01812 yyextra->serviceLocation = str.substr(1,str.length()-2);
01813 else
01814 yyextra->serviceLocation = str;
01815 }
01816 YY_BREAK
01817 case 40:
01818
01819 YY_RULE_SETUP
01820 #line 603 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01821 {
01822 YY_PRINT
01823
01824 yyextra->serviceLocation = yytext;
01825
01826 char *ch = yytext;
01827
01828 ch+=15;
01829 for(; isspace(*ch); ch++);
01830 std::string str( ch);
01831 if (str[0] == '\"')
01832 yyextra->serviceLocation = str.substr(1,str.length()-2);
01833 else
01834 yyextra->serviceLocation = str;
01835 }
01836 YY_BREAK
01837 case 41:
01838
01839 YY_RULE_SETUP
01840 #line 619 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01841 {
01842 YY_PRINT
01843
01844 char *ch = yytext;
01845
01846 ch+=7;
01847 for(; isspace(*ch); ch++);
01848 std::string str( ch);
01849 if (str[0] == '\"')
01850 yyextra->solverName = str.substr(1,str.length()-2);
01851 else
01852 yyextra->solverName = str;
01853 }
01854 YY_BREAK
01855 case 42:
01856
01857 YY_RULE_SETUP
01858 #line 633 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01859 {
01860 YY_PRINT
01861
01862 char *ch = yytext;
01863
01864 ch+=6;
01865 for(; isspace(*ch); ch++);
01866 std::string str( ch);
01867 if (str[0] == '\"')
01868 yyextra->solverName = str.substr(1,str.length()-2);
01869 else
01870 yyextra->solverName = str;
01871 }
01872 YY_BREAK
01873 case 43:
01874
01875 YY_RULE_SETUP
01876 #line 647 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01877 {
01878 YY_PRINT
01879
01880 char *ch = yytext;
01881
01882 ch+=8;
01883 for(; isspace(*ch); ch++);
01884 std::string str( ch);
01885 if (str[0] == '\"')
01886 yyextra->browser = str.substr(1,str.length()-2);
01887 else
01888 yyextra->browser = str;
01889 }
01890 YY_BREAK
01891 case 44:
01892
01893 YY_RULE_SETUP
01894 #line 661 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01895 {
01896 YY_PRINT
01897
01898 char *ch = yytext;
01899
01900 ch+=7;
01901 for(; isspace(*ch); ch++);
01902 std::string str( ch);
01903 if (str[0] == '\"')
01904 yyextra->browser = str.substr(1,str.length()-2);
01905 else
01906 yyextra->browser = str;
01907 }
01908 YY_BREAK
01909 case 45:
01910 YY_RULE_SETUP
01911 #line 675 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01912 {
01913 std::string error;
01914 std::ostringstream outStr;
01915 outStr << "encountered a spurious character in the lexer" << endl;
01916 outStr << "Please make sure your options are spelled correctly" << endl;
01917 outStr << "Type OSSolverService -h or OSSolverService --help for valid commands" << endl;
01918 outStr << "The first character is: ";
01919 outStr << yytext;
01920 outStr << endl;
01921
01922 error = outStr.str();
01923 throw ErrorClass( error);
01924 }
01925 YY_BREAK
01926 case 46:
01927 YY_RULE_SETUP
01928 #line 688 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
01929 ECHO;
01930 YY_BREAK
01931 #line 1932 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.cpp"
01932 case YY_STATE_EOF(INITIAL):
01933 yyterminate();
01934
01935 case YY_END_OF_BUFFER:
01936 {
01937
01938 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
01939
01940
01941 *yy_cp = yyg->yy_hold_char;
01942 YY_RESTORE_YY_MORE_OFFSET
01943
01944 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01945 {
01946
01947
01948
01949
01950
01951
01952
01953
01954
01955 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01956 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01957 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01958 }
01959
01960
01961
01962
01963
01964
01965
01966
01967 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01968 {
01969 yy_state_type yy_next_state;
01970
01971 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
01972
01973 yy_current_state = yy_get_previous_state( yyscanner );
01974
01975
01976
01977
01978
01979
01980
01981
01982
01983
01984 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
01985
01986 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01987
01988 if ( yy_next_state )
01989 {
01990
01991 yy_cp = ++yyg->yy_c_buf_p;
01992 yy_current_state = yy_next_state;
01993 goto yy_match;
01994 }
01995
01996 else
01997 {
01998 yy_cp = yyg->yy_c_buf_p;
01999 goto yy_find_action;
02000 }
02001 }
02002
02003 else switch ( yy_get_next_buffer( yyscanner ) )
02004 {
02005 case EOB_ACT_END_OF_FILE:
02006 {
02007 yyg->yy_did_buffer_switch_on_eof = 0;
02008
02009 if ( ossswrap(yyscanner ) )
02010 {
02011
02012
02013
02014
02015
02016
02017
02018
02019
02020 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
02021
02022 yy_act = YY_STATE_EOF(YY_START);
02023 goto do_action;
02024 }
02025
02026 else
02027 {
02028 if ( ! yyg->yy_did_buffer_switch_on_eof )
02029 YY_NEW_FILE;
02030 }
02031 break;
02032 }
02033
02034 case EOB_ACT_CONTINUE_SCAN:
02035 yyg->yy_c_buf_p =
02036 yyg->yytext_ptr + yy_amount_of_matched_text;
02037
02038 yy_current_state = yy_get_previous_state( yyscanner );
02039
02040 yy_cp = yyg->yy_c_buf_p;
02041 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02042 goto yy_match;
02043
02044 case EOB_ACT_LAST_MATCH:
02045 yyg->yy_c_buf_p =
02046 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
02047
02048 yy_current_state = yy_get_previous_state( yyscanner );
02049
02050 yy_cp = yyg->yy_c_buf_p;
02051 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02052 goto yy_find_action;
02053 }
02054 break;
02055 }
02056
02057 default:
02058 YY_FATAL_ERROR(
02059 "fatal flex scanner internal error--no action found" );
02060 }
02061 }
02062 }
02063
02064
02065
02066
02067
02068
02069
02070
02071 static int yy_get_next_buffer (yyscan_t yyscanner)
02072 {
02073 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02074 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02075 register char *source = yyg->yytext_ptr;
02076 register int number_to_move, i;
02077 int ret_val;
02078
02079 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
02080 YY_FATAL_ERROR(
02081 "fatal flex scanner internal error--end of buffer missed" );
02082
02083 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02084 {
02085 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
02086 {
02087
02088
02089
02090 return EOB_ACT_END_OF_FILE;
02091 }
02092
02093 else
02094 {
02095
02096
02097
02098 return EOB_ACT_LAST_MATCH;
02099 }
02100 }
02101
02102
02103
02104
02105 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
02106
02107 for ( i = 0; i < number_to_move; ++i )
02108 *(dest++) = *(source++);
02109
02110 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02111
02112
02113
02114 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
02115
02116 else
02117 {
02118 int num_to_read =
02119 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02120
02121 while ( num_to_read <= 0 )
02122 {
02123
02124
02125 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02126
02127 int yy_c_buf_p_offset =
02128 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
02129
02130 if ( b->yy_is_our_buffer )
02131 {
02132 int new_size = b->yy_buf_size * 2;
02133
02134 if ( new_size <= 0 )
02135 b->yy_buf_size += b->yy_buf_size / 8;
02136 else
02137 b->yy_buf_size *= 2;
02138
02139 b->yy_ch_buf = (char *)
02140
02141 osssrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
02142 }
02143 else
02144
02145 b->yy_ch_buf = 0;
02146
02147 if ( ! b->yy_ch_buf )
02148 YY_FATAL_ERROR(
02149 "fatal error - scanner input buffer overflow" );
02150
02151 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
02152
02153 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02154 number_to_move - 1;
02155
02156 }
02157
02158 if ( num_to_read > YY_READ_BUF_SIZE )
02159 num_to_read = YY_READ_BUF_SIZE;
02160
02161
02162 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02163 yyg->yy_n_chars, (size_t) num_to_read );
02164
02165 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02166 }
02167
02168 if ( yyg->yy_n_chars == 0 )
02169 {
02170 if ( number_to_move == YY_MORE_ADJ )
02171 {
02172 ret_val = EOB_ACT_END_OF_FILE;
02173 osssrestart(yyin ,yyscanner);
02174 }
02175
02176 else
02177 {
02178 ret_val = EOB_ACT_LAST_MATCH;
02179 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02180 YY_BUFFER_EOF_PENDING;
02181 }
02182 }
02183
02184 else
02185 ret_val = EOB_ACT_CONTINUE_SCAN;
02186
02187 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
02188
02189 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
02190 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osssrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
02191 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02192 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
02193 }
02194
02195 yyg->yy_n_chars += number_to_move;
02196 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02197 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02198
02199 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02200
02201 return ret_val;
02202 }
02203
02204
02205
02206 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02207 {
02208 register yy_state_type yy_current_state;
02209 register char *yy_cp;
02210 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02211
02212 yy_current_state = yyg->yy_start;
02213
02214 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02215 {
02216 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02217 if ( yy_accept[yy_current_state] )
02218 {
02219 yyg->yy_last_accepting_state = yy_current_state;
02220 yyg->yy_last_accepting_cpos = yy_cp;
02221 }
02222 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02223 {
02224 yy_current_state = (int) yy_def[yy_current_state];
02225 if ( yy_current_state >= 422 )
02226 yy_c = yy_meta[(unsigned int) yy_c];
02227 }
02228 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02229 }
02230
02231 return yy_current_state;
02232 }
02233
02234
02235
02236
02237
02238
02239 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
02240 {
02241 register int yy_is_jam;
02242 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02243 register char *yy_cp = yyg->yy_c_buf_p;
02244
02245 register YY_CHAR yy_c = 1;
02246 if ( yy_accept[yy_current_state] )
02247 {
02248 yyg->yy_last_accepting_state = yy_current_state;
02249 yyg->yy_last_accepting_cpos = yy_cp;
02250 }
02251 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02252 {
02253 yy_current_state = (int) yy_def[yy_current_state];
02254 if ( yy_current_state >= 422 )
02255 yy_c = yy_meta[(unsigned int) yy_c];
02256 }
02257 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02258 yy_is_jam = (yy_current_state == 421);
02259
02260 return yy_is_jam ? 0 : yy_current_state;
02261 }
02262
02263 #ifndef YY_NO_INPUT
02264 #ifdef __cplusplus
02265 static int yyinput (yyscan_t yyscanner)
02266 #else
02267 static int input (yyscan_t yyscanner)
02268 #endif
02269
02270 {
02271 int c;
02272 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02273
02274 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02275
02276 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02277 {
02278
02279
02280
02281
02282 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02283
02284 *yyg->yy_c_buf_p = '\0';
02285
02286 else
02287 {
02288 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02289 ++yyg->yy_c_buf_p;
02290
02291 switch ( yy_get_next_buffer( yyscanner ) )
02292 {
02293 case EOB_ACT_LAST_MATCH:
02294
02295
02296
02297
02298
02299
02300
02301
02302
02303
02304
02305 osssrestart(yyin ,yyscanner);
02306
02307
02308
02309 case EOB_ACT_END_OF_FILE:
02310 {
02311 if ( ossswrap(yyscanner ) )
02312 return EOF;
02313
02314 if ( ! yyg->yy_did_buffer_switch_on_eof )
02315 YY_NEW_FILE;
02316 #ifdef __cplusplus
02317 return yyinput(yyscanner);
02318 #else
02319 return input(yyscanner);
02320 #endif
02321 }
02322
02323 case EOB_ACT_CONTINUE_SCAN:
02324 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02325 break;
02326 }
02327 }
02328 }
02329
02330 c = *(unsigned char *) yyg->yy_c_buf_p;
02331 *yyg->yy_c_buf_p = '\0';
02332 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02333
02334 if ( c == '\n' )
02335
02336 do{ yylineno++;
02337 yycolumn=0;
02338 }while(0)
02339 ;
02340
02341 return c;
02342 }
02343 #endif
02344
02350 void osssrestart (FILE * input_file , yyscan_t yyscanner)
02351 {
02352 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02353
02354 if ( ! YY_CURRENT_BUFFER ){
02355 osssensure_buffer_stack (yyscanner);
02356 YY_CURRENT_BUFFER_LVALUE =
02357 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02358 }
02359
02360 osss_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02361 osss_load_buffer_state(yyscanner );
02362 }
02363
02368 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02369 {
02370 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02371
02372
02373
02374
02375
02376
02377 osssensure_buffer_stack (yyscanner);
02378 if ( YY_CURRENT_BUFFER == new_buffer )
02379 return;
02380
02381 if ( YY_CURRENT_BUFFER )
02382 {
02383
02384 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02385 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02386 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02387 }
02388
02389 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02390 osss_load_buffer_state(yyscanner );
02391
02392
02393
02394
02395
02396
02397 yyg->yy_did_buffer_switch_on_eof = 1;
02398 }
02399
02400 static void osss_load_buffer_state (yyscan_t yyscanner)
02401 {
02402 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02403 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02404 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02405 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02406 yyg->yy_hold_char = *yyg->yy_c_buf_p;
02407 }
02408
02415 YY_BUFFER_STATE osss_create_buffer (FILE * file, int size , yyscan_t yyscanner)
02416 {
02417 YY_BUFFER_STATE b;
02418
02419 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02420 if ( ! b )
02421 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
02422
02423 b->yy_buf_size = size;
02424
02425
02426
02427
02428 b->yy_ch_buf = (char *) osssalloc(b->yy_buf_size + 2 ,yyscanner );
02429 if ( ! b->yy_ch_buf )
02430 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
02431
02432 b->yy_is_our_buffer = 1;
02433
02434 osss_init_buffer(b,file ,yyscanner);
02435
02436 return b;
02437 }
02438
02443 void osss_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02444 {
02445 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02446
02447 if ( ! b )
02448 return;
02449
02450 if ( b == YY_CURRENT_BUFFER )
02451 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02452
02453 if ( b->yy_is_our_buffer )
02454 osssfree((void *) b->yy_ch_buf ,yyscanner );
02455
02456 osssfree((void *) b ,yyscanner );
02457 }
02458
02459 #ifndef __cplusplus
02460 extern int isatty (int );
02461 #endif
02462
02463
02464
02465
02466
02467 static void osss_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
02468
02469 {
02470 int oerrno = errno;
02471 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02472
02473 osss_flush_buffer(b ,yyscanner);
02474
02475 b->yy_input_file = file;
02476 b->yy_fill_buffer = 1;
02477
02478
02479
02480
02481
02482 if (b != YY_CURRENT_BUFFER){
02483 b->yy_bs_lineno = 1;
02484 b->yy_bs_column = 0;
02485 }
02486
02487 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02488
02489 errno = oerrno;
02490 }
02491
02496 void osss_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02497 {
02498 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02499 if ( ! b )
02500 return;
02501
02502 b->yy_n_chars = 0;
02503
02504
02505
02506
02507
02508 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02509 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02510
02511 b->yy_buf_pos = &b->yy_ch_buf[0];
02512
02513 b->yy_at_bol = 1;
02514 b->yy_buffer_status = YY_BUFFER_NEW;
02515
02516 if ( b == YY_CURRENT_BUFFER )
02517 osss_load_buffer_state(yyscanner );
02518 }
02519
02526 void ossspush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02527 {
02528 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02529 if (new_buffer == NULL)
02530 return;
02531
02532 osssensure_buffer_stack(yyscanner);
02533
02534
02535 if ( YY_CURRENT_BUFFER )
02536 {
02537
02538 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02539 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02540 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02541 }
02542
02543
02544 if (YY_CURRENT_BUFFER)
02545 yyg->yy_buffer_stack_top++;
02546 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02547
02548
02549 osss_load_buffer_state(yyscanner );
02550 yyg->yy_did_buffer_switch_on_eof = 1;
02551 }
02552
02557 void ossspop_buffer_state (yyscan_t yyscanner)
02558 {
02559 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02560 if (!YY_CURRENT_BUFFER)
02561 return;
02562
02563 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02564 YY_CURRENT_BUFFER_LVALUE = NULL;
02565 if (yyg->yy_buffer_stack_top > 0)
02566 --yyg->yy_buffer_stack_top;
02567
02568 if (YY_CURRENT_BUFFER) {
02569 osss_load_buffer_state(yyscanner );
02570 yyg->yy_did_buffer_switch_on_eof = 1;
02571 }
02572 }
02573
02574
02575
02576
02577 static void osssensure_buffer_stack (yyscan_t yyscanner)
02578 {
02579 int num_to_alloc;
02580 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02581
02582 if (!yyg->yy_buffer_stack) {
02583
02584
02585
02586
02587
02588 num_to_alloc = 1;
02589 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssalloc
02590 (num_to_alloc * sizeof(struct yy_buffer_state*)
02591 , yyscanner);
02592 if ( ! yyg->yy_buffer_stack )
02593 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
02594
02595 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02596
02597 yyg->yy_buffer_stack_max = num_to_alloc;
02598 yyg->yy_buffer_stack_top = 0;
02599 return;
02600 }
02601
02602 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02603
02604
02605 int grow_size = 8 ;
02606
02607 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02608 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssrealloc
02609 (yyg->yy_buffer_stack,
02610 num_to_alloc * sizeof(struct yy_buffer_state*)
02611 , yyscanner);
02612 if ( ! yyg->yy_buffer_stack )
02613 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
02614
02615
02616 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02617 yyg->yy_buffer_stack_max = num_to_alloc;
02618 }
02619 }
02620
02627 YY_BUFFER_STATE osss_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
02628 {
02629 YY_BUFFER_STATE b;
02630
02631 if ( size < 2 ||
02632 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02633 base[size-1] != YY_END_OF_BUFFER_CHAR )
02634
02635 return 0;
02636
02637 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02638 if ( ! b )
02639 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_buffer()" );
02640
02641 b->yy_buf_size = size - 2;
02642 b->yy_buf_pos = b->yy_ch_buf = base;
02643 b->yy_is_our_buffer = 0;
02644 b->yy_input_file = 0;
02645 b->yy_n_chars = b->yy_buf_size;
02646 b->yy_is_interactive = 0;
02647 b->yy_at_bol = 1;
02648 b->yy_fill_buffer = 0;
02649 b->yy_buffer_status = YY_BUFFER_NEW;
02650
02651 osss_switch_to_buffer(b ,yyscanner );
02652
02653 return b;
02654 }
02655
02664 YY_BUFFER_STATE osss_scan_string (yyconst char * yystr , yyscan_t yyscanner)
02665 {
02666
02667 return osss_scan_bytes(yystr,strlen(yystr) ,yyscanner);
02668 }
02669
02677 YY_BUFFER_STATE osss_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
02678 {
02679 YY_BUFFER_STATE b;
02680 char *buf;
02681 yy_size_t n;
02682 int i;
02683
02684
02685 n = _yybytes_len + 2;
02686 buf = (char *) osssalloc(n ,yyscanner );
02687 if ( ! buf )
02688 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_bytes()" );
02689
02690 for ( i = 0; i < _yybytes_len; ++i )
02691 buf[i] = yybytes[i];
02692
02693 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02694
02695 b = osss_scan_buffer(buf,n ,yyscanner);
02696 if ( ! b )
02697 YY_FATAL_ERROR( "bad buffer in osss_scan_bytes()" );
02698
02699
02700
02701
02702 b->yy_is_our_buffer = 1;
02703
02704 return b;
02705 }
02706
02707 #ifndef YY_EXIT_FAILURE
02708 #define YY_EXIT_FAILURE 2
02709 #endif
02710
02711 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02712 {
02713 (void) fprintf( stderr, "%s\n", msg );
02714 exit( YY_EXIT_FAILURE );
02715 }
02716
02717
02718
02719 #undef yyless
02720 #define yyless(n) \
02721 do \
02722 { \
02723 \
02724 int yyless_macro_arg = (n); \
02725 YY_LESS_LINENO(yyless_macro_arg);\
02726 yytext[yyleng] = yyg->yy_hold_char; \
02727 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02728 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02729 *yyg->yy_c_buf_p = '\0'; \
02730 yyleng = yyless_macro_arg; \
02731 } \
02732 while ( 0 )
02733
02734
02735
02739 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner)
02740 {
02741 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02742 return yyextra;
02743 }
02744
02748 int osssget_lineno (yyscan_t yyscanner)
02749 {
02750 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02751
02752 if (! YY_CURRENT_BUFFER)
02753 return 0;
02754
02755 return yylineno;
02756 }
02757
02761 int osssget_column (yyscan_t yyscanner)
02762 {
02763 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02764
02765 if (! YY_CURRENT_BUFFER)
02766 return 0;
02767
02768 return yycolumn;
02769 }
02770
02774 FILE *osssget_in (yyscan_t yyscanner)
02775 {
02776 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02777 return yyin;
02778 }
02779
02783 FILE *osssget_out (yyscan_t yyscanner)
02784 {
02785 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02786 return yyout;
02787 }
02788
02792 int osssget_leng (yyscan_t yyscanner)
02793 {
02794 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02795 return yyleng;
02796 }
02797
02802 char *osssget_text (yyscan_t yyscanner)
02803 {
02804 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02805 return yytext;
02806 }
02807
02812 void osssset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
02813 {
02814 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02815 yyextra = user_defined ;
02816 }
02817
02822 void osssset_lineno (int line_number , yyscan_t yyscanner)
02823 {
02824 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02825
02826
02827 if (! YY_CURRENT_BUFFER )
02828 yy_fatal_error( "osssset_lineno called with no buffer" , yyscanner);
02829
02830 yylineno = line_number;
02831 }
02832
02837 void osssset_column (int column_no , yyscan_t yyscanner)
02838 {
02839 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02840
02841
02842 if (! YY_CURRENT_BUFFER )
02843 yy_fatal_error( "osssset_column called with no buffer" , yyscanner);
02844
02845 yycolumn = column_no;
02846 }
02847
02854 void osssset_in (FILE * in_str , yyscan_t yyscanner)
02855 {
02856 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02857 yyin = in_str ;
02858 }
02859
02860 void osssset_out (FILE * out_str , yyscan_t yyscanner)
02861 {
02862 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02863 yyout = out_str ;
02864 }
02865
02866 int osssget_debug (yyscan_t yyscanner)
02867 {
02868 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02869 return yy_flex_debug;
02870 }
02871
02872 void osssset_debug (int bdebug , yyscan_t yyscanner)
02873 {
02874 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02875 yy_flex_debug = bdebug ;
02876 }
02877
02878
02879
02880
02881
02882
02883
02884
02885
02886
02887 int ossslex_init(yyscan_t* ptr_yy_globals)
02888
02889 {
02890 if (ptr_yy_globals == NULL){
02891 errno = EINVAL;
02892 return 1;
02893 }
02894
02895 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), NULL );
02896
02897 if (*ptr_yy_globals == NULL){
02898 errno = ENOMEM;
02899 return 1;
02900 }
02901
02902
02903 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02904
02905 return yy_init_globals ( *ptr_yy_globals );
02906 }
02907
02908
02909
02910
02911
02912
02913
02914
02915
02916 int ossslex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
02917
02918 {
02919 struct yyguts_t dummy_yyguts;
02920
02921 osssset_extra (yy_user_defined, &dummy_yyguts);
02922
02923 if (ptr_yy_globals == NULL){
02924 errno = EINVAL;
02925 return 1;
02926 }
02927
02928 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
02929
02930 if (*ptr_yy_globals == NULL){
02931 errno = ENOMEM;
02932 return 1;
02933 }
02934
02935
02936
02937 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02938
02939 osssset_extra (yy_user_defined, *ptr_yy_globals);
02940
02941 return yy_init_globals ( *ptr_yy_globals );
02942 }
02943
02944 static int yy_init_globals (yyscan_t yyscanner)
02945 {
02946 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02947
02948
02949
02950
02951 yyg->yy_buffer_stack = 0;
02952 yyg->yy_buffer_stack_top = 0;
02953 yyg->yy_buffer_stack_max = 0;
02954 yyg->yy_c_buf_p = (char *) 0;
02955 yyg->yy_init = 0;
02956 yyg->yy_start = 0;
02957
02958 yyg->yy_start_stack_ptr = 0;
02959 yyg->yy_start_stack_depth = 0;
02960 yyg->yy_start_stack = NULL;
02961
02962
02963 #ifdef YY_STDINIT
02964 yyin = stdin;
02965 yyout = stdout;
02966 #else
02967 yyin = (FILE *) 0;
02968 yyout = (FILE *) 0;
02969 #endif
02970
02971
02972
02973
02974 return 0;
02975 }
02976
02977
02978 int ossslex_destroy (yyscan_t yyscanner)
02979 {
02980 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02981
02982
02983 while(YY_CURRENT_BUFFER){
02984 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
02985 YY_CURRENT_BUFFER_LVALUE = NULL;
02986 ossspop_buffer_state(yyscanner);
02987 }
02988
02989
02990 osssfree(yyg->yy_buffer_stack ,yyscanner);
02991 yyg->yy_buffer_stack = NULL;
02992
02993
02994 osssfree(yyg->yy_start_stack ,yyscanner );
02995 yyg->yy_start_stack = NULL;
02996
02997
02998
02999 yy_init_globals( yyscanner);
03000
03001
03002 osssfree ( yyscanner , yyscanner );
03003 yyscanner = NULL;
03004 return 0;
03005 }
03006
03007
03008
03009
03010
03011 #ifndef yytext_ptr
03012 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
03013 {
03014 register int i;
03015 for ( i = 0; i < n; ++i )
03016 s1[i] = s2[i];
03017 }
03018 #endif
03019
03020 #ifdef YY_NEED_STRLEN
03021 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
03022 {
03023 register int n;
03024 for ( n = 0; s[n]; ++n )
03025 ;
03026
03027 return n;
03028 }
03029 #endif
03030
03031 void *osssalloc (yy_size_t size , yyscan_t yyscanner)
03032 {
03033 return (void *) malloc( size );
03034 }
03035
03036 void *osssrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
03037 {
03038
03039
03040
03041
03042
03043
03044
03045 return (void *) realloc( (char *) ptr, size );
03046 }
03047
03048 void osssfree (void * ptr , yyscan_t yyscanner)
03049 {
03050 free( (char *) ptr );
03051 }
03052
03053 #define YYTABLES_NAME "yytables"
03054
03055 #line 688 "/home/gus/research/OS/trunk-temp/OS/src/OSParsers/OSParseosss.l"
03056
03057
03058
03059 void setyyextra(osOptionsStruc *osoptions, void* scanner){
03060 osssset_extra(osoptions, scanner);
03061 }
03062