00001 #line 2 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.cpp"
00002
00003 #line 4 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/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 33
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 __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 #endif
00058
00059
00060 #ifndef INT8_MIN
00061 #define INT8_MIN (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX (4294967295U)
00086 #endif
00087
00088 #endif
00089
00090 #ifdef __cplusplus
00091
00092
00093 #define YY_USE_CONST
00094
00095 #else
00096
00097 #if __STDC__
00098
00099 #define YY_USE_CONST
00100
00101 #endif
00102 #endif
00103
00104 #ifdef YY_USE_CONST
00105 #define yyconst const
00106 #else
00107 #define yyconst
00108 #endif
00109
00110
00111 #define YY_NULL 0
00112
00113
00114
00115
00116
00117
00118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00119
00120
00121 #ifndef YY_TYPEDEF_YY_SCANNER_T
00122 #define YY_TYPEDEF_YY_SCANNER_T
00123 typedef void* yyscan_t;
00124 #endif
00125
00126
00127
00128 #define yyin yyg->yyin_r
00129 #define yyout yyg->yyout_r
00130 #define yyextra yyg->yyextra_r
00131 #define yyleng yyg->yyleng_r
00132 #define yytext yyg->yytext_r
00133 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00134 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00135 #define yy_flex_debug yyg->yy_flex_debug_r
00136
00137 int ossslex_init (yyscan_t* scanner);
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 #define YY_BUF_SIZE 16384
00163 #endif
00164
00165
00166
00167 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00168
00169 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00170 #define YY_TYPEDEF_YY_BUFFER_STATE
00171 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00172 #endif
00173
00174 #define EOB_ACT_CONTINUE_SCAN 0
00175 #define EOB_ACT_END_OF_FILE 1
00176 #define EOB_ACT_LAST_MATCH 2
00177
00178
00179
00180
00181
00182
00183
00184
00185 #define YY_LESS_LINENO(n) \
00186 do { \
00187 int yyl;\
00188 for ( yyl = n; yyl < yyleng; ++yyl )\
00189 if ( yytext[yyl] == '\n' )\
00190 --yylineno;\
00191 }while(0)
00192
00193
00194 #define yyless(n) \
00195 do \
00196 { \
00197 \
00198 int yyless_macro_arg = (n); \
00199 YY_LESS_LINENO(yyless_macro_arg);\
00200 *yy_cp = yyg->yy_hold_char; \
00201 YY_RESTORE_YY_MORE_OFFSET \
00202 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00203 YY_DO_BEFORE_ACTION; \
00204 } \
00205 while ( 0 )
00206
00207 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
00208
00209
00210
00211
00212
00213
00214 #ifndef YY_TYPEDEF_YY_SIZE_T
00215 #define YY_TYPEDEF_YY_SIZE_T
00216 typedef unsigned int yy_size_t;
00217 #endif
00218
00219 #ifndef YY_STRUCT_YY_BUFFER_STATE
00220 #define YY_STRUCT_YY_BUFFER_STATE
00221 struct yy_buffer_state
00222 {
00223 FILE *yy_input_file;
00224
00225 char *yy_ch_buf;
00226 char *yy_buf_pos;
00227
00228
00229
00230
00231 yy_size_t yy_buf_size;
00232
00233
00234
00235
00236 int yy_n_chars;
00237
00238
00239
00240
00241
00242 int yy_is_our_buffer;
00243
00244
00245
00246
00247
00248
00249 int yy_is_interactive;
00250
00251
00252
00253
00254
00255 int yy_at_bol;
00256
00257 int yy_bs_lineno;
00258 int yy_bs_column;
00260
00261
00262
00263 int yy_fill_buffer;
00264
00265 int yy_buffer_status;
00266
00267 #define YY_BUFFER_NEW 0
00268 #define YY_BUFFER_NORMAL 1
00269
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279 #define YY_BUFFER_EOF_PENDING 2
00280
00281 };
00282 #endif
00283
00284
00285
00286
00287
00288
00289
00290 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00291 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00292 : NULL)
00293
00294
00295
00296
00297 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00298
00299 void osssrestart (FILE *input_file ,yyscan_t yyscanner );
00300 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00301 YY_BUFFER_STATE osss_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00302 void osss_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00303 void osss_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00304 void ossspush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00305 void ossspop_buffer_state (yyscan_t yyscanner );
00306
00307 static void osssensure_buffer_stack (yyscan_t yyscanner );
00308 static void osss_load_buffer_state (yyscan_t yyscanner );
00309 static void osss_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00310
00311 #define YY_FLUSH_BUFFER osss_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00312
00313 YY_BUFFER_STATE osss_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00314 YY_BUFFER_STATE osss_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00315 YY_BUFFER_STATE osss_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00316
00317 void *osssalloc (yy_size_t ,yyscan_t yyscanner );
00318 void *osssrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00319 void osssfree (void * ,yyscan_t yyscanner );
00320
00321 #define yy_new_buffer osss_create_buffer
00322
00323 #define yy_set_interactive(is_interactive) \
00324 { \
00325 if ( ! YY_CURRENT_BUFFER ){ \
00326 osssensure_buffer_stack (yyscanner); \
00327 YY_CURRENT_BUFFER_LVALUE = \
00328 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00329 } \
00330 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00331 }
00332
00333 #define yy_set_bol(at_bol) \
00334 { \
00335 if ( ! YY_CURRENT_BUFFER ){\
00336 osssensure_buffer_stack (yyscanner); \
00337 YY_CURRENT_BUFFER_LVALUE = \
00338 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00339 } \
00340 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00341 }
00342
00343 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00344
00345
00346
00347 #define ossswrap(n) 1
00348 #define YY_SKIP_YYWRAP
00349
00350 typedef unsigned char YY_CHAR;
00351
00352 typedef int yy_state_type;
00353
00354 #define yytext_ptr yytext_r
00355
00356 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
00357 static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
00358 static int yy_get_next_buffer (yyscan_t yyscanner );
00359 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
00360
00361
00362
00363
00364 #define YY_DO_BEFORE_ACTION \
00365 yyg->yytext_ptr = yy_bp; \
00366 yyleng = (size_t) (yy_cp - yy_bp); \
00367 yyg->yy_hold_char = *yy_cp; \
00368 *yy_cp = '\0'; \
00369 yyg->yy_c_buf_p = yy_cp;
00370
00371 #define YY_NUM_RULES 20
00372 #define YY_END_OF_BUFFER 21
00373
00374
00375 struct yy_trans_info
00376 {
00377 flex_int32_t yy_verify;
00378 flex_int32_t yy_nxt;
00379 };
00380 static yyconst flex_int16_t yy_accept[184] =
00381 { 0,
00382 1, 1, 21, 19, 1, 1, 19, 1, 0, 0,
00383 0, 4, 0, 0, 0, 0, 0, 6, 0, 0,
00384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00386 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
00387 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
00388 0, 15, 0, 16, 0, 0, 0, 0, 0, 0,
00389 0, 0, 0, 0, 0, 0, 15, 0, 7, 0,
00390 10, 0, 0, 0, 8, 0, 0, 0, 0, 0,
00391 0, 0, 7, 0, 10, 0, 0, 0, 8, 0,
00392
00393 0, 5, 0, 0, 2, 0, 0, 0, 0, 0,
00394 0, 17, 0, 18, 0, 2, 0, 9, 0, 0,
00395 0, 0, 0, 17, 0, 18, 0, 9, 0, 0,
00396 0, 0, 0, 11, 0, 0, 0, 0, 11, 0,
00397 12, 0, 0, 0, 12, 0, 0, 0, 0, 0,
00398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00399 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
00400 14, 0, 13, 0, 0, 0, 0, 0, 0, 0,
00401 0, 0, 0
00402 } ;
00403
00404 static yyconst flex_int32_t yy_ec[256] =
00405 { 0,
00406 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00407 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00409 1, 2, 1, 4, 1, 5, 1, 1, 1, 1,
00410 1, 1, 1, 1, 6, 5, 5, 5, 5, 5,
00411 5, 5, 5, 5, 5, 5, 5, 5, 1, 1,
00412 1, 1, 1, 1, 5, 5, 5, 7, 5, 5,
00413 5, 5, 8, 9, 5, 10, 11, 5, 12, 5,
00414 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
00415 1, 1, 1, 1, 5, 1, 13, 14, 15, 16,
00416
00417 17, 18, 19, 20, 21, 5, 22, 23, 24, 25,
00418 26, 27, 5, 28, 29, 30, 31, 32, 33, 5,
00419 5, 5, 1, 1, 1, 5, 1, 1, 1, 1,
00420 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00421 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00422 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00423 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00424 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00425 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00426 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00427
00428 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00429 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00430 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00431 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00432 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00433 1, 1, 1, 1, 1
00434 } ;
00435
00436 static yyconst flex_int32_t yy_meta[34] =
00437 { 0,
00438 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00439 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00440 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00441 2, 2, 2
00442 } ;
00443
00444 static yyconst flex_int16_t yy_base[209] =
00445 { 0,
00446 0, 2, 318, 319, 7, 9, 7, 12, 3, 289,
00447 290, 319, 290, 287, 290, 283, 0, 319, 294, 293,
00448 283, 283, 278, 277, 16, 16, 277, 281, 280, 274,
00449 268, 282, 289, 22, 43, 275, 274, 273, 272, 262,
00450 261, 265, 262, 261, 268, 267, 46, 26, 49, 38,
00451 52, 8, 54, 266, 269, 319, 264, 267, 264, 253,
00452 55, 58, 60, 319, 63, 66, 256, 249, 69, 264,
00453 250, 251, 248, 72, 245, 73, 319, 75, 78, 80,
00454 83, 247, 243, 85, 88, 255, 91, 246, 93, 95,
00455 98, 99, 319, 101, 319, 239, 242, 103, 319, 98,
00456
00457 108, 319, 111, 113, 116, 119, 238, 236, 240, 248,
00458 121, 124, 126, 129, 131, 319, 133, 136, 139, 234,
00459 248, 232, 140, 319, 142, 319, 144, 319, 147, 150,
00460 248, 240, 151, 154, 157, 229, 232, 159, 319, 161,
00461 164, 236, 240, 166, 319, 229, 169, 229, 171, 173,
00462 236, 13, 235, 160, 176, 221, 227, 223, 218, 222,
00463 223, 178, 181, 236, 221, 228, 214, 225, 208, 184,
00464 319, 213, 319, 216, 216, 219, 221, 217, 225, 200,
00465 224, 213, 319, 200, 227, 226, 202, 204, 225, 196,
00466 195, 206, 208, 210, 194, 193, 192, 212, 190, 214,
00467
00468 216, 218, 189, 220, 187, 222, 5, 224
00469 } ;
00470
00471 static yyconst flex_int16_t yy_def[209] =
00472 { 0,
00473 184, 184, 183, 183, 183, 183, 183, 183, 183, 183,
00474 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00475 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00476 183, 183, 183, 183, 185, 183, 183, 183, 183, 183,
00477 183, 183, 183, 183, 183, 183, 186, 187, 185, 183,
00478 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00479 188, 186, 187, 183, 189, 190, 183, 183, 191, 183,
00480 183, 183, 183, 183, 183, 188, 183, 192, 189, 193,
00481 190, 183, 183, 194, 191, 183, 183, 183, 183, 195,
00482 183, 192, 183, 193, 183, 183, 183, 194, 183, 183,
00483
00484 196, 183, 197, 198, 195, 199, 183, 183, 183, 183,
00485 200, 196, 201, 197, 198, 183, 202, 199, 183, 183,
00486 183, 183, 200, 183, 201, 183, 202, 183, 203, 183,
00487 183, 183, 204, 203, 205, 183, 183, 204, 183, 206,
00488 205, 183, 183, 206, 183, 183, 183, 183, 183, 183,
00489 183, 183, 183, 183, 207, 183, 183, 183, 183, 183,
00490 183, 208, 207, 183, 183, 183, 183, 183, 183, 208,
00491 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00492 183, 183, 0, 183, 183, 183, 183, 183, 183, 183,
00493 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00494
00495 183, 183, 183, 183, 183, 183, 183, 183
00496 } ;
00497
00498 static yyconst flex_int16_t yy_nxt[353] =
00499 { 0,
00500 183, 5, 6, 5, 6, 7, 163, 7, 8, 8,
00501 8, 8, 9, 8, 8, 67, 27, 35, 35, 68,
00502 10, 11, 19, 47, 47, 28, 12, 13, 64, 64,
00503 14, 15, 16, 157, 20, 17, 36, 158, 18, 65,
00504 65, 37, 38, 39, 35, 35, 48, 47, 47, 61,
00505 183, 183, 183, 66, 66, 69, 69, 77, 77, 183,
00506 183, 183, 64, 64, 65, 65, 78, 66, 66, 80,
00507 69, 69, 84, 90, 90, 77, 77, 93, 93, 183,
00508 183, 183, 95, 95, 183, 183, 183, 99, 99, 183,
00509 183, 183, 101, 101, 103, 103, 90, 90, 104, 106,
00510
00511 106, 93, 93, 95, 95, 99, 99, 109, 110, 101,
00512 101, 111, 103, 103, 113, 116, 116, 183, 183, 183,
00513 106, 106, 117, 124, 124, 183, 183, 183, 126, 126,
00514 183, 183, 183, 116, 116, 128, 128, 183, 183, 183,
00515 129, 129, 124, 124, 126, 126, 128, 128, 129, 129,
00516 133, 135, 135, 139, 139, 183, 183, 183, 135, 135,
00517 140, 139, 139, 145, 145, 183, 183, 183, 145, 145,
00518 149, 149, 149, 149, 155, 155, 160, 155, 155, 162,
00519 171, 171, 183, 183, 183, 161, 171, 171, 141, 151,
00520 134, 118, 152, 114, 112, 105, 85, 81, 153, 154,
00521
00522 4, 4, 63, 63, 76, 76, 92, 92, 94, 94,
00523 98, 98, 115, 115, 123, 123, 125, 125, 127, 127,
00524 138, 138, 144, 144, 170, 170, 79, 62, 49, 173,
00525 173, 182, 181, 180, 179, 173, 178, 173, 177, 176,
00526 173, 175, 174, 173, 172, 169, 168, 167, 166, 165,
00527 164, 159, 156, 150, 148, 147, 146, 143, 142, 137,
00528 136, 132, 131, 130, 122, 121, 120, 119, 108, 107,
00529 102, 100, 97, 96, 91, 89, 88, 87, 86, 83,
00530 82, 75, 74, 73, 72, 71, 70, 60, 59, 58,
00531 57, 56, 55, 54, 53, 52, 51, 50, 46, 45,
00532
00533 44, 43, 42, 41, 40, 34, 33, 32, 31, 30,
00534 29, 26, 25, 24, 23, 22, 21, 183, 3, 183,
00535 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00536 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00537 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00538 183, 183
00539 } ;
00540
00541 static yyconst flex_int16_t yy_chk[353] =
00542 { 0,
00543 0, 1, 1, 2, 2, 1, 207, 2, 5, 5,
00544 6, 6, 7, 8, 8, 52, 17, 25, 25, 52,
00545 7, 7, 9, 34, 34, 17, 7, 7, 48, 48,
00546 7, 7, 7, 152, 9, 7, 26, 152, 7, 50,
00547 50, 26, 26, 26, 35, 35, 35, 47, 47, 47,
00548 49, 49, 49, 51, 51, 53, 53, 61, 61, 62,
00549 62, 62, 63, 63, 65, 65, 65, 66, 66, 66,
00550 69, 69, 69, 74, 74, 76, 76, 78, 78, 79,
00551 79, 79, 80, 80, 81, 81, 81, 84, 84, 85,
00552 85, 85, 87, 87, 89, 89, 90, 90, 90, 91,
00553
00554 91, 92, 92, 94, 94, 98, 98, 100, 100, 101,
00555 101, 101, 103, 103, 103, 104, 104, 105, 105, 105,
00556 106, 106, 106, 111, 111, 112, 112, 112, 113, 113,
00557 114, 114, 114, 115, 115, 117, 117, 118, 118, 118,
00558 119, 119, 123, 123, 125, 125, 127, 127, 129, 129,
00559 129, 130, 130, 133, 133, 134, 134, 134, 135, 135,
00560 135, 138, 138, 140, 140, 141, 141, 141, 144, 144,
00561 147, 147, 149, 149, 150, 150, 154, 155, 155, 155,
00562 162, 162, 163, 163, 163, 154, 170, 170, 205, 149,
00563 203, 199, 149, 197, 196, 195, 191, 190, 149, 149,
00564
00565 184, 184, 187, 187, 188, 188, 192, 192, 193, 193,
00566 194, 194, 198, 198, 200, 200, 201, 201, 202, 202,
00567 204, 204, 206, 206, 208, 208, 189, 186, 185, 182,
00568 181, 180, 179, 178, 177, 176, 175, 174, 172, 169,
00569 168, 167, 166, 165, 164, 161, 160, 159, 158, 157,
00570 156, 153, 151, 148, 146, 143, 142, 137, 136, 132,
00571 131, 122, 121, 120, 110, 109, 108, 107, 97, 96,
00572 88, 86, 83, 82, 75, 73, 72, 71, 70, 68,
00573 67, 60, 59, 58, 57, 55, 54, 46, 45, 44,
00574 43, 42, 41, 40, 39, 38, 37, 36, 33, 32,
00575
00576 31, 30, 29, 28, 27, 24, 23, 22, 21, 20,
00577 19, 16, 15, 14, 13, 11, 10, 3, 183, 183,
00578 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00579 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00580 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
00581 183, 183
00582 } ;
00583
00584
00585 static yyconst flex_int32_t yy_rule_can_match_eol[21] =
00586 { 0,
00587 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
00588 0, };
00589
00590
00591
00592
00593 #define REJECT reject_used_but_not_detected
00594 #define yymore() yymore_used_but_not_detected
00595 #define YY_MORE_ADJ 0
00596 #define YY_RESTORE_YY_MORE_OFFSET
00597 #line 1 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
00598
00612 #line 17 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
00613
00614
00615 #include <iostream>
00616 #include "OSConfig.h"
00617
00618
00619 #ifdef HAVE_CSTRING
00620 # include <cstring>
00621 #else
00622 # ifdef HAVE_STRING_H
00623 # include <string.h>
00624 # else
00625 # error "don't have header file for string"
00626 # endif
00627 #endif
00628
00629 #ifdef HAVE_CSTDIO
00630 # include <cstdio>
00631 #else
00632 # ifdef HAVE_STDIO_H
00633 # include <stdio.h>
00634 # else
00635 # error "don't have header file for stdio"
00636 # endif
00637 #endif
00638 #include "OSErrorClass.h"
00639 #include <sstream>
00640 #include "OSOptionsStruc.h"
00641
00642
00643 using std::cout;
00644 using std::endl;
00645 using std::ostringstream;
00646
00647
00648 #define PARSERDEBUG
00649 #ifdef PARSERDEBUG
00650 #define YY_PRINT printf("%s", yytext);
00651 #else
00652 #define YY_PRINT ;
00653 #endif
00654
00655
00656 #ifdef WIN_
00657 #define YY_NO_UNISTD_H
00658 #include <io.h>
00659 #include <process.h>
00660 #ifdef USE_OLD_UNISTD
00661 #include<sys/unistd.h>
00662 #endif
00663 #endif
00664
00665
00666 #define YY_EXTRA_TYPE struct osOptionsStruc*
00667
00668 void setyyextra( osOptionsStruc *osoptions, void* scanner);
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697 #line 698 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.cpp"
00698
00699 #define INITIAL 0
00700
00701 #ifndef YY_NO_UNISTD_H
00702
00703
00704
00705
00706 #include <unistd.h>
00707 #endif
00708
00709 #ifndef YY_EXTRA_TYPE
00710 #define YY_EXTRA_TYPE void *
00711 #endif
00712
00713
00714 struct yyguts_t
00715 {
00716
00717
00718 YY_EXTRA_TYPE yyextra_r;
00719
00720
00721 FILE *yyin_r, *yyout_r;
00722 size_t yy_buffer_stack_top;
00723 size_t yy_buffer_stack_max;
00724 YY_BUFFER_STATE * yy_buffer_stack;
00725 char yy_hold_char;
00726 int yy_n_chars;
00727 int yyleng_r;
00728 char *yy_c_buf_p;
00729 int yy_init;
00730 int yy_start;
00731 int yy_did_buffer_switch_on_eof;
00732 int yy_start_stack_ptr;
00733 int yy_start_stack_depth;
00734 int *yy_start_stack;
00735 yy_state_type yy_last_accepting_state;
00736 char* yy_last_accepting_cpos;
00737
00738 int yylineno_r;
00739 int yy_flex_debug_r;
00740
00741 char *yytext_r;
00742 int yy_more_flag;
00743 int yy_more_len;
00744
00745 };
00746
00747 static int yy_init_globals (yyscan_t yyscanner );
00748
00749
00750
00751
00752 int ossslex_destroy (yyscan_t yyscanner );
00753
00754 int osssget_debug (yyscan_t yyscanner );
00755
00756 void osssset_debug (int debug_flag ,yyscan_t yyscanner );
00757
00758 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner );
00759
00760 void osssset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
00761
00762 FILE *osssget_in (yyscan_t yyscanner );
00763
00764 void osssset_in (FILE * in_str ,yyscan_t yyscanner );
00765
00766 FILE *osssget_out (yyscan_t yyscanner );
00767
00768 void osssset_out (FILE * out_str ,yyscan_t yyscanner );
00769
00770 int osssget_leng (yyscan_t yyscanner );
00771
00772 char *osssget_text (yyscan_t yyscanner );
00773
00774 int osssget_lineno (yyscan_t yyscanner );
00775
00776 void osssset_lineno (int line_number ,yyscan_t yyscanner );
00777
00778
00779
00780
00781
00782 #ifndef YY_SKIP_YYWRAP
00783 #ifdef __cplusplus
00784 extern "C" int ossswrap (yyscan_t yyscanner );
00785 #else
00786 extern int ossswrap (yyscan_t yyscanner );
00787 #endif
00788 #endif
00789
00790 static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner);
00791
00792 #ifndef yytext_ptr
00793 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
00794 #endif
00795
00796 #ifdef YY_NEED_STRLEN
00797 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
00798 #endif
00799
00800 #ifndef YY_NO_INPUT
00801
00802 #ifdef __cplusplus
00803 static int yyinput (yyscan_t yyscanner );
00804 #else
00805 static int input (yyscan_t yyscanner );
00806 #endif
00807
00808 #endif
00809
00810
00811 #ifndef YY_READ_BUF_SIZE
00812 #define YY_READ_BUF_SIZE 8192
00813 #endif
00814
00815
00816 #ifndef ECHO
00817
00818
00819
00820 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00821 #endif
00822
00823
00824
00825
00826 #ifndef YY_INPUT
00827 #define YY_INPUT(buf,result,max_size) \
00828 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
00829 { \
00830 int c = '*'; \
00831 size_t n; \
00832 for ( n = 0; n < max_size && \
00833 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00834 buf[n] = (char) c; \
00835 if ( c == '\n' ) \
00836 buf[n++] = (char) c; \
00837 if ( c == EOF && ferror( yyin ) ) \
00838 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00839 result = n; \
00840 } \
00841 else \
00842 { \
00843 errno=0; \
00844 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00845 { \
00846 if( errno != EINTR) \
00847 { \
00848 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00849 break; \
00850 } \
00851 errno=0; \
00852 clearerr(yyin); \
00853 } \
00854 }\
00855 \
00856
00857 #endif
00858
00859
00860
00861
00862
00863 #ifndef yyterminate
00864 #define yyterminate() return YY_NULL
00865 #endif
00866
00867
00868 #ifndef YY_START_STACK_INCR
00869 #define YY_START_STACK_INCR 25
00870 #endif
00871
00872
00873 #ifndef YY_FATAL_ERROR
00874 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
00875 #endif
00876
00877
00878
00879
00880
00881
00882 #ifndef YY_DECL
00883 #define YY_DECL_IS_OURS 1
00884
00885 extern int ossslex (yyscan_t yyscanner);
00886
00887 #define YY_DECL int ossslex (yyscan_t yyscanner)
00888 #endif
00889
00890
00891
00892
00893 #ifndef YY_USER_ACTION
00894 #define YY_USER_ACTION
00895 #endif
00896
00897
00898 #ifndef YY_BREAK
00899 #define YY_BREAK break;
00900 #endif
00901
00902 #define YY_RULE_SETUP \
00903 YY_USER_ACTION
00904
00907 YY_DECL
00908 {
00909 register yy_state_type yy_current_state;
00910 register char *yy_cp, *yy_bp;
00911 register int yy_act;
00912 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
00913
00914 #line 114 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
00915
00916
00917 #line 918 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.cpp"
00918
00919 if ( !yyg->yy_init )
00920 {
00921 yyg->yy_init = 1;
00922
00923 #ifdef YY_USER_INIT
00924 YY_USER_INIT;
00925 #endif
00926
00927 if ( ! yyg->yy_start )
00928 yyg->yy_start = 1;
00929
00930 if ( ! yyin )
00931 yyin = stdin;
00932
00933 if ( ! yyout )
00934 yyout = stdout;
00935
00936 if ( ! YY_CURRENT_BUFFER ) {
00937 osssensure_buffer_stack (yyscanner);
00938 YY_CURRENT_BUFFER_LVALUE =
00939 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
00940 }
00941
00942 osss_load_buffer_state(yyscanner );
00943 }
00944
00945 while ( 1 )
00946 {
00947 yy_cp = yyg->yy_c_buf_p;
00948
00949
00950 *yy_cp = yyg->yy_hold_char;
00951
00952
00953
00954
00955 yy_bp = yy_cp;
00956
00957 yy_current_state = yyg->yy_start;
00958 yy_match:
00959 do
00960 {
00961 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00962 if ( yy_accept[yy_current_state] )
00963 {
00964 yyg->yy_last_accepting_state = yy_current_state;
00965 yyg->yy_last_accepting_cpos = yy_cp;
00966 }
00967 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00968 {
00969 yy_current_state = (int) yy_def[yy_current_state];
00970 if ( yy_current_state >= 184 )
00971 yy_c = yy_meta[(unsigned int) yy_c];
00972 }
00973 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00974 ++yy_cp;
00975 }
00976 while ( yy_base[yy_current_state] != 319 );
00977
00978 yy_find_action:
00979 yy_act = yy_accept[yy_current_state];
00980 if ( yy_act == 0 )
00981 {
00982 yy_cp = yyg->yy_last_accepting_cpos;
00983 yy_current_state = yyg->yy_last_accepting_state;
00984 yy_act = yy_accept[yy_current_state];
00985 }
00986
00987 YY_DO_BEFORE_ACTION;
00988
00989 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
00990 {
00991 int yyl;
00992 for ( yyl = 0; yyl < yyleng; ++yyl )
00993 if ( yytext[yyl] == '\n' )
00994
00995 do{ yylineno++;
00996 yycolumn=0;
00997 }while(0)
00998 ;
00999 }
01000
01001 do_action:
01002
01003 switch ( yy_act )
01004 {
01005 case 0:
01006
01007 *yy_cp = yyg->yy_hold_char;
01008 yy_cp = yyg->yy_last_accepting_cpos;
01009 yy_current_state = yyg->yy_last_accepting_state;
01010 goto yy_find_action;
01011
01012 case 1:
01013
01014 YY_RULE_SETUP
01015 #line 116 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01016
01017 YY_BREAK
01018 case 2:
01019
01020 YY_RULE_SETUP
01021 #line 120 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01022 {
01023 printf("Found option: %s\n", yytext);
01024
01025 char *ch = yytext;
01026
01027 ch+=7;
01028 for(; isspace(*ch); ch++);
01029 std::string str( ch);
01030 yyextra->configFile = str;
01031
01032 }
01033 YY_BREAK
01034 case 3:
01035 YY_RULE_SETUP
01036 #line 133 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01037 {
01038 printf("Found option: %s\n", yytext);
01039 yyextra->invokeHelp = true;
01040
01041 }
01042 YY_BREAK
01043 case 4:
01044 YY_RULE_SETUP
01045 #line 139 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01046 {
01047 printf("Found option: %s\n", yytext);
01048 yyextra->invokeHelp = true;
01049
01050
01051 }
01052 YY_BREAK
01053 case 5:
01054 YY_RULE_SETUP
01055 #line 146 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01056 {
01057 printf("Found option: %s\n", yytext);
01058 yyextra->writeVersion = true;
01059
01060 }
01061 YY_BREAK
01062 case 6:
01063 YY_RULE_SETUP
01064 #line 152 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01065 {
01066 printf("Found option: %s\n", yytext);
01067 yyextra->writeVersion = true;
01068
01069
01070 }
01071 YY_BREAK
01072 case 7:
01073
01074 YY_RULE_SETUP
01075 #line 161 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01076 {
01077 if(yyextra->osilFile == ""){
01078 printf("Found option: %s\n", yytext);
01079
01080 char *ch = yytext;
01081
01082 ch+=5;
01083 for(; isspace(*ch); ch++);
01084 std::string str( ch);
01085 yyextra->osilFile = str;
01086 }
01087 }
01088 YY_BREAK
01089 case 8:
01090
01091 YY_RULE_SETUP
01092 #line 174 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01093 {
01094 if(yyextra->osrlFile == ""){
01095 printf("Found option: %s\n", yytext);
01096
01097 char *ch = yytext;
01098
01099 ch+=5;
01100 for(; isspace(*ch); ch++);
01101 std::string str( ch);
01102 yyextra->osrlFile = str;
01103 }
01104 }
01105 YY_BREAK
01106 case 9:
01107
01108 YY_RULE_SETUP
01109 #line 187 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01110 {
01111 if(yyextra->insListFile == ""){
01112 printf("Found option: %s\n", yytext);
01113
01114 char *ch = yytext;
01115
01116 ch+=8;
01117 for(; isspace(*ch); ch++);
01118 std::string str( ch);
01119 yyextra->insListFile = str;
01120 }
01121 }
01122 YY_BREAK
01123 case 10:
01124
01125 YY_RULE_SETUP
01126 #line 200 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01127 {
01128 if(yyextra->osolFile == ""){
01129 printf("Found option: %s\n", yytext);
01130
01131 char *ch = yytext;
01132
01133 ch+=5;
01134 for(; isspace(*ch); ch++);
01135 std::string str( ch);
01136 yyextra->osolFile = str;
01137 }
01138 }
01139 YY_BREAK
01140 case 11:
01141
01142 YY_RULE_SETUP
01143 #line 215 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01144 {
01145 if(yyextra->osplInputFile == ""){
01146 printf("Found option: %s\n", yytext);
01147
01148 char *ch = yytext;
01149
01150 ch+=10;
01151 for(; isspace(*ch); ch++);
01152 std::string str( ch);
01153 yyextra->osplInputFile = str;
01154 }
01155 }
01156 YY_BREAK
01157 case 12:
01158
01159 YY_RULE_SETUP
01160 #line 228 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01161 {
01162 if(yyextra->osplOutputFile == ""){
01163 printf("Found option: %s\n", yytext);
01164
01165 char *ch = yytext;
01166
01167 ch+=11;
01168 for(; isspace(*ch); ch++);
01169 std::string str( ch);
01170 yyextra->osplOutputFile = str;
01171 }
01172 }
01173 YY_BREAK
01174 case 13:
01175
01176 YY_RULE_SETUP
01177 #line 241 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01178 {
01179 if(yyextra->serviceMethod == ""){
01180 printf("Found option: %s\n", yytext);
01181
01182 char *ch = yytext;
01183
01184 ch+=14;
01185 for(; isspace(*ch); ch++);
01186 std::string str( ch);
01187 yyextra->serviceMethod = str;
01188 }
01189 }
01190 YY_BREAK
01191 case 14:
01192
01193 YY_RULE_SETUP
01194 #line 254 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01195 {
01196 if(yyextra->serviceLocation == ""){
01197 printf("Found option: %s\n", yytext);
01198
01199 yyextra->serviceLocation = yytext;
01200
01201 char *ch = yytext;
01202
01203 ch+=16;
01204 for(; isspace(*ch); ch++);
01205 std::string str( ch);
01206 yyextra->serviceLocation = str;
01207 }
01208 }
01209 YY_BREAK
01210 case 15:
01211
01212 YY_RULE_SETUP
01213 #line 269 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01214 {
01215 if(yyextra->mpsFile == ""){
01216 printf("Found option: %s\n", yytext);
01217
01218 char *ch = yytext;
01219
01220 ch+=4;
01221 for(; isspace(*ch); ch++);
01222 std::string str( ch);
01223 yyextra->mpsFile = str;
01224 }
01225 }
01226 YY_BREAK
01227 case 16:
01228
01229 YY_RULE_SETUP
01230 #line 282 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01231 {
01232 if(yyextra->nlFile == ""){
01233 printf("Found option: %s\n", yytext);
01234
01235 char *ch = yytext;
01236
01237 ch+=3;
01238 for(; isspace(*ch); ch++);
01239 std::string str( ch);
01240 yyextra->nlFile = str;
01241 }
01242 }
01243 YY_BREAK
01244 case 17:
01245
01246 YY_RULE_SETUP
01247 #line 295 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01248 {
01249 if(yyextra->solverName == ""){
01250 printf("Found option: %s\n", yytext);
01251
01252 char *ch = yytext;
01253
01254 ch+=7;
01255 for(; isspace(*ch); ch++);
01256 std::string str( ch);
01257 yyextra->solverName = str;
01258 }
01259 }
01260 YY_BREAK
01261 case 18:
01262
01263 YY_RULE_SETUP
01264 #line 308 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01265 {
01266 if(yyextra->browser == ""){
01267 printf("Found option: %s\n", yytext);
01268
01269 char *ch = yytext;
01270
01271 ch+=8;
01272 for(; isspace(*ch); ch++);
01273 std::string str( ch);
01274 yyextra->browser = str;
01275 }
01276 }
01277 YY_BREAK
01278 case 19:
01279 YY_RULE_SETUP
01280 #line 321 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01281 {
01282 std::string error;
01283 std::ostringstream outStr;
01284 outStr << "ecountered a spurious character in the lexer" << endl;
01285 outStr << "The first character is: ";
01286 outStr << yytext;
01287 outStr << endl;
01288
01289 error = outStr.str();
01290 throw ErrorClass( error);
01291 }
01292 YY_BREAK
01293 case 20:
01294 YY_RULE_SETUP
01295 #line 332 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
01296 ECHO;
01297 YY_BREAK
01298 #line 1299 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.cpp"
01299 case YY_STATE_EOF(INITIAL):
01300 yyterminate();
01301
01302 case YY_END_OF_BUFFER:
01303 {
01304
01305 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
01306
01307
01308 *yy_cp = yyg->yy_hold_char;
01309 YY_RESTORE_YY_MORE_OFFSET
01310
01311 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01312 {
01313
01314
01315
01316
01317
01318
01319
01320
01321
01322 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01323 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
01324 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01325 }
01326
01327
01328
01329
01330
01331
01332
01333
01334 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01335 {
01336 yy_state_type yy_next_state;
01337
01338 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
01339
01340 yy_current_state = yy_get_previous_state( yyscanner );
01341
01342
01343
01344
01345
01346
01347
01348
01349
01350
01351 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
01352
01353 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01354
01355 if ( yy_next_state )
01356 {
01357
01358 yy_cp = ++yyg->yy_c_buf_p;
01359 yy_current_state = yy_next_state;
01360 goto yy_match;
01361 }
01362
01363 else
01364 {
01365 yy_cp = yyg->yy_c_buf_p;
01366 goto yy_find_action;
01367 }
01368 }
01369
01370 else switch ( yy_get_next_buffer( yyscanner ) )
01371 {
01372 case EOB_ACT_END_OF_FILE:
01373 {
01374 yyg->yy_did_buffer_switch_on_eof = 0;
01375
01376 if ( ossswrap(yyscanner ) )
01377 {
01378
01379
01380
01381
01382
01383
01384
01385
01386
01387 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
01388
01389 yy_act = YY_STATE_EOF(YY_START);
01390 goto do_action;
01391 }
01392
01393 else
01394 {
01395 if ( ! yyg->yy_did_buffer_switch_on_eof )
01396 YY_NEW_FILE;
01397 }
01398 break;
01399 }
01400
01401 case EOB_ACT_CONTINUE_SCAN:
01402 yyg->yy_c_buf_p =
01403 yyg->yytext_ptr + yy_amount_of_matched_text;
01404
01405 yy_current_state = yy_get_previous_state( yyscanner );
01406
01407 yy_cp = yyg->yy_c_buf_p;
01408 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01409 goto yy_match;
01410
01411 case EOB_ACT_LAST_MATCH:
01412 yyg->yy_c_buf_p =
01413 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
01414
01415 yy_current_state = yy_get_previous_state( yyscanner );
01416
01417 yy_cp = yyg->yy_c_buf_p;
01418 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
01419 goto yy_find_action;
01420 }
01421 break;
01422 }
01423
01424 default:
01425 YY_FATAL_ERROR(
01426 "fatal flex scanner internal error--no action found" );
01427 }
01428 }
01429 }
01430
01431
01432
01433
01434
01435
01436
01437
01438 static int yy_get_next_buffer (yyscan_t yyscanner)
01439 {
01440 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01441 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01442 register char *source = yyg->yytext_ptr;
01443 register int number_to_move, i;
01444 int ret_val;
01445
01446 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
01447 YY_FATAL_ERROR(
01448 "fatal flex scanner internal error--end of buffer missed" );
01449
01450 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01451 {
01452 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
01453 {
01454
01455
01456
01457 return EOB_ACT_END_OF_FILE;
01458 }
01459
01460 else
01461 {
01462
01463
01464
01465 return EOB_ACT_LAST_MATCH;
01466 }
01467 }
01468
01469
01470
01471
01472 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
01473
01474 for ( i = 0; i < number_to_move; ++i )
01475 *(dest++) = *(source++);
01476
01477 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01478
01479
01480
01481 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
01482
01483 else
01484 {
01485 int num_to_read =
01486 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
01487
01488 while ( num_to_read <= 0 )
01489 {
01490
01491
01492 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
01493
01494 int yy_c_buf_p_offset =
01495 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
01496
01497 if ( b->yy_is_our_buffer )
01498 {
01499 int new_size = b->yy_buf_size * 2;
01500
01501 if ( new_size <= 0 )
01502 b->yy_buf_size += b->yy_buf_size / 8;
01503 else
01504 b->yy_buf_size *= 2;
01505
01506 b->yy_ch_buf = (char *)
01507
01508 osssrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
01509 }
01510 else
01511
01512 b->yy_ch_buf = 0;
01513
01514 if ( ! b->yy_ch_buf )
01515 YY_FATAL_ERROR(
01516 "fatal error - scanner input buffer overflow" );
01517
01518 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01519
01520 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
01521 number_to_move - 1;
01522
01523 }
01524
01525 if ( num_to_read > YY_READ_BUF_SIZE )
01526 num_to_read = YY_READ_BUF_SIZE;
01527
01528
01529 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
01530 yyg->yy_n_chars, num_to_read );
01531
01532 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01533 }
01534
01535 if ( yyg->yy_n_chars == 0 )
01536 {
01537 if ( number_to_move == YY_MORE_ADJ )
01538 {
01539 ret_val = EOB_ACT_END_OF_FILE;
01540 osssrestart(yyin ,yyscanner);
01541 }
01542
01543 else
01544 {
01545 ret_val = EOB_ACT_LAST_MATCH;
01546 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
01547 YY_BUFFER_EOF_PENDING;
01548 }
01549 }
01550
01551 else
01552 ret_val = EOB_ACT_CONTINUE_SCAN;
01553
01554 yyg->yy_n_chars += number_to_move;
01555 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01556 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01557
01558 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
01559
01560 return ret_val;
01561 }
01562
01563
01564
01565 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
01566 {
01567 register yy_state_type yy_current_state;
01568 register char *yy_cp;
01569 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01570
01571 yy_current_state = yyg->yy_start;
01572
01573 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
01574 {
01575 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01576 if ( yy_accept[yy_current_state] )
01577 {
01578 yyg->yy_last_accepting_state = yy_current_state;
01579 yyg->yy_last_accepting_cpos = yy_cp;
01580 }
01581 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01582 {
01583 yy_current_state = (int) yy_def[yy_current_state];
01584 if ( yy_current_state >= 184 )
01585 yy_c = yy_meta[(unsigned int) yy_c];
01586 }
01587 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01588 }
01589
01590 return yy_current_state;
01591 }
01592
01593
01594
01595
01596
01597
01598 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
01599 {
01600 register int yy_is_jam;
01601 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01602 register char *yy_cp = yyg->yy_c_buf_p;
01603
01604 register YY_CHAR yy_c = 1;
01605 if ( yy_accept[yy_current_state] )
01606 {
01607 yyg->yy_last_accepting_state = yy_current_state;
01608 yyg->yy_last_accepting_cpos = yy_cp;
01609 }
01610 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01611 {
01612 yy_current_state = (int) yy_def[yy_current_state];
01613 if ( yy_current_state >= 184 )
01614 yy_c = yy_meta[(unsigned int) yy_c];
01615 }
01616 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01617 yy_is_jam = (yy_current_state == 183);
01618
01619 return yy_is_jam ? 0 : yy_current_state;
01620 }
01621
01622 static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
01623 {
01624 register char *yy_cp;
01625 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01626
01627 yy_cp = yyg->yy_c_buf_p;
01628
01629
01630 *yy_cp = yyg->yy_hold_char;
01631
01632 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
01633 {
01634
01635 register int number_to_move = yyg->yy_n_chars + 2;
01636 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
01637 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
01638 register char *source =
01639 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
01640
01641 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
01642 *--dest = *--source;
01643
01644 yy_cp += (int) (dest - source);
01645 yy_bp += (int) (dest - source);
01646 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
01647 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
01648
01649 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
01650 YY_FATAL_ERROR( "flex scanner push-back overflow" );
01651 }
01652
01653 *--yy_cp = (char) c;
01654
01655 if ( c == '\n' ){
01656 --yylineno;
01657 }
01658
01659 yyg->yytext_ptr = yy_bp;
01660 yyg->yy_hold_char = *yy_cp;
01661 yyg->yy_c_buf_p = yy_cp;
01662 }
01663
01664 #ifndef YY_NO_INPUT
01665 #ifdef __cplusplus
01666 static int yyinput (yyscan_t yyscanner)
01667 #else
01668 static int input (yyscan_t yyscanner)
01669 #endif
01670
01671 {
01672 int c;
01673 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01674
01675 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01676
01677 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01678 {
01679
01680
01681
01682
01683 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
01684
01685 *yyg->yy_c_buf_p = '\0';
01686
01687 else
01688 {
01689 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
01690 ++yyg->yy_c_buf_p;
01691
01692 switch ( yy_get_next_buffer( yyscanner ) )
01693 {
01694 case EOB_ACT_LAST_MATCH:
01695
01696
01697
01698
01699
01700
01701
01702
01703
01704
01705
01706 osssrestart(yyin ,yyscanner);
01707
01708
01709
01710 case EOB_ACT_END_OF_FILE:
01711 {
01712 if ( ossswrap(yyscanner ) )
01713 return EOF;
01714
01715 if ( ! yyg->yy_did_buffer_switch_on_eof )
01716 YY_NEW_FILE;
01717 #ifdef __cplusplus
01718 return yyinput(yyscanner);
01719 #else
01720 return input(yyscanner);
01721 #endif
01722 }
01723
01724 case EOB_ACT_CONTINUE_SCAN:
01725 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
01726 break;
01727 }
01728 }
01729 }
01730
01731 c = *(unsigned char *) yyg->yy_c_buf_p;
01732 *yyg->yy_c_buf_p = '\0';
01733 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
01734
01735 if ( c == '\n' )
01736
01737 do{ yylineno++;
01738 yycolumn=0;
01739 }while(0)
01740 ;
01741
01742 return c;
01743 }
01744 #endif
01745
01751 void osssrestart (FILE * input_file , yyscan_t yyscanner)
01752 {
01753 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01754
01755 if ( ! YY_CURRENT_BUFFER ){
01756 osssensure_buffer_stack (yyscanner);
01757 YY_CURRENT_BUFFER_LVALUE =
01758 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01759 }
01760
01761 osss_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
01762 osss_load_buffer_state(yyscanner );
01763 }
01764
01769 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
01770 {
01771 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01772
01773
01774
01775
01776
01777
01778 osssensure_buffer_stack (yyscanner);
01779 if ( YY_CURRENT_BUFFER == new_buffer )
01780 return;
01781
01782 if ( YY_CURRENT_BUFFER )
01783 {
01784
01785 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01786 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
01787 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01788 }
01789
01790 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01791 osss_load_buffer_state(yyscanner );
01792
01793
01794
01795
01796
01797
01798 yyg->yy_did_buffer_switch_on_eof = 1;
01799 }
01800
01801 static void osss_load_buffer_state (yyscan_t yyscanner)
01802 {
01803 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01804 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01805 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
01806 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
01807 yyg->yy_hold_char = *yyg->yy_c_buf_p;
01808 }
01809
01816 YY_BUFFER_STATE osss_create_buffer (FILE * file, int size , yyscan_t yyscanner)
01817 {
01818 YY_BUFFER_STATE b;
01819
01820 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
01821 if ( ! b )
01822 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
01823
01824 b->yy_buf_size = size;
01825
01826
01827
01828
01829 b->yy_ch_buf = (char *) osssalloc(b->yy_buf_size + 2 ,yyscanner );
01830 if ( ! b->yy_ch_buf )
01831 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
01832
01833 b->yy_is_our_buffer = 1;
01834
01835 osss_init_buffer(b,file ,yyscanner);
01836
01837 return b;
01838 }
01839
01844 void osss_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
01845 {
01846 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01847
01848 if ( ! b )
01849 return;
01850
01851 if ( b == YY_CURRENT_BUFFER )
01852 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
01853
01854 if ( b->yy_is_our_buffer )
01855 osssfree((void *) b->yy_ch_buf ,yyscanner );
01856
01857 osssfree((void *) b ,yyscanner );
01858 }
01859
01860 #ifndef __cplusplus
01861 extern int isatty (int );
01862 #endif
01863
01864
01865
01866
01867
01868 static void osss_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
01869
01870 {
01871 int oerrno = errno;
01872 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01873
01874 osss_flush_buffer(b ,yyscanner);
01875
01876 b->yy_input_file = file;
01877 b->yy_fill_buffer = 1;
01878
01879
01880
01881
01882
01883 if (b != YY_CURRENT_BUFFER){
01884 b->yy_bs_lineno = 1;
01885 b->yy_bs_column = 0;
01886 }
01887
01888 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
01889
01890 errno = oerrno;
01891 }
01892
01897 void osss_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
01898 {
01899 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01900 if ( ! b )
01901 return;
01902
01903 b->yy_n_chars = 0;
01904
01905
01906
01907
01908
01909 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
01910 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
01911
01912 b->yy_buf_pos = &b->yy_ch_buf[0];
01913
01914 b->yy_at_bol = 1;
01915 b->yy_buffer_status = YY_BUFFER_NEW;
01916
01917 if ( b == YY_CURRENT_BUFFER )
01918 osss_load_buffer_state(yyscanner );
01919 }
01920
01927 void ossspush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
01928 {
01929 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01930 if (new_buffer == NULL)
01931 return;
01932
01933 osssensure_buffer_stack(yyscanner);
01934
01935
01936 if ( YY_CURRENT_BUFFER )
01937 {
01938
01939 *yyg->yy_c_buf_p = yyg->yy_hold_char;
01940 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
01941 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
01942 }
01943
01944
01945 if (YY_CURRENT_BUFFER)
01946 yyg->yy_buffer_stack_top++;
01947 YY_CURRENT_BUFFER_LVALUE = new_buffer;
01948
01949
01950 osss_load_buffer_state(yyscanner );
01951 yyg->yy_did_buffer_switch_on_eof = 1;
01952 }
01953
01958 void ossspop_buffer_state (yyscan_t yyscanner)
01959 {
01960 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01961 if (!YY_CURRENT_BUFFER)
01962 return;
01963
01964 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
01965 YY_CURRENT_BUFFER_LVALUE = NULL;
01966 if (yyg->yy_buffer_stack_top > 0)
01967 --yyg->yy_buffer_stack_top;
01968
01969 if (YY_CURRENT_BUFFER) {
01970 osss_load_buffer_state(yyscanner );
01971 yyg->yy_did_buffer_switch_on_eof = 1;
01972 }
01973 }
01974
01975
01976
01977
01978 static void osssensure_buffer_stack (yyscan_t yyscanner)
01979 {
01980 int num_to_alloc;
01981 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01982
01983 if (!yyg->yy_buffer_stack) {
01984
01985
01986
01987
01988
01989 num_to_alloc = 1;
01990 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssalloc
01991 (num_to_alloc * sizeof(struct yy_buffer_state*)
01992 , yyscanner);
01993
01994 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
01995
01996 yyg->yy_buffer_stack_max = num_to_alloc;
01997 yyg->yy_buffer_stack_top = 0;
01998 return;
01999 }
02000
02001 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02002
02003
02004 int grow_size = 8 ;
02005
02006 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02007 yyg->yy_buffer_stack = (struct yy_buffer_state**)osssrealloc
02008 (yyg->yy_buffer_stack,
02009 num_to_alloc * sizeof(struct yy_buffer_state*)
02010 , yyscanner);
02011
02012
02013 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02014 yyg->yy_buffer_stack_max = num_to_alloc;
02015 }
02016 }
02017
02024 YY_BUFFER_STATE osss_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
02025 {
02026 YY_BUFFER_STATE b;
02027
02028 if ( size < 2 ||
02029 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02030 base[size-1] != YY_END_OF_BUFFER_CHAR )
02031
02032 return 0;
02033
02034 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02035 if ( ! b )
02036 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_buffer()" );
02037
02038 b->yy_buf_size = size - 2;
02039 b->yy_buf_pos = b->yy_ch_buf = base;
02040 b->yy_is_our_buffer = 0;
02041 b->yy_input_file = 0;
02042 b->yy_n_chars = b->yy_buf_size;
02043 b->yy_is_interactive = 0;
02044 b->yy_at_bol = 1;
02045 b->yy_fill_buffer = 0;
02046 b->yy_buffer_status = YY_BUFFER_NEW;
02047
02048 osss_switch_to_buffer(b ,yyscanner );
02049
02050 return b;
02051 }
02052
02061 YY_BUFFER_STATE osss_scan_string (yyconst char * yystr , yyscan_t yyscanner)
02062 {
02063
02064 return osss_scan_bytes(yystr,strlen(yystr) ,yyscanner);
02065 }
02066
02074 YY_BUFFER_STATE osss_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
02075 {
02076 YY_BUFFER_STATE b;
02077 char *buf;
02078 yy_size_t n;
02079 int i;
02080
02081
02082 n = _yybytes_len + 2;
02083 buf = (char *) osssalloc(n ,yyscanner );
02084 if ( ! buf )
02085 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_bytes()" );
02086
02087 for ( i = 0; i < _yybytes_len; ++i )
02088 buf[i] = yybytes[i];
02089
02090 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02091
02092 b = osss_scan_buffer(buf,n ,yyscanner);
02093 if ( ! b )
02094 YY_FATAL_ERROR( "bad buffer in osss_scan_bytes()" );
02095
02096
02097
02098
02099 b->yy_is_our_buffer = 1;
02100
02101 return b;
02102 }
02103
02104 #ifndef YY_EXIT_FAILURE
02105 #define YY_EXIT_FAILURE 2
02106 #endif
02107
02108 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02109 {
02110 (void) fprintf( stderr, "%s\n", msg );
02111 exit( YY_EXIT_FAILURE );
02112 }
02113
02114
02115
02116 #undef yyless
02117 #define yyless(n) \
02118 do \
02119 { \
02120 \
02121 int yyless_macro_arg = (n); \
02122 YY_LESS_LINENO(yyless_macro_arg);\
02123 yytext[yyleng] = yyg->yy_hold_char; \
02124 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02125 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02126 *yyg->yy_c_buf_p = '\0'; \
02127 yyleng = yyless_macro_arg; \
02128 } \
02129 while ( 0 )
02130
02131
02132
02136 YY_EXTRA_TYPE osssget_extra (yyscan_t yyscanner)
02137 {
02138 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02139 return yyextra;
02140 }
02141
02145 int osssget_lineno (yyscan_t yyscanner)
02146 {
02147 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02148
02149 if (! YY_CURRENT_BUFFER)
02150 return 0;
02151
02152 return yylineno;
02153 }
02154
02158 int osssget_column (yyscan_t yyscanner)
02159 {
02160 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02161
02162 if (! YY_CURRENT_BUFFER)
02163 return 0;
02164
02165 return yycolumn;
02166 }
02167
02171 FILE *osssget_in (yyscan_t yyscanner)
02172 {
02173 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02174 return yyin;
02175 }
02176
02180 FILE *osssget_out (yyscan_t yyscanner)
02181 {
02182 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02183 return yyout;
02184 }
02185
02189 int osssget_leng (yyscan_t yyscanner)
02190 {
02191 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02192 return yyleng;
02193 }
02194
02199 char *osssget_text (yyscan_t yyscanner)
02200 {
02201 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02202 return yytext;
02203 }
02204
02209 void osssset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
02210 {
02211 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02212 yyextra = user_defined ;
02213 }
02214
02219 void osssset_lineno (int line_number , yyscan_t yyscanner)
02220 {
02221 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02222
02223
02224 if (! YY_CURRENT_BUFFER )
02225 yy_fatal_error( "osssset_lineno called with no buffer" , yyscanner);
02226
02227 yylineno = line_number;
02228 }
02229
02234 void osssset_column (int column_no , yyscan_t yyscanner)
02235 {
02236 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02237
02238
02239 if (! YY_CURRENT_BUFFER )
02240 yy_fatal_error( "osssset_column called with no buffer" , yyscanner);
02241
02242 yycolumn = column_no;
02243 }
02244
02251 void osssset_in (FILE * in_str , yyscan_t yyscanner)
02252 {
02253 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02254 yyin = in_str ;
02255 }
02256
02257 void osssset_out (FILE * out_str , yyscan_t yyscanner)
02258 {
02259 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02260 yyout = out_str ;
02261 }
02262
02263 int osssget_debug (yyscan_t yyscanner)
02264 {
02265 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02266 return yy_flex_debug;
02267 }
02268
02269 void osssset_debug (int bdebug , yyscan_t yyscanner)
02270 {
02271 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02272 yy_flex_debug = bdebug ;
02273 }
02274
02275
02276
02277
02278
02279
02280
02281
02282
02283
02284 int ossslex_init(yyscan_t* ptr_yy_globals)
02285
02286 {
02287 if (ptr_yy_globals == NULL){
02288 errno = EINVAL;
02289 return 1;
02290 }
02291
02292 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), NULL );
02293
02294 if (*ptr_yy_globals == NULL){
02295 errno = ENOMEM;
02296 return 1;
02297 }
02298
02299
02300 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
02301
02302 return yy_init_globals ( *ptr_yy_globals );
02303 }
02304
02305 static int yy_init_globals (yyscan_t yyscanner)
02306 {
02307 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02308
02309
02310
02311
02312 yyg->yy_buffer_stack = 0;
02313 yyg->yy_buffer_stack_top = 0;
02314 yyg->yy_buffer_stack_max = 0;
02315 yyg->yy_c_buf_p = (char *) 0;
02316 yyg->yy_init = 0;
02317 yyg->yy_start = 0;
02318
02319 yyg->yy_start_stack_ptr = 0;
02320 yyg->yy_start_stack_depth = 0;
02321 yyg->yy_start_stack = NULL;
02322
02323
02324 #ifdef YY_STDINIT
02325 yyin = stdin;
02326 yyout = stdout;
02327 #else
02328 yyin = (FILE *) 0;
02329 yyout = (FILE *) 0;
02330 #endif
02331
02332
02333
02334
02335 return 0;
02336 }
02337
02338
02339 int ossslex_destroy (yyscan_t yyscanner)
02340 {
02341 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02342
02343
02344 while(YY_CURRENT_BUFFER){
02345 osss_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
02346 YY_CURRENT_BUFFER_LVALUE = NULL;
02347 ossspop_buffer_state(yyscanner);
02348 }
02349
02350
02351 osssfree(yyg->yy_buffer_stack ,yyscanner);
02352 yyg->yy_buffer_stack = NULL;
02353
02354
02355 osssfree(yyg->yy_start_stack ,yyscanner );
02356 yyg->yy_start_stack = NULL;
02357
02358
02359
02360 yy_init_globals( yyscanner);
02361
02362
02363 osssfree ( yyscanner , yyscanner );
02364 yyscanner = NULL;
02365 return 0;
02366 }
02367
02368
02369
02370
02371
02372 #ifndef yytext_ptr
02373 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
02374 {
02375 register int i;
02376 for ( i = 0; i < n; ++i )
02377 s1[i] = s2[i];
02378 }
02379 #endif
02380
02381 #ifdef YY_NEED_STRLEN
02382 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
02383 {
02384 register int n;
02385 for ( n = 0; s[n]; ++n )
02386 ;
02387
02388 return n;
02389 }
02390 #endif
02391
02392 void *osssalloc (yy_size_t size , yyscan_t yyscanner)
02393 {
02394 return (void *) malloc( size );
02395 }
02396
02397 void *osssrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
02398 {
02399
02400
02401
02402
02403
02404
02405
02406 return (void *) realloc( (char *) ptr, size );
02407 }
02408
02409 void osssfree (void * ptr , yyscan_t yyscanner)
02410 {
02411 free( (char *) ptr );
02412 }
02413
02414 #define YYTABLES_NAME "yytables"
02415
02416 #line 332 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosss.l"
02417
02418
02419
02420 void setyyextra(osOptionsStruc *osoptions, void* scanner){
02421 osssset_extra(osoptions, scanner);
02422 }
02423
02424
02425