00001 #line 2 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.cpp"
00002
00003 #line 4 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.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 osilrestart(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 osilrestart (FILE *input_file ,yyscan_t yyscanner );
00303 void osil_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00304 YY_BUFFER_STATE osil_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00305 void osil_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00306 void osil_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00307 void osilpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00308 void osilpop_buffer_state (yyscan_t yyscanner );
00309
00310 static void osilensure_buffer_stack (yyscan_t yyscanner );
00311 static void osil_load_buffer_state (yyscan_t yyscanner );
00312 static void osil_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00313
00314 #define YY_FLUSH_BUFFER osil_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00315
00316 YY_BUFFER_STATE osil_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00317 YY_BUFFER_STATE osil_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00318 YY_BUFFER_STATE osil_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00319
00320 void *osilalloc (yy_size_t ,yyscan_t yyscanner );
00321 void *osilrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00322 void osilfree (void * ,yyscan_t yyscanner );
00323
00324 #define yy_new_buffer osil_create_buffer
00325
00326 #define yy_set_interactive(is_interactive) \
00327 { \
00328 if ( ! YY_CURRENT_BUFFER ){ \
00329 osilensure_buffer_stack (yyscanner); \
00330 YY_CURRENT_BUFFER_LVALUE = \
00331 osil_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 osilensure_buffer_stack (yyscanner); \
00340 YY_CURRENT_BUFFER_LVALUE = \
00341 osil_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 osilwrap(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 116
00375 #define YY_END_OF_BUFFER 117
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[776] =
00384 { 0,
00385 0, 0, 113, 113, 114, 114, 0, 0, 0, 0,
00386 0, 0, 0, 0, 0, 0, 117, 115, 1, 1,
00387 1, 2, 115, 5, 115, 4, 115, 3, 115, 113,
00388 116, 114, 106, 107, 106, 110, 111, 110, 0, 0,
00389 0, 3, 0, 0, 0, 0, 0, 0, 0, 5,
00390 4, 0, 5, 0, 6, 0, 0, 109, 79, 0,
00391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00392 0, 0, 0, 0, 0, 113, 114, 0, 112, 0,
00393 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,
00394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00395
00396 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
00397 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
00398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00399 0, 0, 0, 0, 5, 108, 0, 0, 0, 0,
00400 0, 0, 0, 0, 0, 0, 105, 0, 80, 0,
00401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00402 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00404 99, 0, 0, 0, 0, 0, 65, 0, 0, 49,
00405 0, 0, 0, 0, 0, 101, 0, 0, 0, 0,
00406
00407 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,
00408 21, 22, 0, 13, 0, 0, 0, 0, 0, 0,
00409 0, 80, 0, 82, 0, 0, 0, 0, 0, 0,
00410 0, 0, 66, 0, 0, 0, 50, 0, 0, 0,
00411 0, 36, 0, 0, 0, 0, 0, 0, 0, 0,
00412 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
00413 0, 0, 57, 0, 0, 63, 0, 59, 65, 0,
00414 49, 0, 67, 0, 69, 0, 0, 0, 0, 0,
00415 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
00416 71, 0, 0, 0, 16, 0, 13, 0, 0, 0,
00417
00418 0, 0, 0, 0, 0, 0, 82, 0, 62, 0,
00419 0, 100, 0, 0, 58, 0, 0, 64, 0, 60,
00420 66, 0, 0, 50, 0, 68, 0, 70, 0, 0,
00421 36, 0, 0, 0, 102, 0, 0, 0, 0, 0,
00422 0, 0, 0, 56, 0, 0, 0, 72, 0, 0,
00423 98, 0, 61, 0, 0, 57, 0, 63, 59, 0,
00424 67, 69, 0, 0, 0, 0, 0, 0, 41, 0,
00425 0, 31, 0, 55, 0, 89, 71, 0, 0, 0,
00426 16, 0, 0, 0, 0, 25, 26, 0, 0, 20,
00427 0, 0, 23, 24, 0, 17, 62, 0, 100, 0,
00428
00429 58, 0, 64, 60, 0, 0, 68, 70, 0, 0,
00430 0, 0, 102, 0, 0, 27, 0, 42, 0, 0,
00431 0, 0, 56, 0, 0, 72, 0, 0, 98, 0,
00432 0, 0, 0, 0, 0, 43, 0, 0, 77, 0,
00433 41, 0, 47, 0, 0, 0, 87, 0, 0, 37,
00434 0, 0, 0, 14, 0, 15, 0, 20, 0, 17,
00435 0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
00436 0, 27, 42, 0, 48, 0, 0, 32, 0, 0,
00437 0, 90, 0, 0, 0, 38, 0, 0, 0, 0,
00438 39, 0, 43, 0, 45, 0, 0, 47, 0, 0,
00439
00440 0, 53, 0, 0, 37, 0, 0, 19, 14, 15,
00441 0, 0, 0, 0, 0, 40, 0, 0, 44, 0,
00442 46, 0, 0, 78, 0, 48, 0, 32, 0, 0,
00443 54, 0, 90, 0, 88, 0, 38, 0, 0, 73,
00444 0, 39, 103, 45, 0, 0, 0, 75, 0, 53,
00445 0, 0, 83, 19, 0, 0, 0, 0, 0, 0,
00446 0, 18, 0, 74, 0, 40, 0, 0, 46, 0,
00447 78, 0, 0, 76, 0, 54, 0, 88, 0, 0,
00448 73, 0, 0, 0, 75, 0, 0, 0, 91, 0,
00449 0, 0, 0, 0, 0, 18, 74, 0, 0, 0,
00450
00451 104, 0, 0, 76, 0, 0, 0, 0, 84, 0,
00452 0, 0, 95, 0, 0, 85, 0, 0, 0, 0,
00453 0, 0, 0, 0, 104, 0, 0, 0, 0, 0,
00454 84, 0, 92, 93, 0, 0, 0, 51, 0, 0,
00455 0, 0, 0, 0, 0, 0, 0, 0, 96, 0,
00456 0, 52, 0, 86, 92, 0, 0, 51, 0, 0,
00457 0, 0, 0, 0, 0, 94, 0, 0, 96, 0,
00458 52, 86, 0, 0, 0, 0, 0, 0, 0, 0,
00459 94, 0, 28, 0, 0, 0, 0, 0, 0, 0,
00460 0, 0, 12, 0, 28, 0, 0, 0, 0, 0,
00461
00462 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
00463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00464 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,
00465 0, 9, 0, 7, 0, 0, 0, 0, 0, 8,
00466 0, 9, 0, 0, 0, 33, 0, 8, 0, 0,
00467 0, 0, 29, 0, 0, 0, 34, 0, 0, 0,
00468 10, 34, 0, 30, 0, 10, 30, 0, 0, 0,
00469 0, 0, 11, 11, 0
00470 } ;
00471
00472 static yyconst flex_int32_t yy_ec[256] =
00473 { 0,
00474 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
00475 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
00476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00477 1, 4, 5, 6, 1, 1, 1, 1, 7, 1,
00478 1, 1, 8, 1, 9, 10, 11, 12, 12, 12,
00479 12, 12, 12, 12, 12, 12, 12, 1, 1, 13,
00480 14, 15, 16, 1, 1, 1, 17, 18, 19, 20,
00481 1, 1, 21, 1, 1, 1, 1, 22, 23, 24,
00482 25, 26, 27, 28, 1, 29, 1, 1, 1, 1,
00483 1, 1, 1, 1, 1, 1, 30, 31, 32, 33,
00484
00485 34, 35, 36, 37, 38, 39, 1, 40, 41, 42,
00486 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
00487 53, 54, 1, 55, 1, 1, 1, 1, 1, 1,
00488 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00490 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00492 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00494 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00495
00496 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00498 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00499 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00500 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00501 1, 1, 1, 1, 1
00502 } ;
00503
00504 static yyconst flex_int32_t yy_meta[56] =
00505 { 0,
00506 1, 1, 1, 1, 1, 2, 3, 1, 1, 1,
00507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00511 1, 1, 1, 1, 1
00512 } ;
00513
00514 static yyconst flex_int16_t yy_base[784] =
00515 { 0,
00516 0, 54, 1668, 1667, 1665, 1664, 0, 0, 0, 0,
00517 0, 0, 5, 13, 2, 14, 1670, 1675, 108, 0,
00518 0, 1675, 13, 7, 1654, 17, 154, 1675, 1646, 0,
00519 1675, 0, 1675, 1675, 1658, 1675, 1675, 1651, 0, 1650,
00520 15, 1675, 1621, 1620, 1629, 3, 1613, 1607, 1629, 16,
00521 28, 1636, 20, 34, 1675, 1648, 186, 1675, 1675, 1635,
00522 13, 1612, 1616, 22, 35, 1611, 7, 38, 1621, 33,
00523 31, 44, 1613, 1620, 1629, 0, 0, 1633, 1675, 1613,
00524 1600, 81, 1604, 1603, 1613, 1598, 1601, 1628, 1627, 1629,
00525 98, 1616, 57, 1593, 1597, 44, 56, 1592, 56, 65,
00526
00527 73, 82, 75, 89, 1595, 1602, 1675, 1584, 1590, 84,
00528 1579, 1593, 1583, 114, 1578, 139, 1573, 1582, 1587, 1675,
00529 1580, 1580, 1581, 1570, 1567, 1574, 1582, 1585, 1572, 1564,
00530 1582, 1570, 1569, 1563, 1675, 1675, 1573, 1569, 149, 165,
00531 209, 1572, 1574, 1558, 1569, 1553, 1675, 145, 172, 178,
00532 1554, 1560, 88, 1549, 1563, 1553, 236, 1, 239, 1544,
00533 1553, 1558, 242, 1551, 1551, 1552, 1552, 1540, 1537, 1544,
00534 1552, 1555, 1542, 1534, 1552, 1540, 1539, 1533, 245, 1560,
00535 1530, 259, 1538, 262, 265, 268, 187, 1541, 282, 204,
00536 285, 288, 1544, 1533, 1541, 1537, 1523, 1535, 1535, 1521,
00537
00538 1533, 291, 1535, 1528, 305, 1529, 1524, 308, 1507, 311,
00539 1675, 1675, 321, 324, 1518, 1508, 327, 1524, 1509, 330,
00540 1522, 336, 343, 346, 349, 1537, 352, 357, 1516, 366,
00541 371, 374, 380, 1505, 1518, 388, 391, 394, 398, 1521,
00542 402, 408, 1510, 1518, 412, 1508, 1500, 1512, 1512, 1498,
00543 1510, 416, 1512, 1505, 419, 1506, 422, 426, 436, 1501,
00544 1490, 440, 446, 1504, 449, 454, 459, 463, 466, 1490,
00545 469, 473, 476, 479, 482, 1488, 1486, 1495, 1498, 1499,
00546 487, 1484, 1480, 1487, 1481, 493, 496, 1480, 1491, 501,
00547 507, 89, 1494, 510, 515, 1480, 518, 1488, 1478, 523,
00548
00549 526, 1474, 532, 536, 541, 552, 555, 558, 561, 1481,
00550 565, 568, 1470, 572, 575, 1484, 579, 582, 586, 589,
00551 593, 1486, 1469, 596, 600, 603, 606, 609, 1467, 1465,
00552 614, 1474, 1477, 620, 623, 1478, 626, 629, 1463, 1459,
00553 1466, 1460, 634, 643, 1459, 1470, 648, 651, 97, 654,
00554 657, 1473, 662, 1467, 1452, 668, 1443, 671, 674, 1426,
00555 677, 680, 683, 1427, 1405, 1400, 1382, 686, 689, 692,
00556 1396, 1675, 1371, 700, 1366, 1338, 706, 1341, 709, 1351,
00557 712, 1339, 715, 718, 724, 1675, 1675, 1340, 731, 734,
00558 1329, 737, 1675, 1675, 744, 747, 750, 1299, 753, 1287,
00559
00560 757, 1294, 760, 763, 1269, 1260, 766, 769, 772, 1268,
00561 1252, 1247, 775, 1240, 778, 781, 786, 792, 795, 1248,
00562 800, 1249, 803, 1240, 809, 814, 1217, 817, 823, 1228,
00563 1222, 1226, 826, 1224, 831, 834, 840, 1206, 1675, 1201,
00564 845, 848, 855, 1186, 1184, 858, 1675, 1190, 862, 865,
00565 1186, 868, 872, 876, 885, 888, 1190, 891, 1165, 894,
00566 1165, 1116, 898, 1097, 1098, 901, 904, 907, 1086, 915,
00567 1068, 921, 924, 929, 932, 1057, 935, 938, 1052, 943,
00568 949, 952, 957, 1045, 963, 971, 1045, 977, 1042, 980,
00569 983, 1026, 986, 994, 997, 1035, 1013, 1000, 1003, 1010,
00570
00571 1008, 1011, 1003, 1014, 1017, 1007, 1022, 1025, 1028, 1031,
00572 1020, 1036, 1049, 984, 1052, 1055, 983, 976, 1058, 1066,
00573 1069, 978, 1072, 1075, 944, 1080, 1086, 1089, 955, 1092,
00574 1095, 948, 1100, 1106, 1109, 947, 1112, 942, 1115, 1120,
00575 929, 1123, 1675, 1129, 924, 934, 1132, 1135, 931, 1138,
00576 919, 919, 902, 1141, 905, 900, 898, 872, 872, 885,
00577 1146, 1149, 1152, 1155, 872, 1159, 894, 1162, 1166, 839,
00578 1169, 849, 1172, 1176, 849, 1179, 811, 1182, 815, 1186,
00579 1189, 797, 821, 792, 1192, 814, 775, 780, 1675, 772,
00580 767, 769, 770, 762, 745, 1195, 1200, 738, 712, 1203,
00581
00582 1206, 706, 676, 1209, 689, 657, 658, 1212, 1217, 1220,
00583 652, 645, 1675, 625, 1226, 1675, 620, 622, 614, 610,
00584 606, 602, 592, 586, 1234, 568, 1240, 576, 1243, 1246,
00585 1249, 1260, 1263, 1675, 570, 518, 1266, 1269, 503, 511,
00586 510, 495, 497, 493, 1274, 485, 463, 1280, 1283, 472,
00587 1288, 1294, 1297, 1302, 1305, 455, 458, 1311, 446, 445,
00588 411, 424, 398, 405, 1314, 1317, 1320, 389, 1323, 398,
00589 1328, 1334, 398, 373, 377, 354, 349, 337, 1337, 340,
00590 1340, 1343, 1346, 345, 336, 319, 327, 325, 332, 307,
00591 305, 1350, 1353, 308, 1357, 289, 283, 272, 284, 263,
00592
00593 258, 268, 269, 1363, 252, 251, 264, 244, 243, 231,
00594 259, 229, 247, 1366, 235, 221, 215, 222, 208, 201,
00595 1369, 218, 1372, 1375, 207, 201, 183, 180, 1385, 177,
00596 1388, 1391, 171, 1394, 173, 172, 162, 155, 1401, 1404,
00597 154, 1407, 144, 136, 131, 1675, 130, 1410, 132, 117,
00598 1414, 115, 1675, 114, 1417, 1420, 1423, 1430, 110, 1434,
00599 1437, 1440, 1447, 1450, 101, 1453, 1456, 89, 64, 24,
00600 1461, 1464, 1467, 1470, 1675, 1478, 1481, 1484, 1487, 1490,
00601 1493, 1496, 1499
00602 } ;
00603
00604 static yyconst flex_int16_t yy_def[784] =
00605 { 0,
00606 776, 776, 777, 777, 778, 778, 779, 779, 779, 779,
00607 779, 779, 780, 780, 781, 781, 775, 775, 775, 19,
00608 19, 775, 775, 775, 775, 775, 775, 775, 775, 782,
00609 775, 783, 775, 775, 775, 775, 775, 775, 19, 775,
00610 27, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00611 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00612 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00613 775, 775, 775, 775, 775, 782, 783, 775, 775, 775,
00614 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00615 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00616
00617 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00618 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00619 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00620 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00621 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00622 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00623 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00624 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00625 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00626 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00627
00628 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00629 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00630 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00631 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00632 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00633 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00634 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00635 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00636 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00637 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00638
00639 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00640 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00641 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00642 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00643 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00644 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00645 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00646 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00647 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00648 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00649
00650 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00651 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00652 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00653 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00654 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00655 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00656 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00657 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00658 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00659 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00660
00661 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00662 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00663 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00664 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00665 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00666 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00667 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00668 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00669 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00670 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00671
00672 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00673 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00674 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00675 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00676 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00677 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00678 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00679 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00680 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00681 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00682
00683 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00684 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00685 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00686 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00687 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00688 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00689 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00690 775, 775, 775, 775, 0, 775, 775, 775, 775, 775,
00691 775, 775, 775
00692 } ;
00693
00694 static yyconst flex_int16_t yy_nxt[1731] =
00695 { 0,
00696 775, 19, 20, 21, 37, 22, 22, 34, 23, 24,
00697 25, 26, 27, 35, 28, 34, 37, 38, 53, 775,
00698 29, 35, 50, 775, 51, 54, 50, 53, 51, 38,
00699 775, 53, 83, 52, 54, 54, 117, 50, 54, 51,
00700 54, 88, 88, 108, 118, 89, 54, 234, 235, 54,
00701 54, 84, 109, 54, 22, 19, 20, 21, 127, 22,
00702 22, 54, 23, 24, 25, 26, 27, 112, 28, 114,
00703 771, 119, 124, 113, 29, 125, 115, 120, 126, 128,
00704 121, 129, 139, 139, 139, 160, 122, 151, 130, 155,
00705 157, 131, 132, 161, 140, 156, 152, 158, 162, 148,
00706
00707 148, 148, 171, 166, 163, 770, 378, 164, 22, 39,
00708 39, 39, 149, 165, 427, 186, 186, 186, 40, 167,
00709 41, 168, 42, 172, 169, 181, 173, 170, 187, 227,
00710 182, 769, 141, 174, 228, 379, 175, 176, 768, 43,
00711 189, 189, 189, 428, 44, 45, 148, 148, 148, 46,
00712 139, 139, 139, 190, 47, 48, 765, 49, 56, 149,
00713 759, 758, 140, 755, 57, 754, 210, 210, 210, 58,
00714 211, 212, 59, 222, 222, 222, 753, 60, 752, 223,
00715 223, 223, 751, 61, 750, 62, 63, 64, 269, 269,
00716 269, 65, 224, 66, 67, 68, 69, 70, 71, 749,
00717
00718 72, 73, 747, 74, 91, 271, 271, 271, 746, 92,
00719 213, 213, 213, 745, 744, 93, 743, 94, 95, 96,
00720 741, 738, 214, 97, 737, 98, 99, 100, 101, 102,
00721 103, 215, 104, 105, 736, 106, 216, 232, 232, 232,
00722 236, 236, 236, 241, 241, 241, 258, 258, 258, 735,
00723 233, 733, 730, 237, 729, 728, 242, 727, 726, 259,
00724 262, 262, 262, 265, 265, 265, 267, 267, 267, 186,
00725 186, 186, 725, 263, 722, 721, 266, 720, 719, 268,
00726 718, 717, 187, 189, 189, 189, 272, 272, 272, 274,
00727 274, 274, 286, 286, 286, 716, 190, 715, 714, 273,
00728
00729 713, 712, 275, 711, 710, 287, 290, 290, 290, 294,
00730 294, 294, 210, 210, 210, 709, 211, 212, 708, 291,
00731 707, 295, 213, 213, 213, 297, 297, 297, 300, 300,
00732 300, 304, 304, 304, 214, 706, 276, 222, 222, 222,
00733 301, 705, 703, 305, 223, 223, 223, 307, 307, 307,
00734 308, 308, 308, 311, 311, 311, 702, 224, 314, 314,
00735 314, 701, 700, 309, 699, 698, 312, 317, 317, 317,
00736 697, 315, 319, 319, 319, 232, 232, 232, 696, 694,
00737 318, 321, 321, 321, 691, 320, 690, 689, 233, 236,
00738 236, 236, 324, 324, 324, 325, 325, 325, 313, 327,
00739
00740 327, 327, 237, 241, 241, 241, 688, 687, 326, 331,
00741 331, 331, 328, 334, 334, 334, 242, 343, 343, 343,
00742 347, 347, 347, 350, 350, 350, 335, 258, 258, 258,
00743 344, 686, 685, 348, 684, 680, 351, 353, 353, 353,
00744 259, 262, 262, 262, 679, 336, 329, 356, 356, 356,
00745 265, 265, 265, 678, 263, 358, 358, 358, 677, 352,
00746 267, 267, 267, 266, 359, 359, 359, 269, 269, 269,
00747 271, 271, 271, 268, 272, 272, 272, 361, 361, 361,
00748 274, 274, 274, 362, 362, 362, 676, 273, 368, 368,
00749 368, 675, 674, 275, 286, 286, 286, 374, 374, 374,
00750
00751 673, 369, 290, 290, 290, 670, 668, 287, 377, 377,
00752 377, 294, 294, 294, 667, 291, 381, 381, 381, 297,
00753 297, 297, 664, 295, 300, 300, 300, 385, 385, 385,
00754 663, 386, 387, 389, 389, 389, 301, 304, 304, 304,
00755 662, 661, 392, 392, 392, 390, 393, 394, 660, 305,
00756 659, 657, 391, 395, 395, 395, 307, 307, 307, 308,
00757 308, 308, 397, 397, 397, 396, 311, 311, 311, 399,
00758 399, 399, 309, 314, 314, 314, 401, 401, 401, 312,
00759 317, 317, 317, 403, 403, 403, 315, 319, 319, 319,
00760 404, 404, 404, 318, 321, 321, 321, 324, 324, 324,
00761
00762 320, 325, 325, 325, 407, 407, 407, 327, 327, 327,
00763 408, 408, 408, 656, 326, 331, 331, 331, 650, 647,
00764 328, 334, 334, 334, 413, 413, 413, 415, 415, 415,
00765 417, 417, 417, 646, 335, 343, 343, 343, 645, 644,
00766 416, 643, 642, 418, 423, 423, 423, 641, 344, 347,
00767 347, 347, 426, 426, 426, 350, 350, 350, 429, 429,
00768 429, 640, 348, 353, 353, 353, 639, 636, 351, 356,
00769 356, 356, 358, 358, 358, 359, 359, 359, 361, 361,
00770 361, 362, 362, 362, 435, 435, 435, 368, 368, 368,
00771 441, 441, 441, 442, 442, 442, 635, 436, 634, 630,
00772
00773 369, 374, 374, 374, 629, 628, 443, 377, 377, 377,
00774 449, 449, 449, 381, 381, 381, 453, 453, 453, 455,
00775 455, 455, 627, 450, 626, 385, 385, 385, 454, 386,
00776 387, 456, 389, 389, 389, 458, 458, 458, 392, 392,
00777 392, 624, 393, 394, 390, 395, 395, 395, 460, 460,
00778 460, 397, 397, 397, 399, 399, 399, 396, 401, 401,
00779 401, 403, 403, 403, 404, 404, 404, 407, 407, 407,
00780 408, 408, 408, 466, 466, 466, 413, 413, 413, 415,
00781 415, 415, 472, 472, 472, 623, 467, 417, 417, 417,
00782 622, 621, 416, 473, 473, 473, 474, 474, 474, 620,
00783
00784 418, 477, 477, 477, 423, 423, 423, 619, 618, 475,
00785 481, 481, 481, 617, 478, 426, 426, 426, 485, 485,
00786 485, 616, 615, 482, 429, 429, 429, 490, 490, 490,
00787 614, 486, 435, 435, 435, 493, 493, 493, 613, 612,
00788 491, 494, 494, 494, 611, 436, 441, 441, 441, 442,
00789 442, 442, 607, 606, 495, 483, 498, 498, 498, 501,
00790 501, 501, 443, 449, 449, 449, 505, 505, 505, 507,
00791 507, 507, 502, 453, 453, 453, 450, 509, 509, 509,
00792 605, 508, 603, 503, 602, 454, 455, 455, 455, 510,
00793 510, 510, 458, 458, 458, 460, 460, 460, 456, 515,
00794
00795 515, 515, 466, 466, 466, 519, 519, 519, 520, 520,
00796 520, 599, 516, 598, 595, 467, 523, 523, 523, 594,
00797 593, 521, 472, 472, 472, 473, 473, 473, 592, 524,
00798 474, 474, 474, 526, 526, 526, 477, 477, 477, 528,
00799 528, 528, 591, 475, 530, 530, 530, 590, 589, 478,
00800 481, 481, 481, 533, 533, 533, 588, 531, 534, 534,
00801 534, 587, 586, 482, 485, 485, 485, 584, 532, 583,
00802 582, 535, 537, 537, 537, 580, 579, 486, 539, 539,
00803 539, 490, 490, 490, 542, 542, 542, 493, 493, 493,
00804 577, 540, 575, 572, 491, 494, 494, 494, 544, 544,
00805
00806 544, 498, 498, 498, 547, 547, 547, 570, 495, 501,
00807 501, 501, 550, 550, 550, 568, 567, 548, 505, 505,
00808 505, 565, 502, 507, 507, 507, 554, 554, 554, 509,
00809 509, 509, 510, 510, 510, 508, 555, 561, 561, 561,
00810 553, 556, 557, 552, 558, 551, 559, 549, 560, 562,
00811 563, 563, 563, 515, 515, 515, 566, 566, 566, 519,
00812 519, 519, 546, 564, 545, 543, 516, 520, 520, 520,
00813 569, 569, 569, 523, 523, 523, 571, 571, 571, 541,
00814 521, 526, 526, 526, 538, 536, 524, 573, 573, 573,
00815 528, 528, 528, 530, 530, 530, 576, 576, 576, 529,
00816
00817 574, 533, 533, 533, 527, 525, 531, 534, 534, 534,
00818 578, 578, 578, 537, 537, 537, 539, 539, 539, 522,
00819 535, 581, 581, 581, 542, 542, 542, 518, 517, 540,
00820 544, 544, 544, 547, 547, 547, 585, 585, 585, 550,
00821 550, 550, 554, 554, 554, 514, 548, 561, 561, 561,
00822 596, 596, 596, 563, 563, 563, 597, 597, 597, 562,
00823 566, 566, 566, 600, 600, 600, 564, 569, 569, 569,
00824 571, 571, 571, 573, 573, 573, 601, 604, 604, 604,
00825 576, 576, 576, 578, 578, 578, 574, 608, 608, 608,
00826 581, 581, 581, 585, 585, 585, 596, 596, 596, 513,
00827
00828 609, 597, 597, 597, 600, 600, 600, 625, 625, 625,
00829 604, 604, 604, 608, 608, 608, 512, 601, 631, 631,
00830 631, 632, 632, 632, 511, 506, 609, 637, 637, 637,
00831 504, 500, 610, 499, 633, 625, 625, 625, 497, 496,
00832 638, 648, 648, 648, 651, 651, 651, 653, 653, 653,
00833 631, 631, 631, 492, 649, 489, 488, 652, 487, 484,
00834 654, 632, 632, 632, 655, 655, 655, 637, 637, 637,
00835 658, 658, 658, 480, 633, 665, 665, 665, 479, 476,
00836 638, 648, 648, 648, 669, 669, 669, 471, 666, 651,
00837 651, 651, 470, 469, 649, 671, 671, 671, 653, 653,
00838
00839 653, 468, 652, 672, 672, 672, 655, 655, 655, 465,
00840 464, 654, 658, 658, 658, 665, 665, 665, 681, 681,
00841 681, 682, 682, 682, 669, 669, 669, 463, 666, 671,
00842 671, 671, 462, 461, 683, 672, 672, 672, 692, 692,
00843 692, 681, 681, 681, 682, 682, 682, 695, 695, 695,
00844 693, 692, 692, 692, 704, 704, 704, 683, 695, 695,
00845 695, 459, 457, 693, 704, 704, 704, 723, 723, 723,
00846 731, 731, 731, 723, 723, 723, 734, 734, 734, 724,
00847 452, 451, 732, 448, 447, 724, 739, 739, 739, 731,
00848 731, 731, 742, 742, 742, 734, 734, 734, 740, 446,
00849
00850 445, 732, 739, 739, 739, 748, 748, 748, 742, 742,
00851 742, 748, 748, 748, 740, 756, 756, 756, 760, 760,
00852 760, 756, 756, 756, 762, 762, 762, 444, 757, 440,
00853 761, 763, 763, 763, 757, 760, 760, 760, 766, 766,
00854 766, 762, 762, 762, 764, 439, 438, 761, 763, 763,
00855 763, 767, 767, 767, 766, 766, 766, 767, 767, 767,
00856 437, 764, 772, 772, 772, 772, 772, 772, 774, 774,
00857 774, 774, 774, 774, 773, 434, 433, 773, 18, 18,
00858 18, 30, 30, 30, 32, 32, 32, 31, 31, 31,
00859 33, 33, 33, 36, 36, 36, 76, 432, 76, 77,
00860
00861 77, 431, 430, 425, 424, 422, 421, 420, 419, 414,
00862 412, 411, 410, 409, 406, 405, 402, 400, 398, 388,
00863 384, 383, 382, 380, 376, 375, 373, 372, 371, 370,
00864 367, 366, 365, 364, 363, 360, 357, 355, 354, 349,
00865 346, 345, 342, 341, 340, 339, 338, 337, 333, 332,
00866 330, 323, 322, 316, 310, 306, 303, 302, 299, 298,
00867 296, 293, 292, 289, 288, 285, 284, 283, 282, 281,
00868 280, 279, 278, 277, 270, 264, 261, 260, 257, 256,
00869 255, 254, 253, 252, 251, 250, 249, 248, 247, 246,
00870 245, 244, 243, 240, 239, 238, 231, 230, 229, 226,
00871
00872 225, 221, 220, 219, 218, 217, 209, 208, 207, 206,
00873 205, 204, 203, 202, 201, 200, 199, 198, 197, 196,
00874 195, 194, 193, 192, 191, 188, 185, 184, 183, 180,
00875 179, 178, 177, 159, 154, 153, 150, 147, 89, 89,
00876 146, 145, 144, 143, 142, 138, 137, 136, 135, 134,
00877 133, 123, 116, 111, 110, 107, 90, 75, 87, 86,
00878 85, 82, 81, 80, 55, 79, 78, 75, 55, 775,
00879 31, 31, 31, 31, 17, 775, 775, 775, 775, 775,
00880 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00881 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00882
00883 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00884 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
00885 775, 775, 775, 775, 775, 775, 775, 775, 775, 775
00886 } ;
00887
00888 static yyconst flex_int16_t yy_chk[1731] =
00889 { 0,
00890 0, 1, 1, 1, 15, 1, 1, 13, 1, 1,
00891 1, 1, 1, 13, 1, 14, 16, 15, 24, 41,
00892 1, 14, 23, 0, 23, 24, 26, 50, 26, 16,
00893 41, 53, 46, 23, 50, 26, 67, 51, 53, 51,
00894 24, 54, 54, 61, 67, 54, 51, 158, 158, 50,
00895 26, 46, 61, 53, 1, 2, 2, 2, 71, 2,
00896 2, 51, 2, 2, 2, 2, 2, 64, 2, 65,
00897 770, 68, 70, 64, 2, 70, 65, 68, 70, 71,
00898 68, 72, 82, 82, 82, 99, 68, 93, 72, 96,
00899 97, 72, 72, 99, 82, 96, 93, 97, 100, 91,
00900
00901 91, 91, 103, 101, 100, 769, 292, 100, 2, 19,
00902 19, 19, 91, 100, 349, 114, 114, 114, 19, 101,
00903 19, 102, 19, 103, 102, 110, 104, 102, 114, 153,
00904 110, 768, 82, 104, 153, 292, 104, 104, 765, 19,
00905 116, 116, 116, 349, 19, 19, 148, 148, 148, 19,
00906 139, 139, 139, 116, 19, 19, 759, 19, 27, 148,
00907 754, 752, 139, 750, 27, 749, 140, 140, 140, 27,
00908 140, 140, 27, 149, 149, 149, 747, 27, 745, 150,
00909 150, 150, 744, 27, 743, 27, 27, 27, 187, 187,
00910 187, 27, 150, 27, 27, 27, 27, 27, 27, 741,
00911
00912 27, 27, 738, 27, 57, 190, 190, 190, 737, 57,
00913 141, 141, 141, 736, 735, 57, 733, 57, 57, 57,
00914 730, 728, 141, 57, 727, 57, 57, 57, 57, 57,
00915 57, 141, 57, 57, 726, 57, 141, 157, 157, 157,
00916 159, 159, 159, 163, 163, 163, 179, 179, 179, 725,
00917 157, 722, 720, 159, 719, 718, 163, 717, 716, 179,
00918 182, 182, 182, 184, 184, 184, 185, 185, 185, 186,
00919 186, 186, 715, 182, 713, 712, 184, 711, 710, 185,
00920 709, 708, 186, 189, 189, 189, 191, 191, 191, 192,
00921 192, 192, 202, 202, 202, 707, 189, 706, 705, 191,
00922
00923 703, 702, 192, 701, 700, 202, 205, 205, 205, 208,
00924 208, 208, 210, 210, 210, 699, 210, 210, 698, 205,
00925 697, 208, 213, 213, 213, 214, 214, 214, 217, 217,
00926 217, 220, 220, 220, 213, 696, 192, 222, 222, 222,
00927 217, 694, 691, 220, 223, 223, 223, 224, 224, 224,
00928 225, 225, 225, 227, 227, 227, 690, 223, 228, 228,
00929 228, 689, 688, 225, 687, 686, 227, 230, 230, 230,
00930 685, 228, 231, 231, 231, 232, 232, 232, 684, 680,
00931 230, 233, 233, 233, 678, 231, 677, 676, 232, 236,
00932 236, 236, 237, 237, 237, 238, 238, 238, 227, 239,
00933
00934 239, 239, 236, 241, 241, 241, 675, 674, 238, 242,
00935 242, 242, 239, 245, 245, 245, 241, 252, 252, 252,
00936 255, 255, 255, 257, 257, 257, 245, 258, 258, 258,
00937 252, 673, 670, 255, 668, 664, 257, 259, 259, 259,
00938 258, 262, 262, 262, 663, 245, 239, 263, 263, 263,
00939 265, 265, 265, 662, 262, 266, 266, 266, 661, 257,
00940 267, 267, 267, 265, 268, 268, 268, 269, 269, 269,
00941 271, 271, 271, 267, 272, 272, 272, 273, 273, 273,
00942 274, 274, 274, 275, 275, 275, 660, 272, 281, 281,
00943 281, 659, 657, 274, 286, 286, 286, 287, 287, 287,
00944
00945 656, 281, 290, 290, 290, 650, 647, 286, 291, 291,
00946 291, 294, 294, 294, 646, 290, 295, 295, 295, 297,
00947 297, 297, 644, 294, 300, 300, 300, 301, 301, 301,
00948 643, 301, 301, 303, 303, 303, 300, 304, 304, 304,
00949 642, 641, 305, 305, 305, 303, 305, 305, 640, 304,
00950 639, 636, 303, 306, 306, 306, 307, 307, 307, 308,
00951 308, 308, 309, 309, 309, 306, 311, 311, 311, 312,
00952 312, 312, 308, 314, 314, 314, 315, 315, 315, 311,
00953 317, 317, 317, 318, 318, 318, 314, 319, 319, 319,
00954 320, 320, 320, 317, 321, 321, 321, 324, 324, 324,
00955
00956 319, 325, 325, 325, 326, 326, 326, 327, 327, 327,
00957 328, 328, 328, 635, 325, 331, 331, 331, 628, 626,
00958 327, 334, 334, 334, 335, 335, 335, 337, 337, 337,
00959 338, 338, 338, 624, 334, 343, 343, 343, 623, 622,
00960 337, 621, 620, 338, 344, 344, 344, 619, 343, 347,
00961 347, 347, 348, 348, 348, 350, 350, 350, 351, 351,
00962 351, 618, 347, 353, 353, 353, 617, 614, 350, 356,
00963 356, 356, 358, 358, 358, 359, 359, 359, 361, 361,
00964 361, 362, 362, 362, 363, 363, 363, 368, 368, 368,
00965 369, 369, 369, 370, 370, 370, 612, 363, 611, 607,
00966
00967 368, 374, 374, 374, 606, 605, 370, 377, 377, 377,
00968 379, 379, 379, 381, 381, 381, 383, 383, 383, 384,
00969 384, 384, 603, 379, 602, 385, 385, 385, 383, 385,
00970 385, 384, 389, 389, 389, 390, 390, 390, 392, 392,
00971 392, 599, 392, 392, 389, 395, 395, 395, 396, 396,
00972 396, 397, 397, 397, 399, 399, 399, 395, 401, 401,
00973 401, 403, 403, 403, 404, 404, 404, 407, 407, 407,
00974 408, 408, 408, 409, 409, 409, 413, 413, 413, 415,
00975 415, 415, 416, 416, 416, 598, 409, 417, 417, 417,
00976 595, 594, 415, 418, 418, 418, 419, 419, 419, 593,
00977
00978 417, 421, 421, 421, 423, 423, 423, 592, 591, 419,
00979 425, 425, 425, 590, 421, 426, 426, 426, 428, 428,
00980 428, 588, 587, 425, 429, 429, 429, 433, 433, 433,
00981 586, 428, 435, 435, 435, 436, 436, 436, 584, 583,
00982 433, 437, 437, 437, 582, 435, 441, 441, 441, 442,
00983 442, 442, 579, 577, 437, 425, 443, 443, 443, 446,
00984 446, 446, 442, 449, 449, 449, 450, 450, 450, 452,
00985 452, 452, 446, 453, 453, 453, 449, 454, 454, 454,
00986 575, 452, 572, 446, 570, 453, 455, 455, 455, 456,
00987 456, 456, 458, 458, 458, 460, 460, 460, 455, 463,
00988
00989 463, 463, 466, 466, 466, 467, 467, 467, 468, 468,
00990 468, 567, 463, 565, 560, 466, 470, 470, 470, 559,
00991 558, 468, 472, 472, 472, 473, 473, 473, 557, 470,
00992 474, 474, 474, 475, 475, 475, 477, 477, 477, 478,
00993 478, 478, 556, 474, 480, 480, 480, 555, 553, 477,
00994 481, 481, 481, 482, 482, 482, 552, 480, 483, 483,
00995 483, 551, 549, 481, 485, 485, 485, 546, 480, 545,
00996 541, 483, 486, 486, 486, 538, 536, 485, 488, 488,
00997 488, 490, 490, 490, 491, 491, 491, 493, 493, 493,
00998 532, 488, 529, 525, 490, 494, 494, 494, 495, 495,
00999
01000 495, 498, 498, 498, 499, 499, 499, 522, 494, 501,
01001 501, 501, 502, 502, 502, 518, 517, 499, 505, 505,
01002 505, 514, 501, 507, 507, 507, 508, 508, 508, 509,
01003 509, 509, 510, 510, 510, 507, 511, 512, 512, 512,
01004 506, 511, 511, 504, 511, 503, 511, 500, 511, 512,
01005 513, 513, 513, 515, 515, 515, 516, 516, 516, 519,
01006 519, 519, 497, 513, 496, 492, 515, 520, 520, 520,
01007 521, 521, 521, 523, 523, 523, 524, 524, 524, 489,
01008 520, 526, 526, 526, 487, 484, 523, 527, 527, 527,
01009 528, 528, 528, 530, 530, 530, 531, 531, 531, 479,
01010
01011 527, 533, 533, 533, 476, 471, 530, 534, 534, 534,
01012 535, 535, 535, 537, 537, 537, 539, 539, 539, 469,
01013 534, 540, 540, 540, 542, 542, 542, 465, 464, 539,
01014 544, 544, 544, 547, 547, 547, 548, 548, 548, 550,
01015 550, 550, 554, 554, 554, 462, 547, 561, 561, 561,
01016 562, 562, 562, 563, 563, 563, 564, 564, 564, 561,
01017 566, 566, 566, 568, 568, 568, 563, 569, 569, 569,
01018 571, 571, 571, 573, 573, 573, 568, 574, 574, 574,
01019 576, 576, 576, 578, 578, 578, 573, 580, 580, 580,
01020 581, 581, 581, 585, 585, 585, 596, 596, 596, 461,
01021
01022 580, 597, 597, 597, 600, 600, 600, 601, 601, 601,
01023 604, 604, 604, 608, 608, 608, 459, 600, 609, 609,
01024 609, 610, 610, 610, 457, 451, 608, 615, 615, 615,
01025 448, 445, 580, 444, 610, 625, 625, 625, 440, 438,
01026 615, 627, 627, 627, 629, 629, 629, 630, 630, 630,
01027 631, 631, 631, 434, 627, 432, 431, 629, 430, 427,
01028 630, 632, 632, 632, 633, 633, 633, 637, 637, 637,
01029 638, 638, 638, 424, 632, 645, 645, 645, 422, 420,
01030 637, 648, 648, 648, 649, 649, 649, 414, 645, 651,
01031 651, 651, 412, 411, 648, 652, 652, 652, 653, 653,
01032
01033 653, 410, 651, 654, 654, 654, 655, 655, 655, 406,
01034 405, 653, 658, 658, 658, 665, 665, 665, 666, 666,
01035 666, 667, 667, 667, 669, 669, 669, 402, 665, 671,
01036 671, 671, 400, 398, 667, 672, 672, 672, 679, 679,
01037 679, 681, 681, 681, 682, 682, 682, 683, 683, 683,
01038 679, 692, 692, 692, 693, 693, 693, 682, 695, 695,
01039 695, 391, 388, 692, 704, 704, 704, 714, 714, 714,
01040 721, 721, 721, 723, 723, 723, 724, 724, 724, 714,
01041 382, 380, 721, 378, 376, 723, 729, 729, 729, 731,
01042 731, 731, 732, 732, 732, 734, 734, 734, 729, 375,
01043
01044 373, 731, 739, 739, 739, 740, 740, 740, 742, 742,
01045 742, 748, 748, 748, 739, 751, 751, 751, 755, 755,
01046 755, 756, 756, 756, 757, 757, 757, 371, 751, 367,
01047 755, 758, 758, 758, 756, 760, 760, 760, 761, 761,
01048 761, 762, 762, 762, 758, 366, 365, 760, 763, 763,
01049 763, 764, 764, 764, 766, 766, 766, 767, 767, 767,
01050 364, 763, 771, 771, 771, 772, 772, 772, 773, 773,
01051 773, 774, 774, 774, 771, 360, 357, 772, 776, 776,
01052 776, 777, 777, 777, 778, 778, 778, 779, 779, 779,
01053 780, 780, 780, 781, 781, 781, 782, 355, 782, 783,
01054
01055 783, 354, 352, 346, 345, 342, 341, 340, 339, 336,
01056 333, 332, 330, 329, 323, 322, 316, 313, 310, 302,
01057 299, 298, 296, 293, 289, 288, 285, 284, 283, 282,
01058 280, 279, 278, 277, 276, 270, 264, 261, 260, 256,
01059 254, 253, 251, 250, 249, 248, 247, 246, 244, 243,
01060 240, 235, 234, 229, 226, 221, 219, 218, 216, 215,
01061 209, 207, 206, 204, 203, 201, 200, 199, 198, 197,
01062 196, 195, 194, 193, 188, 183, 181, 180, 178, 177,
01063 176, 175, 174, 173, 172, 171, 170, 169, 168, 167,
01064 166, 165, 164, 162, 161, 160, 156, 155, 154, 152,
01065
01066 151, 146, 145, 144, 143, 142, 138, 137, 134, 133,
01067 132, 131, 130, 129, 128, 127, 126, 125, 124, 123,
01068 122, 121, 119, 118, 117, 115, 113, 112, 111, 109,
01069 108, 106, 105, 98, 95, 94, 92, 90, 89, 88,
01070 87, 86, 85, 84, 83, 81, 80, 78, 75, 74,
01071 73, 69, 66, 63, 62, 60, 56, 52, 49, 48,
01072 47, 45, 44, 43, 40, 38, 35, 29, 25, 17,
01073 6, 5, 4, 3, 775, 775, 775, 775, 775, 775,
01074 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
01075 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
01076
01077 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
01078 775, 775, 775, 775, 775, 775, 775, 775, 775, 775,
01079 775, 775, 775, 775, 775, 775, 775, 775, 775, 775
01080 } ;
01081
01082
01083 static yyconst flex_int32_t yy_rule_can_match_eol[117] =
01084 { 0,
01085 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
01086 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
01087 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
01088 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
01089 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
01090 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, };
01091
01092
01093
01094
01095 #define REJECT reject_used_but_not_detected
01096 #define yymore() yymore_used_but_not_detected
01097 #define YY_MORE_ADJ 0
01098 #define YY_RESTORE_YY_MORE_OFFSET
01099 #line 1 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01100
01115 #line 17 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01116
01117
01118 #include "OSDataStructures.h"
01119 #include "OSMathUtil.h"
01120 #include "OSConfig.h"
01121
01122 #include <iostream>
01123
01124
01125
01126 #ifdef HAVE_CSTDIO
01127 # include <cstdio>
01128 #else
01129 # ifdef HAVE_STDIO_H
01130 # include <stdio.h>
01131 # else
01132 # error "don't have header file for stdio"
01133 # endif
01134 #endif
01135
01136 #ifdef HAVE_CTIME
01137 # include <ctime>
01138 #else
01139 # ifdef HAVE_TIME_H
01140 # include <time.h>
01141 # else
01142 # error "don't have header file for time"
01143 # endif
01144 #endif
01145
01146 #ifdef HAVE_CMATH
01147 # include <cmath>
01148 #else
01149 # ifdef HAVE_MATH_H
01150 # include <math.h>
01151 # else
01152 # error "don't have header file for math"
01153 # endif
01154 #endif
01155
01156 #include <sstream>
01157 #include "OSiLParserData.h"
01158
01159
01160
01161 #include "OSErrorClass.h"
01162 #include "OSParseosil.tab.hpp"
01163 #include "OSInstance.h"
01164
01165
01166
01167
01168 #ifdef PARSERDEBUG
01169 #define YY_PRINT printf("%s", yytext);
01170 #else
01171 #define YY_PRINT ;
01172 #endif
01173
01174
01175
01176 #ifdef WIN_
01177 #define YY_NO_UNISTD_H
01178 #include <io.h>
01179 #include <process.h>
01180 #ifdef USE_OLD_UNISTD
01181 #include<sys/unistd.h>
01182 #endif
01183 #endif
01184 using std::cout;
01185 using std::endl;
01186 using std::ostringstream;
01187
01188
01189
01190
01191
01192
01193
01194 #line 108 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01195 #define YY_EXTRA_TYPE OSiLParserData*
01196 #line 1197 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.cpp"
01197
01198 #define INITIAL 0
01199 #define doublequoteattributetext 1
01200 #define singlequoteattributetext 2
01201 #define startelement 3
01202 #define osilattributetext 4
01203 #define elementtext 5
01204 #define comment 6
01205 #define xmldeclaration 7
01206
01207 #ifndef YY_NO_UNISTD_H
01208
01209
01210
01211
01212 #include <unistd.h>
01213 #endif
01214
01215 #ifndef YY_EXTRA_TYPE
01216 #define YY_EXTRA_TYPE void *
01217 #endif
01218
01219
01220 struct yyguts_t
01221 {
01222
01223
01224 YY_EXTRA_TYPE yyextra_r;
01225
01226
01227 FILE *yyin_r, *yyout_r;
01228 size_t yy_buffer_stack_top;
01229 size_t yy_buffer_stack_max;
01230 YY_BUFFER_STATE * yy_buffer_stack;
01231 char yy_hold_char;
01232 int yy_n_chars;
01233 int yyleng_r;
01234 char *yy_c_buf_p;
01235 int yy_init;
01236 int yy_start;
01237 int yy_did_buffer_switch_on_eof;
01238 int yy_start_stack_ptr;
01239 int yy_start_stack_depth;
01240 int *yy_start_stack;
01241 yy_state_type yy_last_accepting_state;
01242 char* yy_last_accepting_cpos;
01243
01244 int yylineno_r;
01245 int yy_flex_debug_r;
01246
01247 char *yytext_r;
01248 int yy_more_flag;
01249 int yy_more_len;
01250
01251 YYSTYPE * yylval_r;
01252
01253 YYLTYPE * yylloc_r;
01254
01255 };
01256
01257 static int yy_init_globals (yyscan_t yyscanner );
01258
01259
01260
01261 # define yylval yyg->yylval_r
01262
01263 # define yylloc yyg->yylloc_r
01264
01265 int osillex_init (yyscan_t* scanner);
01266
01267 int osillex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
01268
01269
01270
01271
01272 int osillex_destroy (yyscan_t yyscanner );
01273
01274 int osilget_debug (yyscan_t yyscanner );
01275
01276 void osilset_debug (int debug_flag ,yyscan_t yyscanner );
01277
01278 YY_EXTRA_TYPE osilget_extra (yyscan_t yyscanner );
01279
01280 void osilset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
01281
01282 FILE *osilget_in (yyscan_t yyscanner );
01283
01284 void osilset_in (FILE * in_str ,yyscan_t yyscanner );
01285
01286 FILE *osilget_out (yyscan_t yyscanner );
01287
01288 void osilset_out (FILE * out_str ,yyscan_t yyscanner );
01289
01290 int osilget_leng (yyscan_t yyscanner );
01291
01292 char *osilget_text (yyscan_t yyscanner );
01293
01294 int osilget_lineno (yyscan_t yyscanner );
01295
01296 void osilset_lineno (int line_number ,yyscan_t yyscanner );
01297
01298 YYSTYPE * osilget_lval (yyscan_t yyscanner );
01299
01300 void osilset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
01301
01302 YYLTYPE *osilget_lloc (yyscan_t yyscanner );
01303
01304 void osilset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
01305
01306
01307
01308
01309
01310 #ifndef YY_SKIP_YYWRAP
01311 #ifdef __cplusplus
01312 extern "C" int osilwrap (yyscan_t yyscanner );
01313 #else
01314 extern int osilwrap (yyscan_t yyscanner );
01315 #endif
01316 #endif
01317
01318 #ifndef yytext_ptr
01319 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
01320 #endif
01321
01322 #ifdef YY_NEED_STRLEN
01323 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
01324 #endif
01325
01326 #ifndef YY_NO_INPUT
01327
01328 #ifdef __cplusplus
01329 static int yyinput (yyscan_t yyscanner );
01330 #else
01331 static int input (yyscan_t yyscanner );
01332 #endif
01333
01334 #endif
01335
01336
01337 #ifndef YY_READ_BUF_SIZE
01338 #ifdef __ia64__
01339
01340 #define YY_READ_BUF_SIZE 16384
01341 #else
01342 #define YY_READ_BUF_SIZE 8192
01343 #endif
01344 #endif
01345
01346
01347 #ifndef ECHO
01348
01349
01350
01351 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
01352 #endif
01353
01354
01355
01356
01357 #ifndef YY_INPUT
01358 #define YY_INPUT(buf,result,max_size) \
01359 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01360 { \
01361 int c = '*'; \
01362 size_t n; \
01363 for ( n = 0; n < max_size && \
01364 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01365 buf[n] = (char) c; \
01366 if ( c == '\n' ) \
01367 buf[n++] = (char) c; \
01368 if ( c == EOF && ferror( yyin ) ) \
01369 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01370 result = n; \
01371 } \
01372 else \
01373 { \
01374 errno=0; \
01375 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01376 { \
01377 if( errno != EINTR) \
01378 { \
01379 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01380 break; \
01381 } \
01382 errno=0; \
01383 clearerr(yyin); \
01384 } \
01385 }\
01386 \
01387
01388 #endif
01389
01390
01391
01392
01393
01394 #ifndef yyterminate
01395 #define yyterminate() return YY_NULL
01396 #endif
01397
01398
01399 #ifndef YY_START_STACK_INCR
01400 #define YY_START_STACK_INCR 25
01401 #endif
01402
01403
01404 #ifndef YY_FATAL_ERROR
01405 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01406 #endif
01407
01408
01409
01410
01411
01412
01413 #ifndef YY_DECL
01414 #define YY_DECL_IS_OURS 1
01415
01416 extern int osillex \
01417 (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
01418
01419 #define YY_DECL int osillex \
01420 (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
01421 #endif
01422
01423
01424
01425
01426 #ifndef YY_USER_ACTION
01427 #define YY_USER_ACTION
01428 #endif
01429
01430
01431 #ifndef YY_BREAK
01432 #define YY_BREAK break;
01433 #endif
01434
01435 #define YY_RULE_SETUP \
01436 YY_USER_ACTION
01437
01440 YY_DECL
01441 {
01442 register yy_state_type yy_current_state;
01443 register char *yy_cp, *yy_bp;
01444 register int yy_act;
01445 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01446
01447 #line 119 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01448
01449
01450 #line 1451 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.cpp"
01451
01452 yylval = yylval_param;
01453
01454 yylloc = yylloc_param;
01455
01456 if ( !yyg->yy_init )
01457 {
01458 yyg->yy_init = 1;
01459
01460 #ifdef YY_USER_INIT
01461 YY_USER_INIT;
01462 #endif
01463
01464 if ( ! yyg->yy_start )
01465 yyg->yy_start = 1;
01466
01467 if ( ! yyin )
01468 yyin = stdin;
01469
01470 if ( ! yyout )
01471 yyout = stdout;
01472
01473 if ( ! YY_CURRENT_BUFFER ) {
01474 osilensure_buffer_stack (yyscanner);
01475 YY_CURRENT_BUFFER_LVALUE =
01476 osil_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01477 }
01478
01479 osil_load_buffer_state(yyscanner );
01480 }
01481
01482 while ( 1 )
01483 {
01484 yy_cp = yyg->yy_c_buf_p;
01485
01486
01487 *yy_cp = yyg->yy_hold_char;
01488
01489
01490
01491
01492 yy_bp = yy_cp;
01493
01494 yy_current_state = yyg->yy_start;
01495 yy_match:
01496 do
01497 {
01498 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01499 if ( yy_accept[yy_current_state] )
01500 {
01501 yyg->yy_last_accepting_state = yy_current_state;
01502 yyg->yy_last_accepting_cpos = yy_cp;
01503 }
01504 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01505 {
01506 yy_current_state = (int) yy_def[yy_current_state];
01507 if ( yy_current_state >= 776 )
01508 yy_c = yy_meta[(unsigned int) yy_c];
01509 }
01510 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01511 ++yy_cp;
01512 }
01513 while ( yy_base[yy_current_state] != 1675 );
01514
01515 yy_find_action:
01516 yy_act = yy_accept[yy_current_state];
01517 if ( yy_act == 0 )
01518 {
01519 yy_cp = yyg->yy_last_accepting_cpos;
01520 yy_current_state = yyg->yy_last_accepting_state;
01521 yy_act = yy_accept[yy_current_state];
01522 }
01523
01524 YY_DO_BEFORE_ACTION;
01525
01526 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
01527 {
01528 int yyl;
01529 for ( yyl = 0; yyl < yyleng; ++yyl )
01530 if ( yytext[yyl] == '\n' )
01531
01532 do{ yylineno++;
01533 yycolumn=0;
01534 }while(0)
01535 ;
01536 }
01537
01538 do_action:
01539
01540 switch ( yy_act )
01541 {
01542 case 0:
01543
01544 *yy_cp = yyg->yy_hold_char;
01545 yy_cp = yyg->yy_last_accepting_cpos;
01546 yy_current_state = yyg->yy_last_accepting_state;
01547 goto yy_find_action;
01548
01549 case 1:
01550
01551 YY_RULE_SETUP
01552 #line 121 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01553
01554 YY_BREAK
01555
01556 case 2:
01557 YY_RULE_SETUP
01558 #line 126 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01559 {YY_PRINT; yylval->sval = yytext; return(QUOTE);}
01560 YY_BREAK
01561 case 3:
01562
01563 YY_RULE_SETUP
01564 #line 127 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01565 {YY_PRINT; return(GREATERTHAN);}
01566 YY_BREAK
01567 case 4:
01568 YY_RULE_SETUP
01569 #line 128 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01570 {YY_PRINT; yylval->ival = atoi(yytext); return(INTEGER);}
01571 YY_BREAK
01572 case 5:
01573 YY_RULE_SETUP
01574 #line 130 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01575 {YY_PRINT;
01576 char *yytextEnd;
01577 yylval->dval = os_strtod_wrap( yytext, &yytextEnd);
01578 if( (unsigned)(yytextEnd - yytext) != strlen( yytext)){
01579 std::ostringstream outStr;
01580 outStr << "encountered a spurious character in the lexer" << endl;
01581 outStr << "The first character is: ";
01582 outStr << yytext;
01583 outStr << endl;
01584 outStr << "See line number: " << yylineno << endl;
01585 throw ErrorClass( outStr.str());
01586 }
01587 return(DOUBLE);}
01588 YY_BREAK
01589 case 6:
01590
01591 YY_RULE_SETUP
01592 #line 146 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01593 {YY_PRINT; return(ENDOFELEMENT);}
01594 YY_BREAK
01595 case 7:
01596
01597 YY_RULE_SETUP
01598 #line 149 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01599 {YY_PRINT; return(NUMBEROFVARIABLESATT);}
01600 YY_BREAK
01601 case 8:
01602
01603 YY_RULE_SETUP
01604 #line 150 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01605 {YY_PRINT; return(NUMBEROFCONSTRAINTSATT);}
01606 YY_BREAK
01607 case 9:
01608
01609 YY_RULE_SETUP
01610 #line 151 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01611 {YY_PRINT; return(NUMBEROFOBJECTIVESATT);}
01612 YY_BREAK
01613 case 10:
01614
01615 YY_RULE_SETUP
01616 #line 152 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01617 {YY_PRINT; return(NUMBEROFQTERMSATT);}
01618 YY_BREAK
01619 case 11:
01620
01621 YY_RULE_SETUP
01622 #line 153 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01623 {YY_PRINT; return(NUMBEROFNONLINEAREXPRESSIONS);}
01624 YY_BREAK
01625 case 12:
01626
01627 YY_RULE_SETUP
01628 #line 154 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01629 {YY_PRINT; return(NUMBEROFSTAGESATT);}
01630 YY_BREAK
01631 case 13:
01632
01633 YY_RULE_SETUP
01634 #line 157 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01635 {YY_PRINT; return(IDXATT);}
01636 YY_BREAK
01637 case 14:
01638
01639 YY_RULE_SETUP
01640 #line 158 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01641 {YY_PRINT; return(IDXONEATT);}
01642 YY_BREAK
01643 case 15:
01644
01645 YY_RULE_SETUP
01646 #line 159 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01647 {YY_PRINT; return(IDXTWOATT);}
01648 YY_BREAK
01649 case 16:
01650
01651 YY_RULE_SETUP
01652 #line 160 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01653 {YY_PRINT; return(COEFATT);}
01654 YY_BREAK
01655 case 17:
01656
01657 YY_RULE_SETUP
01658 #line 161 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01659 {YY_PRINT; return(VALUEATT);}
01660 YY_BREAK
01661 case 18:
01662
01663 YY_RULE_SETUP
01664 #line 162 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01665 {YY_PRINT; return(STARTIDXATT);}
01666 YY_BREAK
01667 case 19:
01668
01669 YY_RULE_SETUP
01670 #line 163 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01671 {YY_PRINT; return(HORIZONATT);}
01672 YY_BREAK
01673 case 20:
01674
01675 YY_RULE_SETUP
01676 #line 164 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01677 {YY_PRINT; return(STARTATT);}
01678 YY_BREAK
01679 case 21:
01680
01681 YY_RULE_SETUP
01682 #line 166 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01683 {YY_PRINT; BEGIN doublequoteattributetext; return(IDATT);}
01684 YY_BREAK
01685 case 22:
01686
01687 YY_RULE_SETUP
01688 #line 167 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01689 {YY_PRINT; BEGIN singlequoteattributetext; return(IDATT);}
01690 YY_BREAK
01691 case 23:
01692
01693 YY_RULE_SETUP
01694 #line 168 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01695 {YY_PRINT; BEGIN doublequoteattributetext; return(TYPEATT);}
01696 YY_BREAK
01697 case 24:
01698
01699 YY_RULE_SETUP
01700 #line 169 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01701 {YY_PRINT; BEGIN singlequoteattributetext; return(TYPEATT);}
01702 YY_BREAK
01703 case 25:
01704
01705 YY_RULE_SETUP
01706 #line 170 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01707 {YY_PRINT; BEGIN doublequoteattributetext; return(NAMEATT);}
01708 YY_BREAK
01709 case 26:
01710
01711 YY_RULE_SETUP
01712 #line 171 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01713 {YY_PRINT; BEGIN singlequoteattributetext; return(NAMEATT);}
01714 YY_BREAK
01715
01716 case 27:
01717
01718 YY_RULE_SETUP
01719 #line 174 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01720 {YY_PRINT; return(OSILEND);}
01721 YY_BREAK
01722 case 28:
01723
01724 YY_RULE_SETUP
01725 #line 175 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01726 {YY_PRINT; return(INSTANCEDATAEND);}
01727 YY_BREAK
01728 case 29:
01729
01730 YY_RULE_SETUP
01731 #line 176 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01732 {YY_PRINT; return(QUADRATICCOEFFICIENTSSTART);}
01733 YY_BREAK
01734 case 30:
01735
01736 YY_RULE_SETUP
01737 #line 177 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01738 {YY_PRINT; return(QUADRATICCOEFFICIENTSEND);}
01739 YY_BREAK
01740 case 31:
01741
01742 YY_RULE_SETUP
01743 #line 178 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01744 {YY_PRINT; return(QTERMSTART);}
01745 YY_BREAK
01746 case 32:
01747
01748 YY_RULE_SETUP
01749 #line 179 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01750 {YY_PRINT; return(QTERMEND);}
01751 YY_BREAK
01752
01753 case 33:
01754
01755 YY_RULE_SETUP
01756 #line 182 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01757 {YY_PRINT; return(NONLINEAREXPRESSIONSSTART);}
01758 YY_BREAK
01759 case 34:
01760
01761 YY_RULE_SETUP
01762 #line 183 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01763 {YY_PRINT; return(NONLINEAREXPRESSIONSEND);}
01764 YY_BREAK
01765 case 35:
01766
01767 YY_RULE_SETUP
01768 #line 184 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01769 {YY_PRINT; return(NLSTART);}
01770 YY_BREAK
01771 case 36:
01772
01773 YY_RULE_SETUP
01774 #line 185 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01775 {YY_PRINT; return(NLEND);}
01776 YY_BREAK
01777 case 37:
01778
01779 YY_RULE_SETUP
01780 #line 186 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01781 {YY_PRINT; return(TIMESSTART);}
01782 YY_BREAK
01783 case 38:
01784
01785 YY_RULE_SETUP
01786 #line 187 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01787 {YY_PRINT; return(TIMESEND);}
01788 YY_BREAK
01789 case 39:
01790
01791 YY_RULE_SETUP
01792 #line 188 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01793 {YY_PRINT; return(DIVIDESTART);}
01794 YY_BREAK
01795 case 40:
01796
01797 YY_RULE_SETUP
01798 #line 189 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01799 {YY_PRINT; return(DIVIDEEND);}
01800 YY_BREAK
01801 case 41:
01802
01803 YY_RULE_SETUP
01804 #line 190 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01805 {YY_PRINT; return(PLUSSTART);}
01806 YY_BREAK
01807 case 42:
01808
01809 YY_RULE_SETUP
01810 #line 191 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01811 {YY_PRINT; return(PLUSEND);}
01812 YY_BREAK
01813 case 43:
01814
01815 YY_RULE_SETUP
01816 #line 192 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01817 {YY_PRINT; return(MINUSSTART);}
01818 YY_BREAK
01819 case 44:
01820
01821 YY_RULE_SETUP
01822 #line 193 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01823 {YY_PRINT; return(MINUSEND);}
01824 YY_BREAK
01825 case 45:
01826
01827 YY_RULE_SETUP
01828 #line 194 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01829 {YY_PRINT; return(NEGATESTART);}
01830 YY_BREAK
01831 case 46:
01832
01833 YY_RULE_SETUP
01834 #line 195 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01835 {YY_PRINT; return(NEGATEEND);}
01836 YY_BREAK
01837 case 47:
01838
01839 YY_RULE_SETUP
01840 #line 196 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01841 {YY_PRINT; return(POWERSTART);}
01842 YY_BREAK
01843 case 48:
01844
01845 YY_RULE_SETUP
01846 #line 197 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01847 {YY_PRINT; return(POWEREND);}
01848 YY_BREAK
01849 case 49:
01850
01851 YY_RULE_SETUP
01852 #line 198 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01853 {YY_PRINT; return(LNSTART);}
01854 YY_BREAK
01855 case 50:
01856
01857 YY_RULE_SETUP
01858 #line 199 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01859 {YY_PRINT; return(LNEND);}
01860 YY_BREAK
01861 case 51:
01862
01863 YY_RULE_SETUP
01864 #line 200 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01865 {YY_PRINT; return(SQRTSTART);}
01866 YY_BREAK
01867 case 52:
01868
01869 YY_RULE_SETUP
01870 #line 201 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01871 {YY_PRINT; return(SQRTEND);}
01872 YY_BREAK
01873 case 53:
01874
01875 YY_RULE_SETUP
01876 #line 202 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01877 {YY_PRINT; return(SQUARESTART);}
01878 YY_BREAK
01879 case 54:
01880
01881 YY_RULE_SETUP
01882 #line 203 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01883 {YY_PRINT; return(SQUAREEND);}
01884 YY_BREAK
01885 case 55:
01886
01887 YY_RULE_SETUP
01888 #line 204 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01889 {YY_PRINT; return(SINSTART);}
01890 YY_BREAK
01891 case 56:
01892
01893 YY_RULE_SETUP
01894 #line 205 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01895 {YY_PRINT; return(SINEND);}
01896 YY_BREAK
01897 case 57:
01898
01899 YY_RULE_SETUP
01900 #line 206 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01901 {YY_PRINT; return(COSSTART);}
01902 YY_BREAK
01903 case 58:
01904
01905 YY_RULE_SETUP
01906 #line 207 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01907 {YY_PRINT; return(COSEND);}
01908 YY_BREAK
01909 case 59:
01910
01911 YY_RULE_SETUP
01912 #line 208 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01913 {YY_PRINT; return(EXPSTART);}
01914 YY_BREAK
01915 case 60:
01916
01917 YY_RULE_SETUP
01918 #line 209 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01919 {YY_PRINT; return(EXPEND);}
01920 YY_BREAK
01921 case 61:
01922
01923 YY_RULE_SETUP
01924 #line 210 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01925 {YY_PRINT; return(ABSSTART);}
01926 YY_BREAK
01927 case 62:
01928
01929 YY_RULE_SETUP
01930 #line 211 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01931 {YY_PRINT; return(ABSEND);}
01932 YY_BREAK
01933 case 63:
01934
01935 YY_RULE_SETUP
01936 #line 212 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01937 {YY_PRINT; return(ERFSTART);}
01938 YY_BREAK
01939 case 64:
01940
01941 YY_RULE_SETUP
01942 #line 213 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01943 {YY_PRINT; return(ERFEND);}
01944 YY_BREAK
01945 case 65:
01946
01947 YY_RULE_SETUP
01948 #line 214 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01949 {YY_PRINT; return(IFSTART);}
01950 YY_BREAK
01951 case 66:
01952
01953 YY_RULE_SETUP
01954 #line 215 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01955 {YY_PRINT; return(IFEND);}
01956 YY_BREAK
01957 case 67:
01958
01959 YY_RULE_SETUP
01960 #line 216 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01961 {YY_PRINT; return(MAXSTART);}
01962 YY_BREAK
01963 case 68:
01964
01965 YY_RULE_SETUP
01966 #line 217 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01967 {YY_PRINT; return(MAXEND);}
01968 YY_BREAK
01969 case 69:
01970
01971 YY_RULE_SETUP
01972 #line 218 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01973 {YY_PRINT; return(MINSTART);}
01974 YY_BREAK
01975 case 70:
01976
01977 YY_RULE_SETUP
01978 #line 219 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01979 {YY_PRINT; return(MINEND);}
01980 YY_BREAK
01981 case 71:
01982
01983 YY_RULE_SETUP
01984 #line 220 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01985 {YY_PRINT; return(SUMSTART);}
01986 YY_BREAK
01987 case 72:
01988
01989 YY_RULE_SETUP
01990 #line 221 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01991 {YY_PRINT; return(SUMEND);}
01992 YY_BREAK
01993 case 73:
01994
01995 YY_RULE_SETUP
01996 #line 222 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
01997 {YY_PRINT; return(ALLDIFFSTART);}
01998 YY_BREAK
01999 case 74:
02000
02001 YY_RULE_SETUP
02002 #line 223 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02003 {YY_PRINT; return(ALLDIFFEND);}
02004 YY_BREAK
02005 case 75:
02006
02007 YY_RULE_SETUP
02008 #line 224 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02009 {YY_PRINT; return(PRODUCTSTART);}
02010 YY_BREAK
02011 case 76:
02012
02013 YY_RULE_SETUP
02014 #line 225 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02015 {YY_PRINT; return(PRODUCTEND);}
02016 YY_BREAK
02017 case 77:
02018
02019 YY_RULE_SETUP
02020 #line 227 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02021 {YY_PRINT; return(NUMBERSTART);}
02022 YY_BREAK
02023 case 78:
02024
02025 YY_RULE_SETUP
02026 #line 228 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02027 {YY_PRINT; return(NUMBEREND);}
02028 YY_BREAK
02029 case 79:
02030
02031 YY_RULE_SETUP
02032 #line 229 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02033 {YY_PRINT; return(ESTART);}
02034 YY_BREAK
02035 case 80:
02036
02037 YY_RULE_SETUP
02038 #line 230 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02039 {YY_PRINT; return(EEND);}
02040 YY_BREAK
02041 case 81:
02042
02043 YY_RULE_SETUP
02044 #line 231 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02045 {YY_PRINT; return(PISTART);}
02046 YY_BREAK
02047 case 82:
02048
02049 YY_RULE_SETUP
02050 #line 232 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02051 {YY_PRINT; return(PIEND);}
02052 YY_BREAK
02053 case 83:
02054
02055 YY_RULE_SETUP
02056 #line 233 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02057 {YY_PRINT; return(VARIABLESTART);}
02058 YY_BREAK
02059 case 84:
02060
02061 YY_RULE_SETUP
02062 #line 234 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02063 {YY_PRINT; return(VARIABLEEND);}
02064 YY_BREAK
02065
02066 case 85:
02067
02068 YY_RULE_SETUP
02069 #line 237 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02070 {YY_PRINT; return(TIMEDOMAINSTART);}
02071 YY_BREAK
02072 case 86:
02073
02074 YY_RULE_SETUP
02075 #line 238 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02076 {YY_PRINT; return(TIMEDOMAINEND);}
02077 YY_BREAK
02078 case 87:
02079
02080 YY_RULE_SETUP
02081 #line 239 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02082 {YY_PRINT; return(STAGESSTART);}
02083 YY_BREAK
02084 case 88:
02085
02086 YY_RULE_SETUP
02087 #line 240 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02088 {YY_PRINT; return(STAGESEND);}
02089 YY_BREAK
02090 case 89:
02091
02092 YY_RULE_SETUP
02093 #line 241 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02094 {YY_PRINT; return(STAGESTART);}
02095 YY_BREAK
02096 case 90:
02097
02098 YY_RULE_SETUP
02099 #line 242 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02100 {YY_PRINT; return(STAGEEND);}
02101 YY_BREAK
02102 case 91:
02103
02104 YY_RULE_SETUP
02105 #line 243 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02106 {YY_PRINT; return(VARIABLESSTART);}
02107 YY_BREAK
02108 case 92:
02109
02110 YY_RULE_SETUP
02111 #line 244 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02112 {YY_PRINT; return(VARIABLESEND);}
02113 YY_BREAK
02114 case 93:
02115
02116 YY_RULE_SETUP
02117 #line 245 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02118 {YY_PRINT; return(CONSTRAINTSSTART);}
02119 YY_BREAK
02120 case 94:
02121
02122 YY_RULE_SETUP
02123 #line 246 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02124 {YY_PRINT; return(CONSTRAINTSEND);}
02125 YY_BREAK
02126 case 95:
02127
02128 YY_RULE_SETUP
02129 #line 247 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02130 {YY_PRINT; return(OBJECTIVESSTART);}
02131 YY_BREAK
02132 case 96:
02133
02134 YY_RULE_SETUP
02135 #line 248 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02136 {YY_PRINT; return(OBJECTIVESEND);}
02137 YY_BREAK
02138 case 97:
02139
02140 YY_RULE_SETUP
02141 #line 249 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02142 {YY_PRINT; return(VARSTART);}
02143 YY_BREAK
02144 case 98:
02145
02146 YY_RULE_SETUP
02147 #line 250 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02148 {YY_PRINT; return(VAREND);}
02149 YY_BREAK
02150 case 99:
02151
02152 YY_RULE_SETUP
02153 #line 251 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02154 {YY_PRINT; return(CONSTART);}
02155 YY_BREAK
02156 case 100:
02157
02158 YY_RULE_SETUP
02159 #line 252 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02160 {YY_PRINT; return(CONEND);}
02161 YY_BREAK
02162 case 101:
02163
02164 YY_RULE_SETUP
02165 #line 253 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02166 {YY_PRINT; return(OBJSTART);}
02167 YY_BREAK
02168 case 102:
02169
02170 YY_RULE_SETUP
02171 #line 254 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02172 {YY_PRINT; return(OBJEND);}
02173 YY_BREAK
02174 case 103:
02175
02176 YY_RULE_SETUP
02177 #line 255 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02178 {YY_PRINT; return(INTERVALSTART);}
02179 YY_BREAK
02180 case 104:
02181
02182 YY_RULE_SETUP
02183 #line 256 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02184 {YY_PRINT; return(INTERVALEND);}
02185 YY_BREAK
02186
02187
02188
02189
02190
02191
02192 case 105:
02193 YY_RULE_SETUP
02194 #line 266 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02195 BEGIN comment;
02196 YY_BREAK
02197 case 106:
02198 #line 268 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02199 case 107:
02200
02201 YY_RULE_SETUP
02202 #line 268 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02203 ;
02204 YY_BREAK
02205 case 108:
02206 YY_RULE_SETUP
02207 #line 269 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02208 BEGIN 0;
02209 YY_BREAK
02210 case 109:
02211 YY_RULE_SETUP
02212 #line 271 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02213 BEGIN xmldeclaration;
02214 YY_BREAK
02215 case 110:
02216 #line 273 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02217 case 111:
02218
02219 YY_RULE_SETUP
02220 #line 273 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02221 ;
02222 YY_BREAK
02223 case 112:
02224 YY_RULE_SETUP
02225 #line 274 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02226 BEGIN 0;
02227 YY_BREAK
02228 case 113:
02229
02230 YY_RULE_SETUP
02231 #line 277 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02232 {YY_PRINT; BEGIN 0; yylval->sval = yytext; return(ATTRIBUTETEXT);}
02233 YY_BREAK
02234 case 114:
02235
02236 YY_RULE_SETUP
02237 #line 278 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02238 {YY_PRINT; BEGIN 0; yylval->sval = yytext; return(ATTRIBUTETEXT);}
02239 YY_BREAK
02240 case 115:
02241 YY_RULE_SETUP
02242 #line 280 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02243 {
02244 std::string error;
02245 std::ostringstream outStr;
02246 outStr << "encountered a spurious character in the lexer" << endl;
02247 outStr << "The first character is: ";
02248 outStr << yytext;
02249 outStr << endl;
02250 outStr << "See line number: " << yylineno << endl;
02251 error = outStr.str();
02252 throw ErrorClass( error);
02253 }
02254 YY_BREAK
02255 case 116:
02256 YY_RULE_SETUP
02257 #line 292 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
02258 ECHO;
02259 YY_BREAK
02260 #line 2261 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.cpp"
02261 case YY_STATE_EOF(INITIAL):
02262 case YY_STATE_EOF(doublequoteattributetext):
02263 case YY_STATE_EOF(singlequoteattributetext):
02264 case YY_STATE_EOF(startelement):
02265 case YY_STATE_EOF(osilattributetext):
02266 case YY_STATE_EOF(elementtext):
02267 case YY_STATE_EOF(comment):
02268 case YY_STATE_EOF(xmldeclaration):
02269 yyterminate();
02270
02271 case YY_END_OF_BUFFER:
02272 {
02273
02274 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
02275
02276
02277 *yy_cp = yyg->yy_hold_char;
02278 YY_RESTORE_YY_MORE_OFFSET
02279
02280 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
02281 {
02282
02283
02284
02285
02286
02287
02288
02289
02290
02291 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02292 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
02293 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
02294 }
02295
02296
02297
02298
02299
02300
02301
02302
02303 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02304 {
02305 yy_state_type yy_next_state;
02306
02307 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
02308
02309 yy_current_state = yy_get_previous_state( yyscanner );
02310
02311
02312
02313
02314
02315
02316
02317
02318
02319
02320 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
02321
02322 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02323
02324 if ( yy_next_state )
02325 {
02326
02327 yy_cp = ++yyg->yy_c_buf_p;
02328 yy_current_state = yy_next_state;
02329 goto yy_match;
02330 }
02331
02332 else
02333 {
02334 yy_cp = yyg->yy_c_buf_p;
02335 goto yy_find_action;
02336 }
02337 }
02338
02339 else switch ( yy_get_next_buffer( yyscanner ) )
02340 {
02341 case EOB_ACT_END_OF_FILE:
02342 {
02343 yyg->yy_did_buffer_switch_on_eof = 0;
02344
02345 if ( osilwrap(yyscanner ) )
02346 {
02347
02348
02349
02350
02351
02352
02353
02354
02355
02356 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
02357
02358 yy_act = YY_STATE_EOF(YY_START);
02359 goto do_action;
02360 }
02361
02362 else
02363 {
02364 if ( ! yyg->yy_did_buffer_switch_on_eof )
02365 YY_NEW_FILE;
02366 }
02367 break;
02368 }
02369
02370 case EOB_ACT_CONTINUE_SCAN:
02371 yyg->yy_c_buf_p =
02372 yyg->yytext_ptr + yy_amount_of_matched_text;
02373
02374 yy_current_state = yy_get_previous_state( yyscanner );
02375
02376 yy_cp = yyg->yy_c_buf_p;
02377 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02378 goto yy_match;
02379
02380 case EOB_ACT_LAST_MATCH:
02381 yyg->yy_c_buf_p =
02382 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
02383
02384 yy_current_state = yy_get_previous_state( yyscanner );
02385
02386 yy_cp = yyg->yy_c_buf_p;
02387 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02388 goto yy_find_action;
02389 }
02390 break;
02391 }
02392
02393 default:
02394 YY_FATAL_ERROR(
02395 "fatal flex scanner internal error--no action found" );
02396 }
02397 }
02398 }
02399
02400
02401
02402
02403
02404
02405
02406
02407 static int yy_get_next_buffer (yyscan_t yyscanner)
02408 {
02409 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02410 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02411 register char *source = yyg->yytext_ptr;
02412 register int number_to_move, i;
02413 int ret_val;
02414
02415 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
02416 YY_FATAL_ERROR(
02417 "fatal flex scanner internal error--end of buffer missed" );
02418
02419 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02420 {
02421 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
02422 {
02423
02424
02425
02426 return EOB_ACT_END_OF_FILE;
02427 }
02428
02429 else
02430 {
02431
02432
02433
02434 return EOB_ACT_LAST_MATCH;
02435 }
02436 }
02437
02438
02439
02440
02441 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
02442
02443 for ( i = 0; i < number_to_move; ++i )
02444 *(dest++) = *(source++);
02445
02446 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02447
02448
02449
02450 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
02451
02452 else
02453 {
02454 int num_to_read =
02455 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02456
02457 while ( num_to_read <= 0 )
02458 {
02459
02460
02461 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02462
02463 int yy_c_buf_p_offset =
02464 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
02465
02466 if ( b->yy_is_our_buffer )
02467 {
02468 int new_size = b->yy_buf_size * 2;
02469
02470 if ( new_size <= 0 )
02471 b->yy_buf_size += b->yy_buf_size / 8;
02472 else
02473 b->yy_buf_size *= 2;
02474
02475 b->yy_ch_buf = (char *)
02476
02477 osilrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
02478 }
02479 else
02480
02481 b->yy_ch_buf = 0;
02482
02483 if ( ! b->yy_ch_buf )
02484 YY_FATAL_ERROR(
02485 "fatal error - scanner input buffer overflow" );
02486
02487 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
02488
02489 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02490 number_to_move - 1;
02491
02492 }
02493
02494 if ( num_to_read > YY_READ_BUF_SIZE )
02495 num_to_read = YY_READ_BUF_SIZE;
02496
02497
02498 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02499 yyg->yy_n_chars, (size_t) num_to_read );
02500
02501 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02502 }
02503
02504 if ( yyg->yy_n_chars == 0 )
02505 {
02506 if ( number_to_move == YY_MORE_ADJ )
02507 {
02508 ret_val = EOB_ACT_END_OF_FILE;
02509 osilrestart(yyin ,yyscanner);
02510 }
02511
02512 else
02513 {
02514 ret_val = EOB_ACT_LAST_MATCH;
02515 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02516 YY_BUFFER_EOF_PENDING;
02517 }
02518 }
02519
02520 else
02521 ret_val = EOB_ACT_CONTINUE_SCAN;
02522
02523 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
02524
02525 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
02526 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osilrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
02527 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02528 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
02529 }
02530
02531 yyg->yy_n_chars += number_to_move;
02532 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02533 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02534
02535 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02536
02537 return ret_val;
02538 }
02539
02540
02541
02542 static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02543 {
02544 register yy_state_type yy_current_state;
02545 register char *yy_cp;
02546 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02547
02548 yy_current_state = yyg->yy_start;
02549
02550 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02551 {
02552 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02553 if ( yy_accept[yy_current_state] )
02554 {
02555 yyg->yy_last_accepting_state = yy_current_state;
02556 yyg->yy_last_accepting_cpos = yy_cp;
02557 }
02558 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02559 {
02560 yy_current_state = (int) yy_def[yy_current_state];
02561 if ( yy_current_state >= 776 )
02562 yy_c = yy_meta[(unsigned int) yy_c];
02563 }
02564 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02565 }
02566
02567 return yy_current_state;
02568 }
02569
02570
02571
02572
02573
02574
02575 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
02576 {
02577 register int yy_is_jam;
02578 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02579 register char *yy_cp = yyg->yy_c_buf_p;
02580
02581 register YY_CHAR yy_c = 1;
02582 if ( yy_accept[yy_current_state] )
02583 {
02584 yyg->yy_last_accepting_state = yy_current_state;
02585 yyg->yy_last_accepting_cpos = yy_cp;
02586 }
02587 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02588 {
02589 yy_current_state = (int) yy_def[yy_current_state];
02590 if ( yy_current_state >= 776 )
02591 yy_c = yy_meta[(unsigned int) yy_c];
02592 }
02593 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02594 yy_is_jam = (yy_current_state == 775);
02595
02596 return yy_is_jam ? 0 : yy_current_state;
02597 }
02598
02599 #ifndef YY_NO_INPUT
02600 #ifdef __cplusplus
02601 static int yyinput (yyscan_t yyscanner)
02602 #else
02603 static int input (yyscan_t yyscanner)
02604 #endif
02605
02606 {
02607 int c;
02608 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02609
02610 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02611
02612 if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02613 {
02614
02615
02616
02617
02618 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02619
02620 *yyg->yy_c_buf_p = '\0';
02621
02622 else
02623 {
02624 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02625 ++yyg->yy_c_buf_p;
02626
02627 switch ( yy_get_next_buffer( yyscanner ) )
02628 {
02629 case EOB_ACT_LAST_MATCH:
02630
02631
02632
02633
02634
02635
02636
02637
02638
02639
02640
02641 osilrestart(yyin ,yyscanner);
02642
02643
02644
02645 case EOB_ACT_END_OF_FILE:
02646 {
02647 if ( osilwrap(yyscanner ) )
02648 return EOF;
02649
02650 if ( ! yyg->yy_did_buffer_switch_on_eof )
02651 YY_NEW_FILE;
02652 #ifdef __cplusplus
02653 return yyinput(yyscanner);
02654 #else
02655 return input(yyscanner);
02656 #endif
02657 }
02658
02659 case EOB_ACT_CONTINUE_SCAN:
02660 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02661 break;
02662 }
02663 }
02664 }
02665
02666 c = *(unsigned char *) yyg->yy_c_buf_p;
02667 *yyg->yy_c_buf_p = '\0';
02668 yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02669
02670 if ( c == '\n' )
02671
02672 do{ yylineno++;
02673 yycolumn=0;
02674 }while(0)
02675 ;
02676
02677 return c;
02678 }
02679 #endif
02680
02686 void osilrestart (FILE * input_file , yyscan_t yyscanner)
02687 {
02688 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02689
02690 if ( ! YY_CURRENT_BUFFER ){
02691 osilensure_buffer_stack (yyscanner);
02692 YY_CURRENT_BUFFER_LVALUE =
02693 osil_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02694 }
02695
02696 osil_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02697 osil_load_buffer_state(yyscanner );
02698 }
02699
02704 void osil_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02705 {
02706 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02707
02708
02709
02710
02711
02712
02713 osilensure_buffer_stack (yyscanner);
02714 if ( YY_CURRENT_BUFFER == new_buffer )
02715 return;
02716
02717 if ( YY_CURRENT_BUFFER )
02718 {
02719
02720 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02721 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02722 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02723 }
02724
02725 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02726 osil_load_buffer_state(yyscanner );
02727
02728
02729
02730
02731
02732
02733 yyg->yy_did_buffer_switch_on_eof = 1;
02734 }
02735
02736 static void osil_load_buffer_state (yyscan_t yyscanner)
02737 {
02738 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02739 yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02740 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02741 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02742 yyg->yy_hold_char = *yyg->yy_c_buf_p;
02743 }
02744
02751 YY_BUFFER_STATE osil_create_buffer (FILE * file, int size , yyscan_t yyscanner)
02752 {
02753 YY_BUFFER_STATE b;
02754
02755 b = (YY_BUFFER_STATE) osilalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02756 if ( ! b )
02757 YY_FATAL_ERROR( "out of dynamic memory in osil_create_buffer()" );
02758
02759 b->yy_buf_size = size;
02760
02761
02762
02763
02764 b->yy_ch_buf = (char *) osilalloc(b->yy_buf_size + 2 ,yyscanner );
02765 if ( ! b->yy_ch_buf )
02766 YY_FATAL_ERROR( "out of dynamic memory in osil_create_buffer()" );
02767
02768 b->yy_is_our_buffer = 1;
02769
02770 osil_init_buffer(b,file ,yyscanner);
02771
02772 return b;
02773 }
02774
02779 void osil_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02780 {
02781 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02782
02783 if ( ! b )
02784 return;
02785
02786 if ( b == YY_CURRENT_BUFFER )
02787 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02788
02789 if ( b->yy_is_our_buffer )
02790 osilfree((void *) b->yy_ch_buf ,yyscanner );
02791
02792 osilfree((void *) b ,yyscanner );
02793 }
02794
02795 #ifndef __cplusplus
02796 extern int isatty (int );
02797 #endif
02798
02799
02800
02801
02802
02803 static void osil_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
02804
02805 {
02806 int oerrno = errno;
02807 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02808
02809 osil_flush_buffer(b ,yyscanner);
02810
02811 b->yy_input_file = file;
02812 b->yy_fill_buffer = 1;
02813
02814
02815
02816
02817
02818 if (b != YY_CURRENT_BUFFER){
02819 b->yy_bs_lineno = 1;
02820 b->yy_bs_column = 0;
02821 }
02822
02823 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02824
02825 errno = oerrno;
02826 }
02827
02832 void osil_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
02833 {
02834 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02835 if ( ! b )
02836 return;
02837
02838 b->yy_n_chars = 0;
02839
02840
02841
02842
02843
02844 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02845 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02846
02847 b->yy_buf_pos = &b->yy_ch_buf[0];
02848
02849 b->yy_at_bol = 1;
02850 b->yy_buffer_status = YY_BUFFER_NEW;
02851
02852 if ( b == YY_CURRENT_BUFFER )
02853 osil_load_buffer_state(yyscanner );
02854 }
02855
02862 void osilpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02863 {
02864 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02865 if (new_buffer == NULL)
02866 return;
02867
02868 osilensure_buffer_stack(yyscanner);
02869
02870
02871 if ( YY_CURRENT_BUFFER )
02872 {
02873
02874 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02875 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02876 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02877 }
02878
02879
02880 if (YY_CURRENT_BUFFER)
02881 yyg->yy_buffer_stack_top++;
02882 YY_CURRENT_BUFFER_LVALUE = new_buffer;
02883
02884
02885 osil_load_buffer_state(yyscanner );
02886 yyg->yy_did_buffer_switch_on_eof = 1;
02887 }
02888
02893 void osilpop_buffer_state (yyscan_t yyscanner)
02894 {
02895 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02896 if (!YY_CURRENT_BUFFER)
02897 return;
02898
02899 osil_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02900 YY_CURRENT_BUFFER_LVALUE = NULL;
02901 if (yyg->yy_buffer_stack_top > 0)
02902 --yyg->yy_buffer_stack_top;
02903
02904 if (YY_CURRENT_BUFFER) {
02905 osil_load_buffer_state(yyscanner );
02906 yyg->yy_did_buffer_switch_on_eof = 1;
02907 }
02908 }
02909
02910
02911
02912
02913 static void osilensure_buffer_stack (yyscan_t yyscanner)
02914 {
02915 int num_to_alloc;
02916 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02917
02918 if (!yyg->yy_buffer_stack) {
02919
02920
02921
02922
02923
02924 num_to_alloc = 1;
02925 yyg->yy_buffer_stack = (struct yy_buffer_state**)osilalloc
02926 (num_to_alloc * sizeof(struct yy_buffer_state*)
02927 , yyscanner);
02928 if ( ! yyg->yy_buffer_stack )
02929 YY_FATAL_ERROR( "out of dynamic memory in osilensure_buffer_stack()" );
02930
02931 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02932
02933 yyg->yy_buffer_stack_max = num_to_alloc;
02934 yyg->yy_buffer_stack_top = 0;
02935 return;
02936 }
02937
02938 if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02939
02940
02941 int grow_size = 8 ;
02942
02943 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02944 yyg->yy_buffer_stack = (struct yy_buffer_state**)osilrealloc
02945 (yyg->yy_buffer_stack,
02946 num_to_alloc * sizeof(struct yy_buffer_state*)
02947 , yyscanner);
02948 if ( ! yyg->yy_buffer_stack )
02949 YY_FATAL_ERROR( "out of dynamic memory in osilensure_buffer_stack()" );
02950
02951
02952 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02953 yyg->yy_buffer_stack_max = num_to_alloc;
02954 }
02955 }
02956
02963 YY_BUFFER_STATE osil_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
02964 {
02965 YY_BUFFER_STATE b;
02966
02967 if ( size < 2 ||
02968 base[size-2] != YY_END_OF_BUFFER_CHAR ||
02969 base[size-1] != YY_END_OF_BUFFER_CHAR )
02970
02971 return 0;
02972
02973 b = (YY_BUFFER_STATE) osilalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02974 if ( ! b )
02975 YY_FATAL_ERROR( "out of dynamic memory in osil_scan_buffer()" );
02976
02977 b->yy_buf_size = size - 2;
02978 b->yy_buf_pos = b->yy_ch_buf = base;
02979 b->yy_is_our_buffer = 0;
02980 b->yy_input_file = 0;
02981 b->yy_n_chars = b->yy_buf_size;
02982 b->yy_is_interactive = 0;
02983 b->yy_at_bol = 1;
02984 b->yy_fill_buffer = 0;
02985 b->yy_buffer_status = YY_BUFFER_NEW;
02986
02987 osil_switch_to_buffer(b ,yyscanner );
02988
02989 return b;
02990 }
02991
03000 YY_BUFFER_STATE osil_scan_string (yyconst char * yystr , yyscan_t yyscanner)
03001 {
03002
03003 return osil_scan_bytes(yystr,strlen(yystr) ,yyscanner);
03004 }
03005
03013 YY_BUFFER_STATE osil_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
03014 {
03015 YY_BUFFER_STATE b;
03016 char *buf;
03017 yy_size_t n;
03018 int i;
03019
03020
03021 n = _yybytes_len + 2;
03022 buf = (char *) osilalloc(n ,yyscanner );
03023 if ( ! buf )
03024 YY_FATAL_ERROR( "out of dynamic memory in osil_scan_bytes()" );
03025
03026 for ( i = 0; i < _yybytes_len; ++i )
03027 buf[i] = yybytes[i];
03028
03029 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
03030
03031 b = osil_scan_buffer(buf,n ,yyscanner);
03032 if ( ! b )
03033 YY_FATAL_ERROR( "bad buffer in osil_scan_bytes()" );
03034
03035
03036
03037
03038 b->yy_is_our_buffer = 1;
03039
03040 return b;
03041 }
03042
03043 #ifndef YY_EXIT_FAILURE
03044 #define YY_EXIT_FAILURE 2
03045 #endif
03046
03047 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
03048 {
03049 (void) fprintf( stderr, "%s\n", msg );
03050 exit( YY_EXIT_FAILURE );
03051 }
03052
03053
03054
03055 #undef yyless
03056 #define yyless(n) \
03057 do \
03058 { \
03059 \
03060 int yyless_macro_arg = (n); \
03061 YY_LESS_LINENO(yyless_macro_arg);\
03062 yytext[yyleng] = yyg->yy_hold_char; \
03063 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
03064 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
03065 *yyg->yy_c_buf_p = '\0'; \
03066 yyleng = yyless_macro_arg; \
03067 } \
03068 while ( 0 )
03069
03070
03071
03075 YY_EXTRA_TYPE osilget_extra (yyscan_t yyscanner)
03076 {
03077 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03078 return yyextra;
03079 }
03080
03084 int osilget_lineno (yyscan_t yyscanner)
03085 {
03086 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03087
03088 if (! YY_CURRENT_BUFFER)
03089 return 0;
03090
03091 return yylineno;
03092 }
03093
03097 int osilget_column (yyscan_t yyscanner)
03098 {
03099 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03100
03101 if (! YY_CURRENT_BUFFER)
03102 return 0;
03103
03104 return yycolumn;
03105 }
03106
03110 FILE *osilget_in (yyscan_t yyscanner)
03111 {
03112 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03113 return yyin;
03114 }
03115
03119 FILE *osilget_out (yyscan_t yyscanner)
03120 {
03121 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03122 return yyout;
03123 }
03124
03128 int osilget_leng (yyscan_t yyscanner)
03129 {
03130 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03131 return yyleng;
03132 }
03133
03138 char *osilget_text (yyscan_t yyscanner)
03139 {
03140 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03141 return yytext;
03142 }
03143
03148 void osilset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
03149 {
03150 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03151 yyextra = user_defined ;
03152 }
03153
03158 void osilset_lineno (int line_number , yyscan_t yyscanner)
03159 {
03160 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03161
03162
03163 if (! YY_CURRENT_BUFFER )
03164 yy_fatal_error( "osilset_lineno called with no buffer" , yyscanner);
03165
03166 yylineno = line_number;
03167 }
03168
03173 void osilset_column (int column_no , yyscan_t yyscanner)
03174 {
03175 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03176
03177
03178 if (! YY_CURRENT_BUFFER )
03179 yy_fatal_error( "osilset_column called with no buffer" , yyscanner);
03180
03181 yycolumn = column_no;
03182 }
03183
03190 void osilset_in (FILE * in_str , yyscan_t yyscanner)
03191 {
03192 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03193 yyin = in_str ;
03194 }
03195
03196 void osilset_out (FILE * out_str , yyscan_t yyscanner)
03197 {
03198 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03199 yyout = out_str ;
03200 }
03201
03202 int osilget_debug (yyscan_t yyscanner)
03203 {
03204 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03205 return yy_flex_debug;
03206 }
03207
03208 void osilset_debug (int bdebug , yyscan_t yyscanner)
03209 {
03210 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03211 yy_flex_debug = bdebug ;
03212 }
03213
03214
03215
03216 YYSTYPE * osilget_lval (yyscan_t yyscanner)
03217 {
03218 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03219 return yylval;
03220 }
03221
03222 void osilset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
03223 {
03224 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03225 yylval = yylval_param;
03226 }
03227
03228 YYLTYPE *osilget_lloc (yyscan_t yyscanner)
03229 {
03230 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03231 return yylloc;
03232 }
03233
03234 void osilset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
03235 {
03236 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03237 yylloc = yylloc_param;
03238 }
03239
03240
03241
03242
03243
03244
03245
03246
03247 int osillex_init(yyscan_t* ptr_yy_globals)
03248
03249 {
03250 if (ptr_yy_globals == NULL){
03251 errno = EINVAL;
03252 return 1;
03253 }
03254
03255 *ptr_yy_globals = (yyscan_t) osilalloc ( sizeof( struct yyguts_t ), NULL );
03256
03257 if (*ptr_yy_globals == NULL){
03258 errno = ENOMEM;
03259 return 1;
03260 }
03261
03262
03263 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
03264
03265 return yy_init_globals ( *ptr_yy_globals );
03266 }
03267
03268
03269
03270
03271
03272
03273
03274
03275
03276 int osillex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
03277
03278 {
03279 struct yyguts_t dummy_yyguts;
03280
03281 osilset_extra (yy_user_defined, &dummy_yyguts);
03282
03283 if (ptr_yy_globals == NULL){
03284 errno = EINVAL;
03285 return 1;
03286 }
03287
03288 *ptr_yy_globals = (yyscan_t) osilalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
03289
03290 if (*ptr_yy_globals == NULL){
03291 errno = ENOMEM;
03292 return 1;
03293 }
03294
03295
03296
03297 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
03298
03299 osilset_extra (yy_user_defined, *ptr_yy_globals);
03300
03301 return yy_init_globals ( *ptr_yy_globals );
03302 }
03303
03304 static int yy_init_globals (yyscan_t yyscanner)
03305 {
03306 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03307
03308
03309
03310
03311 yyg->yy_buffer_stack = 0;
03312 yyg->yy_buffer_stack_top = 0;
03313 yyg->yy_buffer_stack_max = 0;
03314 yyg->yy_c_buf_p = (char *) 0;
03315 yyg->yy_init = 0;
03316 yyg->yy_start = 0;
03317
03318 yyg->yy_start_stack_ptr = 0;
03319 yyg->yy_start_stack_depth = 0;
03320 yyg->yy_start_stack = NULL;
03321
03322
03323 #ifdef YY_STDINIT
03324 yyin = stdin;
03325 yyout = stdout;
03326 #else
03327 yyin = (FILE *) 0;
03328 yyout = (FILE *) 0;
03329 #endif
03330
03331
03332
03333
03334 return 0;
03335 }
03336
03337
03338 int osillex_destroy (yyscan_t yyscanner)
03339 {
03340 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03341
03342
03343 while(YY_CURRENT_BUFFER){
03344 osil_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
03345 YY_CURRENT_BUFFER_LVALUE = NULL;
03346 osilpop_buffer_state(yyscanner);
03347 }
03348
03349
03350 osilfree(yyg->yy_buffer_stack ,yyscanner);
03351 yyg->yy_buffer_stack = NULL;
03352
03353
03354 osilfree(yyg->yy_start_stack ,yyscanner );
03355 yyg->yy_start_stack = NULL;
03356
03357
03358
03359 yy_init_globals( yyscanner);
03360
03361
03362 osilfree ( yyscanner , yyscanner );
03363 yyscanner = NULL;
03364 return 0;
03365 }
03366
03367
03368
03369
03370
03371 #ifndef yytext_ptr
03372 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
03373 {
03374 register int i;
03375 for ( i = 0; i < n; ++i )
03376 s1[i] = s2[i];
03377 }
03378 #endif
03379
03380 #ifdef YY_NEED_STRLEN
03381 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
03382 {
03383 register int n;
03384 for ( n = 0; s[n]; ++n )
03385 ;
03386
03387 return n;
03388 }
03389 #endif
03390
03391 void *osilalloc (yy_size_t size , yyscan_t yyscanner)
03392 {
03393 return (void *) malloc( size );
03394 }
03395
03396 void *osilrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
03397 {
03398
03399
03400
03401
03402
03403
03404
03405 return (void *) realloc( (char *) ptr, size );
03406 }
03407
03408 void osilfree (void * ptr , yyscan_t yyscanner)
03409 {
03410 free( (char *) ptr );
03411 }
03412
03413 #define YYTABLES_NAME "yytables"
03414
03415 #line 292 "/home/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosil.l"
03416
03417
03418
03419