00001 #line 2 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.cpp"
00002
00003 #line 4 "/Users/kmartin/coin/os-trunk/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 55
00375 #define YY_END_OF_BUFFER 56
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[405] =
00384 { 0,
00385 1, 1, 56, 54, 1, 1, 54, 54, 54, 54,
00386 54, 54, 54, 54, 54, 54, 54, 54, 54, 1,
00387 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
00388 0, 12, 0, 0, 0, 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, 44, 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, 47, 6, 0, 41, 43, 0, 0, 0,
00395
00396 0, 0, 0, 13, 0, 0, 0, 0, 0, 0,
00397 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
00398 0, 0, 0, 0, 0, 0, 46, 0, 0, 40,
00399 0, 0, 43, 16, 25, 0, 19, 0, 0, 0,
00400 0, 5, 0, 0, 0, 0, 45, 0, 0, 39,
00401 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
00402 0, 0, 0, 0, 46, 0, 0, 40, 15, 0,
00403 24, 0, 0, 18, 0, 0, 0, 0, 0, 0,
00404 0, 0, 0, 0, 0, 45, 0, 0, 39, 14,
00405 0, 23, 0, 0, 0, 17, 0, 0, 0, 0,
00406
00407 0, 4, 0, 0, 15, 0, 24, 0, 0, 18,
00408 0, 0, 0, 50, 10, 0, 0, 0, 0, 0,
00409 0, 14, 0, 23, 0, 0, 0, 17, 0, 0,
00410 0, 53, 3, 0, 22, 0, 0, 0, 0, 0,
00411 49, 0, 0, 11, 0, 2, 0, 0, 0, 0,
00412 0, 0, 0, 48, 0, 52, 0, 0, 3, 21,
00413 0, 0, 0, 32, 0, 0, 0, 49, 0, 51,
00414 0, 0, 2, 20, 0, 0, 0, 0, 0, 0,
00415 0, 48, 0, 52, 0, 21, 28, 9, 31, 0,
00416 0, 0, 0, 0, 51, 0, 20, 0, 0, 30,
00417
00418 0, 0, 0, 27, 0, 0, 31, 0, 0, 8,
00419 26, 0, 0, 0, 30, 0, 0, 0, 27, 0,
00420 0, 0, 26, 29, 0, 0, 0, 0, 0, 0,
00421 29, 0, 0, 0, 35, 0, 0, 0, 0, 0,
00422 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
00423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00424 0, 37, 0, 0, 0, 0, 0, 0, 0, 36,
00425 0, 0, 0, 0, 0, 0, 0, 0, 37, 0,
00426 34, 0, 0, 0, 0, 36, 0, 33, 0, 0,
00427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00428
00429 0, 0, 0, 0
00430 } ;
00431
00432 static yyconst flex_int32_t yy_ec[256] =
00433 { 0,
00434 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00435 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00437 1, 2, 4, 5, 4, 4, 1, 4, 1, 4,
00438 4, 4, 4, 1, 6, 4, 4, 4, 4, 4,
00439 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
00440 1, 1, 4, 4, 4, 4, 4, 7, 4, 4,
00441 4, 4, 8, 9, 4, 10, 11, 4, 12, 4,
00442 4, 13, 4, 4, 4, 4, 4, 4, 4, 4,
00443 1, 4, 1, 1, 4, 1, 14, 15, 16, 17,
00444
00445 18, 19, 20, 21, 22, 4, 23, 24, 25, 26,
00446 27, 28, 29, 30, 31, 32, 33, 34, 35, 4,
00447 4, 4, 1, 1, 1, 4, 1, 1, 1, 1,
00448 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00449 1, 1, 1, 1, 1, 1, 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
00456 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00457 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
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
00462 } ;
00463
00464 static yyconst flex_int32_t yy_meta[36] =
00465 { 0,
00466 1, 2, 3, 2, 2, 2, 2, 2, 2, 2,
00467 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00468 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00469 2, 2, 2, 2, 2
00470 } ;
00471
00472 static yyconst flex_int16_t yy_base[459] =
00473 { 0,
00474 0, 0, 684, 685, 34, 36, 34, 653, 655, 667,
00475 662, 653, 650, 653, 645, 645, 641, 25, 655, 39,
00476 36, 642, 644, 656, 685, 643, 640, 643, 635, 635,
00477 26, 685, 637, 637, 630, 637, 629, 628, 43, 44,
00478 636, 635, 626, 631, 624, 635, 622, 633, 623, 623,
00479 616, 616, 615, 45, 51, 623, 614, 619, 607, 622,
00480 73, 612, 629, 80, 82, 614, 613, 612, 611, 608,
00481 601, 598, 597, 599, 605, 606, 597, 591, 606, 86,
00482 614, 88, 90, 599, 598, 597, 596, 593, 584, 583,
00483 585, 593, 94, 685, 592, 98, 102, 608, 106, 108,
00484
00485 604, 110, 579, 685, 588, 591, 586, 579, 580, 574,
00486 573, 581, 112, 580, 116, 120, 596, 124, 126, 46,
00487 128, 568, 577, 580, 579, 576, 130, 590, 563, 134,
00488 588, 587, 685, 138, 142, 565, 146, 56, 574, 559,
00489 561, 685, 555, 564, 567, 564, 150, 578, 551, 154,
00490 576, 575, 685, 158, 162, 553, 545, 166, 564, 560,
00491 545, 544, 170, 568, 685, 540, 566, 685, 172, 565,
00492 176, 564, 540, 180, 562, 539, 538, 546, 184, 537,
00493 551, 534, 530, 186, 554, 685, 526, 552, 685, 188,
00494 551, 192, 550, 526, 521, 196, 547, 524, 532, 200,
00495
00496 202, 204, 208, 544, 685, 543, 685, 514, 541, 685,
00497 528, 509, 202, 212, 685, 516, 516, 216, 218, 222,
00498 536, 685, 535, 685, 506, 510, 532, 685, 501, 216,
00499 226, 230, 234, 530, 238, 502, 515, 242, 505, 513,
00500 244, 525, 512, 685, 248, 252, 523, 256, 495, 493,
00501 260, 498, 506, 262, 518, 266, 517, 516, 685, 270,
00502 515, 274, 495, 276, 502, 485, 511, 685, 497, 280,
00503 509, 508, 685, 284, 507, 288, 479, 290, 494, 477,
00504 503, 685, 502, 685, 501, 685, 294, 685, 298, 500,
00505 490, 482, 478, 386, 685, 385, 685, 302, 306, 308,
00506
00507 384, 374, 366, 312, 381, 379, 685, 351, 354, 685,
00508 316, 375, 320, 374, 685, 346, 350, 371, 685, 353,
00509 357, 368, 685, 324, 367, 349, 353, 342, 328, 363,
00510 685, 340, 330, 340, 332, 335, 362, 334, 342, 72,
00511 340, 59, 336, 336, 80, 329, 322, 339, 311, 304,
00512 297, 288, 290, 288, 343, 274, 278, 271, 262, 262,
00513 260, 348, 275, 265, 246, 250, 230, 239, 218, 354,
00514 243, 233, 214, 218, 200, 205, 182, 203, 685, 173,
00515 685, 173, 170, 166, 175, 685, 149, 685, 147, 144,
00516 144, 143, 136, 135, 128, 134, 104, 126, 90, 113,
00517
00518 98, 73, 45, 685, 392, 394, 396, 398, 401, 402,
00519 404, 407, 409, 411, 412, 414, 416, 419, 421, 422,
00520 424, 426, 429, 431, 433, 435, 437, 439, 440, 442,
00521 444, 446, 448, 451, 452, 455, 456, 459, 460, 463,
00522 465, 467, 468, 471, 473, 474, 476, 479, 480, 483,
00523 485, 487, 488, 491, 492, 494, 497, 499
00524 } ;
00525
00526 static yyconst flex_int16_t yy_def[459] =
00527 { 0,
00528 404, 1, 404, 404, 404, 404, 404, 404, 404, 404,
00529 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00530 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00531 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00532 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00533 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00534 404, 404, 404, 404, 405, 404, 404, 404, 404, 404,
00535 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00536 404, 404, 406, 404, 404, 404, 404, 404, 404, 404,
00537 404, 404, 407, 404, 404, 408, 405, 409, 404, 404,
00538
00539 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00540 404, 404, 410, 404, 411, 406, 412, 404, 404, 404,
00541 404, 404, 404, 404, 404, 404, 407, 413, 404, 408,
00542 414, 409, 404, 415, 416, 404, 417, 404, 404, 404,
00543 404, 404, 404, 404, 404, 404, 410, 418, 404, 411,
00544 419, 412, 404, 420, 421, 404, 404, 422, 404, 404,
00545 404, 404, 404, 413, 404, 404, 414, 404, 415, 423,
00546 416, 424, 404, 417, 425, 404, 404, 404, 404, 404,
00547 404, 404, 404, 404, 418, 404, 404, 419, 404, 420,
00548 426, 421, 427, 404, 404, 422, 428, 404, 404, 404,
00549
00550 404, 429, 404, 423, 404, 424, 404, 404, 425, 404,
00551 404, 404, 404, 430, 404, 404, 404, 404, 431, 404,
00552 426, 404, 427, 404, 404, 404, 428, 404, 404, 404,
00553 432, 433, 429, 434, 435, 404, 404, 404, 404, 404,
00554 430, 436, 404, 404, 437, 431, 438, 439, 404, 404,
00555 404, 404, 404, 432, 440, 433, 441, 434, 404, 435,
00556 442, 404, 404, 443, 404, 404, 436, 404, 404, 437,
00557 444, 438, 404, 439, 445, 404, 404, 446, 404, 404,
00558 440, 404, 441, 404, 442, 404, 447, 404, 443, 448,
00559 404, 404, 404, 444, 404, 445, 404, 449, 404, 446,
00560
00561 450, 404, 404, 447, 451, 448, 404, 404, 404, 404,
00562 449, 452, 453, 450, 404, 404, 404, 451, 404, 404,
00563 404, 452, 404, 453, 454, 404, 404, 404, 404, 454,
00564 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00565 404, 404, 404, 404, 404, 404, 404, 455, 404, 404,
00566 404, 404, 404, 404, 456, 404, 404, 404, 404, 404,
00567 404, 455, 457, 404, 404, 404, 404, 404, 404, 456,
00568 458, 404, 404, 404, 404, 404, 404, 457, 404, 404,
00569 404, 404, 404, 404, 458, 404, 404, 404, 404, 404,
00570 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00571
00572 404, 404, 404, 0, 404, 404, 404, 404, 404, 404,
00573 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00574 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00575 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00576 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00577 404, 404, 404, 404, 404, 404, 404, 404
00578 } ;
00579
00580 static yyconst flex_int16_t yy_nxt[721] =
00581 { 0,
00582 4, 5, 6, 4, 4, 7, 4, 4, 4, 4,
00583 4, 4, 4, 4, 8, 9, 10, 4, 4, 4,
00584 11, 12, 4, 4, 13, 14, 15, 16, 17, 4,
00585 18, 4, 4, 19, 4, 20, 20, 20, 20, 21,
00586 20, 20, 43, 57, 65, 65, 83, 83, 22, 23,
00587 24, 44, 58, 156, 25, 26, 46, 157, 27, 28,
00588 29, 30, 388, 47, 31, 66, 176, 32, 177, 48,
00589 67, 68, 84, 69, 93, 93, 353, 85, 86, 388,
00590 87, 96, 96, 65, 65, 354, 98, 113, 113, 115,
00591 115, 83, 83, 350, 117, 93, 93, 351, 128, 96,
00592
00593 96, 357, 131, 404, 404, 358, 404, 134, 134, 135,
00594 135, 137, 137, 113, 113, 381, 148, 115, 115, 381,
00595 151, 404, 404, 403, 404, 154, 154, 155, 155, 158,
00596 158, 404, 404, 402, 404, 404, 404, 401, 404, 134,
00597 134, 400, 170, 135, 135, 399, 172, 137, 137, 398,
00598 175, 404, 404, 397, 404, 404, 404, 396, 404, 154,
00599 154, 388, 191, 155, 155, 395, 193, 158, 158, 388,
00600 197, 202, 202, 404, 404, 394, 404, 404, 404, 386,
00601 404, 404, 404, 381, 404, 214, 214, 219, 219, 404,
00602 404, 393, 404, 404, 404, 381, 404, 404, 404, 392,
00603
00604 404, 231, 231, 232, 232, 202, 202, 379, 234, 235,
00605 235, 239, 240, 214, 214, 391, 242, 245, 245, 219,
00606 219, 388, 247, 248, 248, 252, 253, 231, 231, 390,
00607 255, 232, 232, 389, 257, 404, 404, 388, 404, 235,
00608 235, 387, 261, 264, 264, 404, 404, 386, 404, 245,
00609 245, 384, 271, 404, 404, 381, 404, 248, 248, 383,
00610 275, 278, 278, 404, 404, 382, 404, 404, 404, 381,
00611 404, 404, 404, 380, 404, 287, 287, 264, 264, 379,
00612 290, 404, 404, 377, 404, 404, 404, 376, 404, 298,
00613 298, 278, 278, 375, 301, 287, 287, 374, 305, 404,
00614
00615 404, 373, 404, 298, 298, 372, 312, 313, 313, 404,
00616 404, 369, 404, 404, 404, 368, 404, 404, 404, 367,
00617 404, 313, 313, 366, 325, 404, 404, 365, 404, 335,
00618 335, 337, 337, 335, 335, 348, 348, 355, 355, 360,
00619 348, 348, 364, 363, 355, 355, 359, 371, 361, 404,
00620 404, 339, 404, 356, 340, 404, 404, 352, 404, 349,
00621 343, 341, 342, 337, 337, 338, 336, 331, 334, 333,
00622 332, 331, 323, 329, 328, 319, 327, 326, 315, 323,
00623 321, 344, 320, 307, 345, 319, 317, 316, 315, 297,
00624 295, 346, 347, 97, 97, 116, 116, 127, 127, 130,
00625
00626 130, 132, 132, 147, 147, 150, 150, 152, 152, 164,
00627 164, 167, 167, 169, 169, 171, 171, 174, 174, 185,
00628 185, 188, 188, 190, 190, 192, 192, 196, 196, 204,
00629 204, 206, 206, 209, 209, 221, 221, 223, 223, 227,
00630 227, 233, 233, 241, 241, 246, 246, 254, 254, 256,
00631 256, 258, 258, 260, 260, 267, 267, 270, 270, 272,
00632 272, 274, 274, 281, 281, 283, 283, 285, 285, 289,
00633 289, 294, 294, 296, 296, 300, 300, 304, 304, 306,
00634 306, 311, 311, 314, 314, 318, 318, 322, 322, 324,
00635 324, 330, 330, 362, 362, 370, 370, 378, 378, 385,
00636
00637 385, 310, 309, 308, 307, 286, 284, 282, 303, 302,
00638 299, 297, 273, 295, 293, 268, 292, 291, 288, 286,
00639 259, 284, 282, 280, 279, 277, 276, 273, 269, 268,
00640 266, 265, 263, 262, 259, 251, 228, 250, 249, 224,
00641 222, 244, 243, 238, 237, 210, 236, 207, 205, 230,
00642 229, 228, 226, 225, 224, 222, 189, 220, 186, 218,
00643 217, 216, 215, 213, 212, 211, 210, 208, 207, 205,
00644 168, 203, 165, 201, 200, 199, 198, 195, 194, 153,
00645 189, 187, 186, 184, 183, 182, 181, 180, 179, 178,
00646 173, 133, 168, 166, 165, 163, 162, 161, 160, 159,
00647
00648 153, 149, 146, 145, 144, 143, 142, 141, 140, 139,
00649 138, 136, 133, 129, 126, 125, 124, 123, 122, 121,
00650 120, 119, 118, 114, 112, 111, 110, 109, 108, 107,
00651 106, 105, 104, 103, 102, 101, 100, 99, 95, 94,
00652 92, 91, 90, 89, 88, 82, 81, 80, 79, 78,
00653 77, 76, 75, 74, 73, 72, 71, 70, 64, 63,
00654 62, 61, 60, 59, 56, 55, 54, 53, 52, 51,
00655 50, 49, 45, 42, 41, 40, 39, 38, 37, 36,
00656 35, 34, 33, 404, 3, 404, 404, 404, 404, 404,
00657 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00658
00659 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00660 404, 404, 404, 404, 404, 404, 404, 404, 404, 404
00661 } ;
00662
00663 static yyconst flex_int16_t yy_chk[721] =
00664 { 0,
00665 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00666 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00667 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00668 1, 1, 1, 1, 1, 5, 5, 6, 6, 7,
00669 20, 20, 18, 31, 39, 39, 54, 54, 7, 7,
00670 7, 18, 31, 120, 7, 7, 21, 120, 7, 7,
00671 7, 7, 403, 21, 7, 40, 138, 7, 138, 21,
00672 40, 40, 55, 40, 61, 61, 342, 55, 55, 402,
00673 55, 64, 64, 65, 65, 342, 65, 80, 80, 82,
00674 82, 83, 83, 340, 83, 93, 93, 340, 93, 96,
00675
00676 96, 345, 96, 97, 97, 345, 97, 99, 99, 100,
00677 100, 102, 102, 113, 113, 401, 113, 115, 115, 400,
00678 115, 116, 116, 399, 116, 118, 118, 119, 119, 121,
00679 121, 127, 127, 398, 127, 130, 130, 397, 130, 134,
00680 134, 396, 134, 135, 135, 395, 135, 137, 137, 394,
00681 137, 147, 147, 393, 147, 150, 150, 392, 150, 154,
00682 154, 391, 154, 155, 155, 390, 155, 158, 158, 389,
00683 158, 163, 163, 169, 169, 387, 169, 171, 171, 385,
00684 171, 174, 174, 384, 174, 179, 179, 184, 184, 190,
00685 190, 383, 190, 192, 192, 382, 192, 196, 196, 380,
00686
00687 196, 200, 200, 201, 201, 202, 202, 378, 202, 203,
00688 203, 213, 213, 214, 214, 377, 214, 218, 218, 219,
00689 219, 376, 219, 220, 220, 230, 230, 231, 231, 375,
00690 231, 232, 232, 374, 232, 233, 233, 373, 233, 235,
00691 235, 372, 235, 238, 238, 241, 241, 371, 241, 245,
00692 245, 369, 245, 246, 246, 368, 246, 248, 248, 367,
00693 248, 251, 251, 254, 254, 366, 254, 256, 256, 365,
00694 256, 260, 260, 364, 260, 262, 262, 264, 264, 363,
00695 264, 270, 270, 361, 270, 274, 274, 360, 274, 276,
00696 276, 278, 278, 359, 278, 287, 287, 358, 287, 289,
00697
00698 289, 357, 289, 298, 298, 356, 298, 299, 299, 300,
00699 300, 354, 300, 304, 304, 353, 304, 311, 311, 352,
00700 311, 313, 313, 351, 313, 324, 324, 350, 324, 329,
00701 329, 333, 333, 335, 335, 338, 338, 343, 343, 347,
00702 348, 348, 349, 348, 355, 355, 346, 355, 347, 362,
00703 362, 335, 362, 344, 335, 370, 370, 341, 370, 339,
00704 336, 335, 335, 337, 337, 334, 332, 330, 328, 327,
00705 326, 325, 322, 321, 320, 318, 317, 316, 314, 312,
00706 309, 337, 308, 306, 337, 305, 303, 302, 301, 296,
00707 294, 337, 337, 405, 405, 406, 406, 407, 407, 408,
00708
00709 408, 409, 409, 410, 410, 411, 411, 412, 412, 413,
00710 413, 414, 414, 415, 415, 416, 416, 417, 417, 418,
00711 418, 419, 419, 420, 420, 421, 421, 422, 422, 423,
00712 423, 424, 424, 425, 425, 426, 426, 427, 427, 428,
00713 428, 429, 429, 430, 430, 431, 431, 432, 432, 433,
00714 433, 434, 434, 435, 435, 436, 436, 437, 437, 438,
00715 438, 439, 439, 440, 440, 441, 441, 442, 442, 443,
00716 443, 444, 444, 445, 445, 446, 446, 447, 447, 448,
00717 448, 449, 449, 450, 450, 451, 451, 452, 452, 453,
00718 453, 454, 454, 455, 455, 456, 456, 457, 457, 458,
00719
00720 458, 293, 292, 291, 290, 285, 283, 281, 280, 279,
00721 277, 275, 272, 271, 269, 267, 266, 265, 263, 261,
00722 258, 257, 255, 253, 252, 250, 249, 247, 243, 242,
00723 240, 239, 237, 236, 234, 229, 227, 226, 225, 223,
00724 221, 217, 216, 212, 211, 209, 208, 206, 204, 199,
00725 198, 197, 195, 194, 193, 191, 188, 187, 185, 183,
00726 182, 181, 180, 178, 177, 176, 175, 173, 172, 170,
00727 167, 166, 164, 162, 161, 160, 159, 157, 156, 152,
00728 151, 149, 148, 146, 145, 144, 143, 141, 140, 139,
00729 136, 132, 131, 129, 128, 126, 125, 124, 123, 122,
00730
00731 117, 114, 112, 111, 110, 109, 108, 107, 106, 105,
00732 103, 101, 98, 95, 92, 91, 90, 89, 88, 87,
00733 86, 85, 84, 81, 79, 78, 77, 76, 75, 74,
00734 73, 72, 71, 70, 69, 68, 67, 66, 63, 62,
00735 60, 59, 58, 57, 56, 53, 52, 51, 50, 49,
00736 48, 47, 46, 45, 44, 43, 42, 41, 38, 37,
00737 36, 35, 34, 33, 30, 29, 28, 27, 26, 24,
00738 23, 22, 19, 17, 16, 15, 14, 13, 12, 11,
00739 10, 9, 8, 3, 404, 404, 404, 404, 404, 404,
00740 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00741
00742 404, 404, 404, 404, 404, 404, 404, 404, 404, 404,
00743 404, 404, 404, 404, 404, 404, 404, 404, 404, 404
00744 } ;
00745
00746
00747 static yyconst flex_int32_t yy_rule_can_match_eol[56] =
00748 { 0,
00749 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
00750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, };
00752
00753
00754
00755
00756 #define REJECT reject_used_but_not_detected
00757 #define yymore() yymore_used_but_not_detected
00758 #define YY_MORE_ADJ 0
00759 #define YY_RESTORE_YY_MORE_OFFSET
00760 #line 1 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
00761
00774 #line 16 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
00775
00776
00777 #include <iostream>
00778 #include "OSConfig.h"
00779
00780
00781 #ifdef HAVE_CSTRING
00782 # include <cstring>
00783 #else
00784 # ifdef HAVE_STRING_H
00785 # include <string.h>
00786 # else
00787 # error "don't have header file for string"
00788 # endif
00789 #endif
00790
00791 #ifdef HAVE_CSTDIO
00792 # include <cstdio>
00793 #else
00794 # ifdef HAVE_STDIO_H
00795 # include <stdio.h>
00796 # else
00797 # error "don't have header file for stdio"
00798 # endif
00799 #endif
00800 #include "OSErrorClass.h"
00801 #include <sstream>
00802 #include "OSOptionsStruc.h"
00803
00804
00805 using std::cout;
00806 using std::endl;
00807 using std::ostringstream;
00808
00809
00810 #ifdef PARSERDEBUG
00811 #define YY_PRINT printf("Found option: %s\n", yytext);
00812 #else
00813 #define YY_PRINT ;
00814 #endif
00815
00816
00817 #ifdef WIN_
00818 #define YY_NO_UNISTD_H
00819 #include <io.h>
00820 #include <process.h>
00821 #ifdef USE_OLD_UNISTD
00822 #include<sys/unistd.h>
00823 #endif
00824 #endif
00825
00826
00827 #define YY_EXTRA_TYPE struct osOptionsStruc*
00828
00829 void setyyextra( osOptionsStruc *osoptions, void* scanner);
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857
00858 #line 859 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.cpp"
00859
00860 #define INITIAL 0
00861
00862 #ifndef YY_NO_UNISTD_H
00863
00864
00865
00866
00867 #include <unistd.h>
00868 #endif
00869
00870 #ifndef YY_EXTRA_TYPE
00871 #define YY_EXTRA_TYPE void *
00872 #endif
00873
00874
00875 struct yyguts_t
00876 {
00877
00878
00879 YY_EXTRA_TYPE yyextra_r;
00880
00881
00882 FILE *yyin_r, *yyout_r;
00883 size_t yy_buffer_stack_top;
00884 size_t yy_buffer_stack_max;
00885 YY_BUFFER_STATE * yy_buffer_stack;
00886 char yy_hold_char;
00887 int yy_n_chars;
00888 int yyleng_r;
00889 char *yy_c_buf_p;
00890 int yy_init;
00891 int yy_start;
00892 int yy_did_buffer_switch_on_eof;
00893 int yy_start_stack_ptr;
00894 int yy_start_stack_depth;
00895 int *yy_start_stack;
00896 yy_state_type yy_last_accepting_state;
00897 char* yy_last_accepting_cpos;
00898
00899 int yylineno_r;
00900 int yy_flex_debug_r;
00901
00902 char *yytext_r;
00903 int yy_more_flag;
00904 int yy_more_len;
00905
00906 };
00907
00908 static int yy_init_globals (yyscan_t yyscanner );
00909
00910 int ossslex_init (yyscan_t* scanner);
00911
00912 int ossslex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
00913
00914
00915
00916
00917 int ossslex_destroy (yyscan_t yyscanner );
00918
00919 int osssget_debug (yyscan_t yyscanner );
00920
00921 void osssset_debug (int debug_flag ,yyscan_t yyscanner );
00922
00923 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner );
00924
00925 void osssset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
00926
00927 FILE *osssget_in (yyscan_t yyscanner );
00928
00929 void osssset_in (FILE * in_str ,yyscan_t yyscanner );
00930
00931 FILE *osssget_out (yyscan_t yyscanner );
00932
00933 void osssset_out (FILE * out_str ,yyscan_t yyscanner );
00934
00935 int osssget_leng (yyscan_t yyscanner );
00936
00937 char *osssget_text (yyscan_t yyscanner );
00938
00939 int osssget_lineno (yyscan_t yyscanner );
00940
00941 void osssset_lineno (int line_number ,yyscan_t yyscanner );
00942
00943
00944
00945
00946
00947 #ifndef YY_SKIP_YYWRAP
00948 #ifdef __cplusplus
00949 extern "C" int ossswrap (yyscan_t yyscanner );
00950 #else
00951 extern int ossswrap (yyscan_t yyscanner );
00952 #endif
00953 #endif
00954
00955 #ifndef yytext_ptr
00956 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
00957 #endif
00958
00959 #ifdef YY_NEED_STRLEN
00960 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
00961 #endif
00962
00963 #ifndef YY_NO_INPUT
00964
00965 #ifdef __cplusplus
00966 static int yyinput (yyscan_t yyscanner );
00967 #else
00968 static int input (yyscan_t yyscanner );
00969 #endif
00970
00971 #endif
00972
00973
00974 #ifndef YY_READ_BUF_SIZE
00975 #ifdef __ia64__
00976
00977 #define YY_READ_BUF_SIZE 16384
00978 #else
00979 #define YY_READ_BUF_SIZE 8192
00980 #endif
00981 #endif
00982
00983
00984 #ifndef ECHO
00985
00986
00987
00988 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
00989 #endif
00990
00991
00992
00993
00994 #ifndef YY_INPUT
00995 #define YY_INPUT(buf,result,max_size) \
00996 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
00997 { \
00998 int c = '*'; \
00999 size_t n; \
01000 for ( n = 0; n < max_size && \
01001 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01002 buf[n] = (char) c; \
01003 if ( c == '\n' ) \
01004 buf[n++] = (char) c; \
01005 if ( c == EOF && ferror( yyin ) ) \
01006 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01007 result = n; \
01008 } \
01009 else \
01010 { \
01011 errno=0; \
01012 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01013 { \
01014 if( errno != EINTR) \
01015 { \
01016 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01017 break; \
01018 } \
01019 errno=0; \
01020 clearerr(yyin); \
01021 } \
01022 }\
01023 \
01024
01025 #endif
01026
01027
01028
01029
01030
01031 #ifndef yyterminate
01032 #define yyterminate() return YY_NULL
01033 #endif
01034
01035
01036 #ifndef YY_START_STACK_INCR
01037 #define YY_START_STACK_INCR 25
01038 #endif
01039
01040
01041 #ifndef YY_FATAL_ERROR
01042 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01043 #endif
01044
01045
01046
01047
01048
01049
01050 #ifndef YY_DECL
01051 #define YY_DECL_IS_OURS 1
01052
01053 extern int ossslex (yyscan_t yyscanner);
01054
01055 #define YY_DECL int ossslex (yyscan_t yyscanner)
01056 #endif
01057
01058
01059
01060
01061 #ifndef YY_USER_ACTION
01062 #define YY_USER_ACTION
01063 #endif
01064
01065
01066 #ifndef YY_BREAK
01067 #define YY_BREAK break;
01068 #endif
01069
01070 #define YY_RULE_SETUP \
01071 YY_USER_ACTION
01072
01075 YY_DECL
01076 {
01077 register yy_state_type yy_current_state;
01078 register char *yy_cp, *yy_bp;
01079 register int yy_act;
01080 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01081
01082 #line 112 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01083
01084
01085 #line 1086 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.cpp"
01086
01087 if ( !yyg->yy_init )
01088 {
01089 yyg->yy_init = 1;
01090
01091 #ifdef YY_USER_INIT
01092 YY_USER_INIT;
01093 #endif
01094
01095 if ( ! yyg->yy_start )
01096 yyg->yy_start = 1;
01097
01098 if ( ! yyin )
01099 yyin = stdin;
01100
01101 if ( ! yyout )
01102 yyout = stdout;
01103
01104 if ( ! YY_CURRENT_BUFFER ) {
01105 osssensure_buffer_stack (yyscanner);
01106 YY_CURRENT_BUFFER_LVALUE =
01107 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01108 }
01109
01110 osss_load_buffer_state(yyscanner );
01111 }
01112
01113 while ( 1 )
01114 {
01115 yy_cp = yyg->yy_c_buf_p;
01116
01117
01118 *yy_cp = yyg->yy_hold_char;
01119
01120
01121
01122
01123 yy_bp = yy_cp;
01124
01125 yy_current_state = yyg->yy_start;
01126 yy_match:
01127 do
01128 {
01129 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01130 if ( yy_accept[yy_current_state] )
01131 {
01132 yyg->yy_last_accepting_state = yy_current_state;
01133 yyg->yy_last_accepting_cpos = yy_cp;
01134 }
01135 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01136 {
01137 yy_current_state = (int) yy_def[yy_current_state];
01138 if ( yy_current_state >= 405 )
01139 yy_c = yy_meta[(unsigned int) yy_c];
01140 }
01141 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01142 ++yy_cp;
01143 }
01144 while ( yy_base[yy_current_state] != 685 );
01145
01146 yy_find_action:
01147 yy_act = yy_accept[yy_current_state];
01148 if ( yy_act == 0 )
01149 {
01150 yy_cp = yyg->yy_last_accepting_cpos;
01151 yy_current_state = yyg->yy_last_accepting_state;
01152 yy_act = yy_accept[yy_current_state];
01153 }
01154
01155 YY_DO_BEFORE_ACTION;
01156
01157 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
01158 {
01159 int yyl;
01160 for ( yyl = 0; yyl < yyleng; ++yyl )
01161 if ( yytext[yyl] == '\n' )
01162
01163 do{ yylineno++;
01164 yycolumn=0;
01165 }while(0)
01166 ;
01167 }
01168
01169 do_action:
01170
01171 switch ( yy_act )
01172 {
01173 case 0:
01174
01175 *yy_cp = yyg->yy_hold_char;
01176 yy_cp = yyg->yy_last_accepting_cpos;
01177 yy_current_state = yyg->yy_last_accepting_state;
01178 goto yy_find_action;
01179
01180 case 1:
01181
01182 YY_RULE_SETUP
01183 #line 114 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01184
01185 YY_BREAK
01186 case 2:
01187
01188 YY_RULE_SETUP
01189 #line 118 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01190 {
01191 YY_PRINT
01192
01193 char *ch = yytext;
01194
01195 ch+=7;
01196 for(; isspace(*ch); ch++);
01197 std::string str( ch);
01198 yyextra->configFile = str;
01199
01200 }
01201 YY_BREAK
01202 case 3:
01203
01204 YY_RULE_SETUP
01205 #line 132 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01206 {
01207 YY_PRINT
01208
01209 char *ch = yytext;
01210
01211 ch+=6;
01212 for(; isspace(*ch); ch++);
01213 std::string str( ch);
01214 yyextra->configFile = str;
01215
01216 }
01217 YY_BREAK
01218 case 4:
01219
01220 YY_RULE_SETUP
01221 #line 145 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01222 {
01223 YY_PRINT
01224
01225 char *ch = yytext;
01226
01227 ch+=6;
01228 for(; isspace(*ch); ch++);
01229 std::string str( ch);
01230 yyextra->configFile = str;
01231
01232 }
01233 YY_BREAK
01234 case 5:
01235 YY_RULE_SETUP
01236 #line 158 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01237 {
01238 YY_PRINT
01239 yyextra->invokeHelp = true;
01240
01241 }
01242 YY_BREAK
01243 case 6:
01244 YY_RULE_SETUP
01245 #line 164 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01246 {
01247 YY_PRINT
01248 yyextra->invokeHelp = true;
01249
01250 }
01251 YY_BREAK
01252 case 7:
01253 YY_RULE_SETUP
01254 #line 170 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01255 {
01256 YY_PRINT
01257 yyextra->invokeHelp = true;
01258
01259 }
01260 YY_BREAK
01261 case 8:
01262 YY_RULE_SETUP
01263 #line 178 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01264 {
01265 YY_PRINT
01266 yyextra->printModel = true;
01267
01268 }
01269 YY_BREAK
01270 case 9:
01271 YY_RULE_SETUP
01272 #line 185 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01273 {
01274 YY_PRINT
01275 yyextra->printModel = true;
01276
01277 }
01278 YY_BREAK
01279 case 10:
01280 YY_RULE_SETUP
01281 #line 192 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01282 {
01283 YY_PRINT
01284 yyextra->writeVersion = true;
01285 }
01286 YY_BREAK
01287 case 11:
01288 YY_RULE_SETUP
01289 #line 198 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01290 {
01291 YY_PRINT
01292 yyextra->writeVersion = true;
01293 }
01294 YY_BREAK
01295 case 12:
01296 YY_RULE_SETUP
01297 #line 203 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01298 {
01299 YY_PRINT
01300 yyextra->writeVersion = true;
01301 }
01302 YY_BREAK
01303 case 13:
01304 YY_RULE_SETUP
01305 #line 209 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01306 {
01307 YY_PRINT
01308 yyextra->quit = true;
01309
01310 }
01311 YY_BREAK
01312 case 14:
01313
01314 YY_RULE_SETUP
01315 #line 216 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01316 {
01317
01318 YY_PRINT
01319
01320 char *ch = yytext;
01321
01322 ch+=5;
01323 for(; isspace(*ch); ch++);
01324 std::string str( ch);
01325 yyextra->osilFile = str;
01326
01327 }
01328 YY_BREAK
01329 case 15:
01330
01331 YY_RULE_SETUP
01332 #line 232 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01333 {
01334
01335 YY_PRINT
01336
01337 char *ch = yytext;
01338
01339 ch+=4;
01340 for(; isspace(*ch); ch++);
01341 std::string str( ch);
01342 yyextra->osilFile = str;
01343
01344 }
01345 YY_BREAK
01346 case 16:
01347
01348 YY_RULE_SETUP
01349 #line 246 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01350 {
01351
01352 YY_PRINT
01353
01354 char *ch = yytext;
01355
01356 ch+=4;
01357 for(; isspace(*ch); ch++);
01358 std::string str( ch);
01359 yyextra->osilFile = str;
01360
01361 }
01362 YY_BREAK
01363 case 17:
01364
01365 YY_RULE_SETUP
01366 #line 259 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01367 {
01368
01369 YY_PRINT
01370
01371 char *ch = yytext;
01372
01373 ch+=5;
01374 for(; isspace(*ch); ch++);
01375 std::string str( ch);
01376 yyextra->osrlFile = str;
01377
01378 }
01379 YY_BREAK
01380 case 18:
01381
01382 YY_RULE_SETUP
01383 #line 272 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01384 {
01385
01386 YY_PRINT
01387
01388 char *ch = yytext;
01389
01390 ch+=4;
01391 for(; isspace(*ch); ch++);
01392 std::string str( ch);
01393 yyextra->osrlFile = str;
01394
01395 }
01396 YY_BREAK
01397 case 19:
01398
01399 YY_RULE_SETUP
01400 #line 286 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01401 {
01402
01403 YY_PRINT
01404
01405 char *ch = yytext;
01406
01407 ch+=4;
01408 for(; isspace(*ch); ch++);
01409 std::string str( ch);
01410 yyextra->osrlFile = str;
01411
01412 }
01413 YY_BREAK
01414 case 20:
01415
01416 YY_RULE_SETUP
01417 #line 301 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01418 {
01419
01420 YY_PRINT
01421
01422 char *ch = yytext;
01423
01424 ch+=8;
01425 for(; isspace(*ch); ch++);
01426 std::string str( ch);
01427 yyextra->insListFile = str;
01428
01429 }
01430 YY_BREAK
01431 case 21:
01432
01433 YY_RULE_SETUP
01434 #line 316 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01435 {
01436
01437 YY_PRINT
01438
01439 char *ch = yytext;
01440
01441 ch+=7;
01442 for(; isspace(*ch); ch++);
01443 std::string str( ch);
01444 yyextra->insListFile = str;
01445
01446 }
01447 YY_BREAK
01448 case 22:
01449
01450 YY_RULE_SETUP
01451 #line 330 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01452 {
01453
01454 YY_PRINT
01455
01456 char *ch = yytext;
01457
01458 ch+=7;
01459 for(; isspace(*ch); ch++);
01460 std::string str( ch);
01461 yyextra->insListFile = str;
01462
01463 }
01464 YY_BREAK
01465 case 23:
01466
01467 YY_RULE_SETUP
01468 #line 344 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01469 {
01470
01471 YY_PRINT
01472
01473 char *ch = yytext;
01474
01475 ch+=5;
01476 for(; isspace(*ch); ch++);
01477 std::string str( ch);
01478 yyextra->osolFile = str;
01479
01480 }
01481 YY_BREAK
01482 case 24:
01483
01484 YY_RULE_SETUP
01485 #line 359 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01486 {
01487
01488 YY_PRINT
01489
01490 char *ch = yytext;
01491
01492 ch+=4;
01493 for(; isspace(*ch); ch++);
01494 std::string str( ch);
01495 yyextra->osolFile = str;
01496
01497 }
01498 YY_BREAK
01499 case 25:
01500
01501 YY_RULE_SETUP
01502 #line 373 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01503 {
01504
01505 YY_PRINT
01506
01507 char *ch = yytext;
01508
01509 ch+=4;
01510 for(; isspace(*ch); ch++);
01511 std::string str( ch);
01512 yyextra->osolFile = str;
01513
01514 }
01515 YY_BREAK
01516 case 26:
01517
01518 YY_RULE_SETUP
01519 #line 388 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01520 {
01521
01522 YY_PRINT
01523
01524 char *ch = yytext;
01525
01526 ch+=10;
01527 for(; isspace(*ch); ch++);
01528 std::string str( ch);
01529 yyextra->osplInputFile = str;
01530
01531 }
01532 YY_BREAK
01533 case 27:
01534
01535 YY_RULE_SETUP
01536 #line 402 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01537 {
01538
01539 YY_PRINT
01540
01541 char *ch = yytext;
01542
01543 ch+=9;
01544 for(; isspace(*ch); ch++);
01545 std::string str( ch);
01546 yyextra->osplInputFile = str;
01547
01548 }
01549 YY_BREAK
01550 case 28:
01551
01552 YY_RULE_SETUP
01553 #line 415 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01554 {
01555
01556 YY_PRINT
01557
01558 char *ch = yytext;
01559
01560 ch+=9;
01561 for(; isspace(*ch); ch++);
01562 std::string str( ch);
01563 yyextra->osplInputFile = str;
01564
01565 }
01566 YY_BREAK
01567 case 29:
01568
01569 YY_RULE_SETUP
01570 #line 428 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01571 {
01572
01573 YY_PRINT
01574
01575 char *ch = yytext;
01576
01577 ch+=11;
01578 for(; isspace(*ch); ch++);
01579 std::string str( ch);
01580 yyextra->osplOutputFile = str;
01581
01582 }
01583 YY_BREAK
01584 case 30:
01585
01586 YY_RULE_SETUP
01587 #line 441 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01588 {
01589
01590 YY_PRINT
01591
01592 yyextra->printRowNumberAsString = yytext;
01593
01594 char *ch = yytext;
01595
01596 ch+=8;
01597 for(; isspace(*ch); ch++);
01598 std::string str( ch);
01599 yyextra->printRowNumberAsString = str;
01600
01601 }
01602 YY_BREAK
01603 case 31:
01604
01605 YY_RULE_SETUP
01606 #line 457 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01607 {
01608
01609 YY_PRINT
01610
01611 yyextra->printRowNumberAsString = yytext;
01612
01613 char *ch = yytext;
01614
01615 ch+=8;
01616 for(; isspace(*ch); ch++);
01617 std::string str( ch);
01618 yyextra->printRowNumberAsString = str;
01619
01620 }
01621 YY_BREAK
01622 case 32:
01623
01624 YY_RULE_SETUP
01625 #line 472 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01626 {
01627
01628 YY_PRINT
01629
01630 yyextra->printRowNumberAsString = yytext;
01631
01632 char *ch = yytext;
01633
01634 ch+=8;
01635 for(; isspace(*ch); ch++);
01636 std::string str( ch);
01637 yyextra->printRowNumberAsString = str;
01638
01639 }
01640 YY_BREAK
01641 case 33:
01642
01643 YY_RULE_SETUP
01644 #line 487 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01645 {
01646
01647 YY_PRINT
01648
01649 char *ch = yytext;
01650
01651 ch+=14;
01652 for(; isspace(*ch); ch++);
01653 std::string str( ch);
01654 yyextra->serviceMethod = str;
01655
01656 }
01657 YY_BREAK
01658 case 34:
01659
01660 YY_RULE_SETUP
01661 #line 500 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01662 {
01663
01664 YY_PRINT
01665
01666 char *ch = yytext;
01667
01668 ch+=13;
01669 for(; isspace(*ch); ch++);
01670 std::string str( ch);
01671 yyextra->serviceMethod = str;
01672
01673 }
01674 YY_BREAK
01675 case 35:
01676
01677 YY_RULE_SETUP
01678 #line 513 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01679 {
01680
01681 YY_PRINT
01682
01683 char *ch = yytext;
01684
01685 ch+=13;
01686 for(; isspace(*ch); ch++);
01687 std::string str( ch);
01688 yyextra->serviceMethod = str;
01689
01690 }
01691 YY_BREAK
01692 case 36:
01693
01694 YY_RULE_SETUP
01695 #line 526 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01696 {
01697
01698 YY_PRINT
01699
01700 yyextra->serviceLocation = yytext;
01701
01702 char *ch = yytext;
01703
01704 ch+=16;
01705 for(; isspace(*ch); ch++);
01706 std::string str( ch);
01707 yyextra->serviceLocation = str;
01708
01709 }
01710 YY_BREAK
01711 case 37:
01712
01713 YY_RULE_SETUP
01714 #line 543 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01715 {
01716
01717 YY_PRINT
01718
01719 yyextra->serviceLocation = yytext;
01720
01721 char *ch = yytext;
01722
01723 ch+=15;
01724 for(; isspace(*ch); ch++);
01725 std::string str( ch);
01726 yyextra->serviceLocation = str;
01727
01728 }
01729 YY_BREAK
01730 case 38:
01731
01732 YY_RULE_SETUP
01733 #line 559 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01734 {
01735
01736 YY_PRINT
01737
01738 yyextra->serviceLocation = yytext;
01739
01740 char *ch = yytext;
01741
01742 ch+=15;
01743 for(; isspace(*ch); ch++);
01744 std::string str( ch);
01745 yyextra->serviceLocation = str;
01746
01747 }
01748 YY_BREAK
01749 case 39:
01750
01751 YY_RULE_SETUP
01752 #line 575 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01753 {
01754
01755 YY_PRINT
01756
01757 char *ch = yytext;
01758
01759 ch+=4;
01760 for(; isspace(*ch); ch++);
01761 std::string str( ch);
01762 yyextra->mpsFile = str;
01763
01764 }
01765 YY_BREAK
01766 case 40:
01767
01768 YY_RULE_SETUP
01769 #line 591 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01770 {
01771
01772 YY_PRINT
01773
01774 char *ch = yytext;
01775
01776 ch+=3;
01777 for(; isspace(*ch); ch++);
01778 std::string str( ch);
01779 yyextra->mpsFile = str;
01780
01781 }
01782 YY_BREAK
01783 case 41:
01784
01785 YY_RULE_SETUP
01786 #line 606 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01787 {
01788
01789 YY_PRINT
01790
01791 char *ch = yytext;
01792
01793 ch+=3;
01794 for(; isspace(*ch); ch++);
01795 std::string str( ch);
01796 yyextra->mpsFile = str;
01797
01798 }
01799 YY_BREAK
01800 case 42:
01801
01802 YY_RULE_SETUP
01803 #line 619 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01804 {
01805
01806 YY_PRINT
01807
01808 char *ch = yytext;
01809
01810 ch+=3;
01811 for(; isspace(*ch); ch++);
01812 std::string str( ch);
01813 yyextra->nlFile = str;
01814
01815 }
01816 YY_BREAK
01817 case 43:
01818
01819 YY_RULE_SETUP
01820 #line 635 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01821 {
01822
01823 YY_PRINT
01824
01825 char *ch = yytext;
01826
01827 ch+=2;
01828 for(; isspace(*ch); ch++);
01829 std::string str( ch);
01830 yyextra->nlFile = str;
01831
01832 }
01833 YY_BREAK
01834 case 44:
01835
01836 YY_RULE_SETUP
01837 #line 649 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01838 {
01839
01840 YY_PRINT
01841
01842 char *ch = yytext;
01843
01844 ch+=2;
01845 for(; isspace(*ch); ch++);
01846 std::string str( ch);
01847 yyextra->nlFile = str;
01848
01849 }
01850 YY_BREAK
01851 case 45:
01852
01853 YY_RULE_SETUP
01854 #line 665 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01855 {
01856
01857 YY_PRINT
01858
01859 char *ch = yytext;
01860
01861 ch+=4;
01862 for(; isspace(*ch); ch++);
01863 std::string str( ch);
01864 yyextra->gamsControlFile = str;
01865
01866 }
01867 YY_BREAK
01868 case 46:
01869
01870 YY_RULE_SETUP
01871 #line 680 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01872 {
01873
01874 YY_PRINT
01875
01876 char *ch = yytext;
01877
01878 ch+=3;
01879 for(; isspace(*ch); ch++);
01880 std::string str( ch);
01881 yyextra->gamsControlFile = str;
01882
01883 }
01884 YY_BREAK
01885 case 47:
01886
01887 YY_RULE_SETUP
01888 #line 693 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01889 {
01890
01891 YY_PRINT
01892
01893 char *ch = yytext;
01894
01895 ch+=3;
01896 for(; isspace(*ch); ch++);
01897 std::string str( ch);
01898 yyextra->gamsControlFile = str;
01899
01900 }
01901 YY_BREAK
01902 case 48:
01903
01904 YY_RULE_SETUP
01905 #line 706 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01906 {
01907
01908 YY_PRINT
01909
01910 char *ch = yytext;
01911
01912 ch+=7;
01913 for(; isspace(*ch); ch++);
01914 std::string str( ch);
01915 yyextra->solverName = str;
01916
01917 }
01918 YY_BREAK
01919 case 49:
01920
01921 YY_RULE_SETUP
01922 #line 720 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01923 {
01924
01925 YY_PRINT
01926
01927 char *ch = yytext;
01928
01929 ch+=6;
01930 for(; isspace(*ch); ch++);
01931 std::string str( ch);
01932 yyextra->solverName = str;
01933
01934 }
01935 YY_BREAK
01936 case 50:
01937
01938 YY_RULE_SETUP
01939 #line 733 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01940 {
01941
01942 YY_PRINT
01943
01944 char *ch = yytext;
01945
01946 ch+=6;
01947 for(; isspace(*ch); ch++);
01948 std::string str( ch);
01949 yyextra->solverName = str;
01950
01951 }
01952 YY_BREAK
01953 case 51:
01954
01955 YY_RULE_SETUP
01956 #line 746 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01957 {
01958
01959 YY_PRINT
01960
01961 char *ch = yytext;
01962
01963 ch+=8;
01964 for(; isspace(*ch); ch++);
01965 std::string str( ch);
01966 yyextra->browser = str;
01967
01968 }
01969 YY_BREAK
01970 case 52:
01971
01972 YY_RULE_SETUP
01973 #line 760 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01974 {
01975
01976 YY_PRINT
01977
01978 char *ch = yytext;
01979
01980 ch+=7;
01981 for(; isspace(*ch); ch++);
01982 std::string str( ch);
01983 yyextra->browser = str;
01984
01985 }
01986 YY_BREAK
01987 case 53:
01988
01989 YY_RULE_SETUP
01990 #line 774 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
01991 {
01992
01993 YY_PRINT
01994
01995 char *ch = yytext;
01996
01997 ch+=7;
01998 for(; isspace(*ch); ch++);
01999 std::string str( ch);
02000 yyextra->browser = str;
02001
02002 }
02003 YY_BREAK
02004 case 54:
02005 YY_RULE_SETUP
02006 #line 787 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
02007 {
02008 std::string error;
02009 std::ostringstream outStr;
02010 outStr << "encountered a spurious character in the lexer" << endl;
02011 outStr << "Please make sure your options are spelled correctly" << endl;
02012 outStr << "Type OSSolverService -h or OSSolverService --help for valid commands" << endl;
02013 outStr << "The first character is: ";
02014 outStr << yytext;
02015 outStr << endl;
02016
02017 error = outStr.str();
02018 throw ErrorClass( error);
02019 }
02020 YY_BREAK
02021 case 55:
02022 YY_RULE_SETUP
02023 #line 800 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
02024 ECHO;
02025 YY_BREAK
02026 #line 2027 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.cpp"
02027 case YY_STATE_EOF(INITIAL):
02028 yyterminate();
02029
02030 case YY_END_OF_BUFFER:
02031 {
02032
02033 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
02034
02035
02036 *yy_cp = yyg->yy_hold_char;
02037 YY_RESTORE_YY_MORE_OFFSET
02038
02039 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
02040 {
02041
02042
02043
02044
02045
02046
02047
02048
02049
02050 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02051 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
02052 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
02053 }
02054
02055
02056
02057
02058
02059
02060
02061
02062 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02063 {
02064 yy_state_type yy_next_state;
02065
02066 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
02067
02068 yy_current_state = yy_get_previous_state( yyscanner );
02069
02070
02071
02072
02073
02074
02075
02076
02077
02078
02079 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
02080
02081 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02082
02083 if ( yy_next_state )
02084 {
02085
02086 yy_cp = ++yyg->yy_c_buf_p;
02087 yy_current_state = yy_next_state;
02088 goto yy_match;
02089 }
02090
02091 else
02092 {
02093 yy_cp = yyg->yy_c_buf_p;
02094 goto yy_find_action;
02095 }
02096 }
02097
02098 else switch ( yy_get_next_buffer( yyscanner ) )
02099 {
02100 case EOB_ACT_END_OF_FILE:
02101 {
02102 yyg->yy_did_buffer_switch_on_eof = 0;
02103
02104 if ( ossswrap(yyscanner ) )
02105 {
02106
02107
02108
02109
02110
02111
02112
02113
02114
02115 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
02116
02117 yy_act = YY_STATE_EOF(YY_START);
02118 goto do_action;
02119 }
02120
02121 else
02122 {
02123 if ( ! yyg->yy_did_buffer_switch_on_eof )
02124 YY_NEW_FILE;
02125 }
02126 break;
02127 }
02128
02129 case EOB_ACT_CONTINUE_SCAN:
02130 yyg->yy_c_buf_p =
02131 yyg->yytext_ptr + yy_amount_of_matched_text;
02132
02133 yy_current_state = yy_get_previous_state( yyscanner );
02134
02135 yy_cp = yyg->yy_c_buf_p;
02136 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02137 goto yy_match;
02138
02139 case EOB_ACT_LAST_MATCH:
02140 yyg->yy_c_buf_p =
02141 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
02142
02143 yy_current_state = yy_get_previous_state( yyscanner );
02144
02145 yy_cp = yyg->yy_c_buf_p;
02146 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02147 goto yy_find_action;
02148 }
02149 break;
02150 }
02151
02152 default:
02153 YY_FATAL_ERROR(
02154 "fatal flex scanner internal error--no action found" );
02155 }
02156 }
02157 }
02158
02159
02160
02161
02162
02163
02164
02165
02166 static int yy_get_next_buffer (yyscan_t yyscanner)
02167 {
02168 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02169 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02170 register char *source = yyg->yytext_ptr;
02171 register int number_to_move, i;
02172 int ret_val;
02173
02174 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
02175 YY_FATAL_ERROR(
02176 "fatal flex scanner internal error--end of buffer missed" );
02177
02178 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02179 {
02180 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
02181 {
02182
02183
02184
02185 return EOB_ACT_END_OF_FILE;
02186 }
02187
02188 else
02189 {
02190
02191
02192
02193 return EOB_ACT_LAST_MATCH;
02194 }
02195 }
02196
02197
02198
02199
02200 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
02201
02202 for ( i = 0; i < number_to_move; ++i )
02203 *(dest++) = *(source++);
02204
02205 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02206
02207
02208
02209 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
02210
02211 else
02212 {
02213 int num_to_read =
02214 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02215
02216 while ( num_to_read <= 0 )
02217 {
02218
02219
02220 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02221
02222 int yy_c_buf_p_offset =
02223 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
02224
02225 if ( b->yy_is_our_buffer )
02226 {
02227 int new_size = b->yy_buf_size * 2;
02228
02229 if ( new_size <= 0 )
02230 b->yy_buf_size += b->yy_buf_size / 8;
02231 else
02232 b->yy_buf_size *= 2;
02233
02234 b->yy_ch_buf = (char *)
02235
02236 osssrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
02237 }
02238 else
02239
02240 b->yy_ch_buf = 0;
02241
02242 if ( ! b->yy_ch_buf )
02243 YY_FATAL_ERROR(
02244 "fatal error - scanner input buffer overflow" );
02245
02246 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
02247
02248 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02249 number_to_move - 1;
02250
02251 }
02252
02253 if ( num_to_read > YY_READ_BUF_SIZE )
02254 num_to_read = YY_READ_BUF_SIZE;
02255
02256
02257 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02258 yyg->yy_n_chars, (size_t) num_to_read );
02259
02260 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02261 }
02262
02263 if ( yyg->yy_n_chars == 0 )
02264 {
02265 if ( number_to_move == YY_MORE_ADJ )
02266 {
02267 ret_val = EOB_ACT_END_OF_FILE;
02268 osssrestart(yyin ,yyscanner);
02269 }
02270
02271 else
02272 {
02273 ret_val = EOB_ACT_LAST_MATCH;
02274 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02275 YY_BUFFER_EOF_PENDING;
02276 }
02277 }
02278
02279 else
02280 ret_val = EOB_ACT_CONTINUE_SCAN;
02281
02282 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
02283
02284 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
02285 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osssrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
02286 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02287 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
02288 }
02289
02290 yyg->yy_n_chars += number_to_move;
02291 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02292 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02293
02294 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02295
02296 return ret_val;
02297 }
02298
02299
02300
02301 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02302 {
02303 register yy_state_type yy_current_state;
02304 register char *yy_cp;
02305 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02306
02307 yy_current_state = yyg->yy_start;
02308
02309 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02310 {
02311 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02312 if ( yy_accept[yy_current_state] )
02313 {
02314 yyg->yy_last_accepting_state = yy_current_state;
02315 yyg->yy_last_accepting_cpos = yy_cp;
02316 }
02317 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02318 {
02319 yy_current_state = (int) yy_def[yy_current_state];
02320 if ( yy_current_state >= 405 )
02321 yy_c = yy_meta[(unsigned int) yy_c];
02322 }
02323 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02324 }
02325
02326 return yy_current_state;
02327 }
02328
02329
02330
02331
02332
02333
02334 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
02335 {
02336 register int yy_is_jam;
02337 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02338 register char *yy_cp = yyg->yy_c_buf_p;
02339
02340 register YY_CHAR yy_c = 1;
02341 if ( yy_accept[yy_current_state] )
02342 {
02343 yyg->yy_last_accepting_state = yy_current_state;
02344 yyg->yy_last_accepting_cpos = yy_cp;
02345 }
02346 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02347 {
02348 yy_current_state = (int) yy_def[yy_current_state];
02349 if ( yy_current_state >= 405 )
02350 yy_c = yy_meta[(unsigned int) yy_c];
02351 }
02352 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02353 yy_is_jam = (yy_current_state == 404);
02354
02355 return yy_is_jam ? 0 : yy_current_state;
02356 }
02357
02358 #ifndef YY_NO_INPUT
02359 #ifdef __cplusplus
02360 static int yyinput (yyscan_t yyscanner)
02361 #else
02362 static int input (yyscan_t yyscanner)
02363 #endif
02364
02365 {
02366 int c;
02367 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02368
02369 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02370
02371 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02372 {
02373
02374
02375
02376
02377 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02378
02379 *yyg->yy_c_buf_p = '\0';
02380
02381 else
02382 {
02383 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02384 ++yyg->yy_c_buf_p;
02385
02386 switch ( yy_get_next_buffer( yyscanner ) )
02387 {
02388 case EOB_ACT_LAST_MATCH:
02389
02390
02391
02392
02393
02394
02395
02396
02397
02398
02399
02400 osssrestart(yyin ,yyscanner);
02401
02402
02403
02404 case EOB_ACT_END_OF_FILE:
02405 {
02406 if ( ossswrap(yyscanner ) )
02407 return EOF;
02408
02409 if ( ! yyg->yy_did_buffer_switch_on_eof )
02410 YY_NEW_FILE;
02411 #ifdef __cplusplus
02412 return yyinput(yyscanner);
02413 #else
02414 return input(yyscanner);
02415 #endif
02416 }
02417
02418 case EOB_ACT_CONTINUE_SCAN:
02419 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02420 break;
02421 }
02422 }
02423 }
02424
02425 c = *(unsigned char *) yyg->yy_c_buf_p;
02426 *yyg->yy_c_buf_p = '\0';
02427 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02428
02429 if ( c == '\n' )
02430
02431 do{ yylineno++;
02432 yycolumn=0;
02433 }while(0)
02434 ;
02435
02436 return c;
02437 }
02438 #endif
02439
02445 void osssrestart (FILE * input_file , yyscan_t yyscanner)
02446 {
02447 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02448
02449 if ( ! YY_CURRENT_BUFFER ){
02450 osssensure_buffer_stack (yyscanner);
02451 YY_CURRENT_BUFFER_LVALUE =
02452 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02453 }
02454
02455 osss_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02456 osss_load_buffer_state(yyscanner );
02457 }
02458
02463 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02464 {
02465 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02466
02467
02468
02469
02470
02471
02472 osssensure_buffer_stack (yyscanner);
02473 if ( YY_CURRENT_BUFFER == new_buffer )
02474 return;
02475
02476 if ( YY_CURRENT_BUFFER )
02477 {
02478
02479 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02480 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02481 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02482 }
02483
02484 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02485 osss_load_buffer_state(yyscanner );
02486
02487
02488
02489
02490
02491
02492 yyg->yy_did_buffer_switch_on_eof = 1;
02493 }
02494
02495 static void osss_load_buffer_state (yyscan_t yyscanner)
02496 {
02497 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02498 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02499 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02500 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02501 yyg->yy_hold_char = *yyg->yy_c_buf_p;
02502 }
02503
02510 YY_BUFFER_STATE osss_create_buffer (FILE * file, int size , yyscan_t yyscanner)
02511 {
02512 YY_BUFFER_STATE b;
02513
02514 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02515 if ( ! b )
02516 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
02517
02518 b->yy_buf_size = size;
02519
02520
02521
02522
02523 b->yy_ch_buf = (char *) osssalloc(b->yy_buf_size + 2 ,yyscanner );
02524 if ( ! b->yy_ch_buf )
02525 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
02526
02527 b->yy_is_our_buffer = 1;
02528
02529 osss_init_buffer(b,file ,yyscanner);
02530
02531 return b;
02532 }
02533
02538 void osss_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02539 {
02540 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02541
02542 if ( ! b )
02543 return;
02544
02545 if ( b == YY_CURRENT_BUFFER )
02546 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02547
02548 if ( b->yy_is_our_buffer )
02549 osssfree((void *) b->yy_ch_buf ,yyscanner );
02550
02551 osssfree((void *) b ,yyscanner );
02552 }
02553
02554 #ifndef __cplusplus
02555 extern int isatty (int );
02556 #endif
02557
02558
02559
02560
02561
02562 static void osss_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
02563
02564 {
02565 int oerrno = errno;
02566 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02567
02568 osss_flush_buffer(b ,yyscanner);
02569
02570 b->yy_input_file = file;
02571 b->yy_fill_buffer = 1;
02572
02573
02574
02575
02576
02577 if (b != YY_CURRENT_BUFFER){
02578 b->yy_bs_lineno = 1;
02579 b->yy_bs_column = 0;
02580 }
02581
02582 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02583
02584 errno = oerrno;
02585 }
02586
02591 void osss_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02592 {
02593 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02594 if ( ! b )
02595 return;
02596
02597 b->yy_n_chars = 0;
02598
02599
02600
02601
02602
02603 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02604 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02605
02606 b->yy_buf_pos = &b->yy_ch_buf[0];
02607
02608 b->yy_at_bol = 1;
02609 b->yy_buffer_status = YY_BUFFER_NEW;
02610
02611 if ( b == YY_CURRENT_BUFFER )
02612 osss_load_buffer_state(yyscanner );
02613 }
02614
02621 void ossspush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02622 {
02623 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02624 if (new_buffer == NULL)
02625 return;
02626
02627 osssensure_buffer_stack(yyscanner);
02628
02629
02630 if ( YY_CURRENT_BUFFER )
02631 {
02632
02633 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02634 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02635 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02636 }
02637
02638
02639 if (YY_CURRENT_BUFFER)
02640 yyg->yy_buffer_stack_top++;
02641 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02642
02643
02644 osss_load_buffer_state(yyscanner );
02645 yyg->yy_did_buffer_switch_on_eof = 1;
02646 }
02647
02652 void ossspop_buffer_state (yyscan_t yyscanner)
02653 {
02654 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02655 if (!YY_CURRENT_BUFFER)
02656 return;
02657
02658 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02659 YY_CURRENT_BUFFER_LVALUE = NULL;
02660 if (yyg->yy_buffer_stack_top > 0)
02661 --yyg->yy_buffer_stack_top;
02662
02663 if (YY_CURRENT_BUFFER) {
02664 osss_load_buffer_state(yyscanner );
02665 yyg->yy_did_buffer_switch_on_eof = 1;
02666 }
02667 }
02668
02669
02670
02671
02672 static void osssensure_buffer_stack (yyscan_t yyscanner)
02673 {
02674 int num_to_alloc;
02675 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02676
02677 if (!yyg->yy_buffer_stack) {
02678
02679
02680
02681
02682
02683 num_to_alloc = 1;
02684 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssalloc
02685 (num_to_alloc * sizeof(struct yy_buffer_state*)
02686 , yyscanner);
02687 if ( ! yyg->yy_buffer_stack )
02688 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
02689
02690 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02691
02692 yyg->yy_buffer_stack_max = num_to_alloc;
02693 yyg->yy_buffer_stack_top = 0;
02694 return;
02695 }
02696
02697 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02698
02699
02700 int grow_size = 8 ;
02701
02702 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02703 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssrealloc
02704 (yyg->yy_buffer_stack,
02705 num_to_alloc * sizeof(struct yy_buffer_state*)
02706 , yyscanner);
02707 if ( ! yyg->yy_buffer_stack )
02708 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
02709
02710
02711 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02712 yyg->yy_buffer_stack_max = num_to_alloc;
02713 }
02714 }
02715
02722 YY_BUFFER_STATE osss_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
02723 {
02724 YY_BUFFER_STATE b;
02725
02726 if ( size < 2 ||
02727 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02728 base[size-1] != YY_END_OF_BUFFER_CHAR )
02729
02730 return 0;
02731
02732 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02733 if ( ! b )
02734 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_buffer()" );
02735
02736 b->yy_buf_size = size - 2;
02737 b->yy_buf_pos = b->yy_ch_buf = base;
02738 b->yy_is_our_buffer = 0;
02739 b->yy_input_file = 0;
02740 b->yy_n_chars = b->yy_buf_size;
02741 b->yy_is_interactive = 0;
02742 b->yy_at_bol = 1;
02743 b->yy_fill_buffer = 0;
02744 b->yy_buffer_status = YY_BUFFER_NEW;
02745
02746 osss_switch_to_buffer(b ,yyscanner );
02747
02748 return b;
02749 }
02750
02759 YY_BUFFER_STATE osss_scan_string (yyconst char * yystr , yyscan_t yyscanner)
02760 {
02761
02762 return osss_scan_bytes(yystr,strlen(yystr) ,yyscanner);
02763 }
02764
02772 YY_BUFFER_STATE osss_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
02773 {
02774 YY_BUFFER_STATE b;
02775 char *buf;
02776 yy_size_t n;
02777 int i;
02778
02779
02780 n = _yybytes_len + 2;
02781 buf = (char *) osssalloc(n ,yyscanner );
02782 if ( ! buf )
02783 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_bytes()" );
02784
02785 for ( i = 0; i < _yybytes_len; ++i )
02786 buf[i] = yybytes[i];
02787
02788 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02789
02790 b = osss_scan_buffer(buf,n ,yyscanner);
02791 if ( ! b )
02792 YY_FATAL_ERROR( "bad buffer in osss_scan_bytes()" );
02793
02794
02795
02796
02797 b->yy_is_our_buffer = 1;
02798
02799 return b;
02800 }
02801
02802 #ifndef YY_EXIT_FAILURE
02803 #define YY_EXIT_FAILURE 2
02804 #endif
02805
02806 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02807 {
02808 (void) fprintf( stderr, "%s\n", msg );
02809 exit( YY_EXIT_FAILURE );
02810 }
02811
02812
02813
02814 #undef yyless
02815 #define yyless(n) \
02816 do \
02817 { \
02818 \
02819 int yyless_macro_arg = (n); \
02820 YY_LESS_LINENO(yyless_macro_arg);\
02821 yytext[yyleng] = yyg->yy_hold_char; \
02822 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02823 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02824 *yyg->yy_c_buf_p = '\0'; \
02825 yyleng = yyless_macro_arg; \
02826 } \
02827 while ( 0 )
02828
02829
02830
02834 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner)
02835 {
02836 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02837 return yyextra;
02838 }
02839
02843 int osssget_lineno (yyscan_t yyscanner)
02844 {
02845 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02846
02847 if (! YY_CURRENT_BUFFER)
02848 return 0;
02849
02850 return yylineno;
02851 }
02852
02856 int osssget_column (yyscan_t yyscanner)
02857 {
02858 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02859
02860 if (! YY_CURRENT_BUFFER)
02861 return 0;
02862
02863 return yycolumn;
02864 }
02865
02869 FILE *osssget_in (yyscan_t yyscanner)
02870 {
02871 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02872 return yyin;
02873 }
02874
02878 FILE *osssget_out (yyscan_t yyscanner)
02879 {
02880 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02881 return yyout;
02882 }
02883
02887 int osssget_leng (yyscan_t yyscanner)
02888 {
02889 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02890 return yyleng;
02891 }
02892
02897 char *osssget_text (yyscan_t yyscanner)
02898 {
02899 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02900 return yytext;
02901 }
02902
02907 void osssset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
02908 {
02909 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02910 yyextra = user_defined ;
02911 }
02912
02917 void osssset_lineno (int line_number , yyscan_t yyscanner)
02918 {
02919 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02920
02921
02922 if (! YY_CURRENT_BUFFER )
02923 yy_fatal_error( "osssset_lineno called with no buffer" , yyscanner);
02924
02925 yylineno = line_number;
02926 }
02927
02932 void osssset_column (int column_no , yyscan_t yyscanner)
02933 {
02934 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02935
02936
02937 if (! YY_CURRENT_BUFFER )
02938 yy_fatal_error( "osssset_column called with no buffer" , yyscanner);
02939
02940 yycolumn = column_no;
02941 }
02942
02949 void osssset_in (FILE * in_str , yyscan_t yyscanner)
02950 {
02951 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02952 yyin = in_str ;
02953 }
02954
02955 void osssset_out (FILE * out_str , yyscan_t yyscanner)
02956 {
02957 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02958 yyout = out_str ;
02959 }
02960
02961 int osssget_debug (yyscan_t yyscanner)
02962 {
02963 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02964 return yy_flex_debug;
02965 }
02966
02967 void osssset_debug (int bdebug , yyscan_t yyscanner)
02968 {
02969 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02970 yy_flex_debug = bdebug ;
02971 }
02972
02973
02974
02975
02976
02977
02978
02979
02980
02981
02982 int ossslex_init(yyscan_t* ptr_yy_globals)
02983
02984 {
02985 if (ptr_yy_globals == NULL){
02986 errno = EINVAL;
02987 return 1;
02988 }
02989
02990 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), NULL );
02991
02992 if (*ptr_yy_globals == NULL){
02993 errno = ENOMEM;
02994 return 1;
02995 }
02996
02997
02998 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02999
03000 return yy_init_globals ( *ptr_yy_globals );
03001 }
03002
03003
03004
03005
03006
03007
03008
03009
03010
03011 int ossslex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
03012
03013 {
03014 struct yyguts_t dummy_yyguts;
03015
03016 osssset_extra (yy_user_defined, &dummy_yyguts);
03017
03018 if (ptr_yy_globals == NULL){
03019 errno = EINVAL;
03020 return 1;
03021 }
03022
03023 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
03024
03025 if (*ptr_yy_globals == NULL){
03026 errno = ENOMEM;
03027 return 1;
03028 }
03029
03030
03031
03032 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
03033
03034 osssset_extra (yy_user_defined, *ptr_yy_globals);
03035
03036 return yy_init_globals ( *ptr_yy_globals );
03037 }
03038
03039 static int yy_init_globals (yyscan_t yyscanner)
03040 {
03041 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03042
03043
03044
03045
03046 yyg->yy_buffer_stack = 0;
03047 yyg->yy_buffer_stack_top = 0;
03048 yyg->yy_buffer_stack_max = 0;
03049 yyg->yy_c_buf_p = (char *) 0;
03050 yyg->yy_init = 0;
03051 yyg->yy_start = 0;
03052
03053 yyg->yy_start_stack_ptr = 0;
03054 yyg->yy_start_stack_depth = 0;
03055 yyg->yy_start_stack = NULL;
03056
03057
03058 #ifdef YY_STDINIT
03059 yyin = stdin;
03060 yyout = stdout;
03061 #else
03062 yyin = (FILE *) 0;
03063 yyout = (FILE *) 0;
03064 #endif
03065
03066
03067
03068
03069 return 0;
03070 }
03071
03072
03073 int ossslex_destroy (yyscan_t yyscanner)
03074 {
03075 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03076
03077
03078 while(YY_CURRENT_BUFFER){
03079 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
03080 YY_CURRENT_BUFFER_LVALUE = NULL;
03081 ossspop_buffer_state(yyscanner);
03082 }
03083
03084
03085 osssfree(yyg->yy_buffer_stack ,yyscanner);
03086 yyg->yy_buffer_stack = NULL;
03087
03088
03089 osssfree(yyg->yy_start_stack ,yyscanner );
03090 yyg->yy_start_stack = NULL;
03091
03092
03093
03094 yy_init_globals( yyscanner);
03095
03096
03097 osssfree ( yyscanner , yyscanner );
03098 yyscanner = NULL;
03099 return 0;
03100 }
03101
03102
03103
03104
03105
03106 #ifndef yytext_ptr
03107 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
03108 {
03109 register int i;
03110 for ( i = 0; i < n; ++i )
03111 s1[i] = s2[i];
03112 }
03113 #endif
03114
03115 #ifdef YY_NEED_STRLEN
03116 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
03117 {
03118 register int n;
03119 for ( n = 0; s[n]; ++n )
03120 ;
03121
03122 return n;
03123 }
03124 #endif
03125
03126 void *osssalloc (yy_size_t size , yyscan_t yyscanner)
03127 {
03128 return (void *) malloc( size );
03129 }
03130
03131 void *osssrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
03132 {
03133
03134
03135
03136
03137
03138
03139
03140 return (void *) realloc( (char *) ptr, size );
03141 }
03142
03143 void osssfree (void * ptr , yyscan_t yyscanner)
03144 {
03145 free( (char *) ptr );
03146 }
03147
03148 #define YYTABLES_NAME "yytables"
03149
03150 #line 800 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosss.l"
03151
03152
03153
03154 void setyyextra(osOptionsStruc *osoptions, void* scanner){
03155 osssset_extra(osoptions, scanner);
03156 }
03157
03158
03159