/home/coin/SVN-release/OS-2.4.1/OS/src/OSParsers/OSParseosol.cpp

Go to the documentation of this file.
00001 #line 2 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.cpp"
00002 
00003 #line 4 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.cpp"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
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 /* First, we deal with  platform-specific or compiler-specific issues. */
00018 
00019 /* begin standard C headers. */
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024 
00025 /* end standard C headers. */
00026 
00027 /* flex integer type definitions */
00028 
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031 
00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00033 
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035 
00036 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00037  * if you want the limit (max/min) macros for int types. 
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 /* Limits of integral types. */
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 /* ! C99 */
00088 
00089 #endif /* ! FLEXINT_H */
00090 
00091 #ifdef __cplusplus
00092 
00093 /* The "const" storage-class-modifier is valid. */
00094 #define YY_USE_CONST
00095 
00096 #else   /* ! __cplusplus */
00097 
00098 /* C99 requires __STDC__ to be defined as 1. */
00099 #if defined (__STDC__)
00100 
00101 #define YY_USE_CONST
00102 
00103 #endif  /* defined (__STDC__) */
00104 #endif  /* ! __cplusplus */
00105 
00106 #ifdef YY_USE_CONST
00107 #define yyconst const
00108 #else
00109 #define yyconst
00110 #endif
00111 
00112 /* Returned upon end-of-file. */
00113 #define YY_NULL 0
00114 
00115 /* Promotes a possibly negative, possibly signed char to an unsigned
00116  * integer for use as an array index.  If the signed char is negative,
00117  * we want to instead treat it as an 8-bit unsigned char, hence the
00118  * double cast.
00119  */
00120 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00121 
00122 /* An opaque pointer. */
00123 #ifndef YY_TYPEDEF_YY_SCANNER_T
00124 #define YY_TYPEDEF_YY_SCANNER_T
00125 typedef void* yyscan_t;
00126 #endif
00127 
00128 /* For convenience, these vars (plus the bison vars far below)
00129    are macros in the reentrant scanner. */
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 /* Enter a start condition.  This macro really ought to take a parameter,
00140  * but we do it the disgusting crufty way forced on us by the ()-less
00141  * definition of BEGIN.
00142  */
00143 #define BEGIN yyg->yy_start = 1 + 2 *
00144 
00145 /* Translate the current start state into a value that can be later handed
00146  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00147  * compatibility.
00148  */
00149 #define YY_START ((yyg->yy_start - 1) / 2)
00150 #define YYSTATE YY_START
00151 
00152 /* Action number for EOF rule of a given start state. */
00153 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00154 
00155 /* Special action meaning "start processing a new file". */
00156 #define YY_NEW_FILE osolrestart(yyin ,yyscanner )
00157 
00158 #define YY_END_OF_BUFFER_CHAR 0
00159 
00160 /* Size of default input buffer. */
00161 #ifndef YY_BUF_SIZE
00162 #ifdef __ia64__
00163 /* On IA-64, the buffer size is 16k, not 8k.
00164  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
00165  * Ditto for the __ia64__ case accordingly.
00166  */
00167 #define YY_BUF_SIZE 32768
00168 #else
00169 #define YY_BUF_SIZE 16384
00170 #endif /* __ia64__ */
00171 #endif
00172 
00173 /* The state buf must be large enough to hold one state per character in the main buffer.
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     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
00187      *       access to the local variable yy_act. Since yyless() is a macro, it would break
00188      *       existing scanners that call yyless() from OUTSIDE osollex. 
00189      *       One obvious solution it to make yy_act a global. I tried that, and saw
00190      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
00191      *       normally declared as a register variable-- so it is not worth it.
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 /* Return all but the first "n" matched characters back to the input stream. */
00202 #define yyless(n) \
00203         do \
00204                 { \
00205                 /* Undo effects of setting up yytext. */ \
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; /* set up yytext again */ \
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;                /* input buffer */
00229         char *yy_buf_pos;               /* current position in input buffer */
00230 
00231         /* Size of input buffer in bytes, not including room for EOB
00232          * characters.
00233          */
00234         yy_size_t yy_buf_size;
00235 
00236         /* Number of characters read into yy_ch_buf, not including EOB
00237          * characters.
00238          */
00239         int yy_n_chars;
00240 
00241         /* Whether we "own" the buffer - i.e., we know we created it,
00242          * and can realloc() it to grow it, and should free() it to
00243          * delete it.
00244          */
00245         int yy_is_our_buffer;
00246 
00247         /* Whether this is an "interactive" input source; if so, and
00248          * if we're using stdio for input, then we want to use getc()
00249          * instead of fread(), to make sure we stop fetching input after
00250          * each newline.
00251          */
00252         int yy_is_interactive;
00253 
00254         /* Whether we're considered to be at the beginning of a line.
00255          * If so, '^' rules will be active on the next match, otherwise
00256          * not.
00257          */
00258         int yy_at_bol;
00259 
00260     int yy_bs_lineno; 
00261     int yy_bs_column; 
00263         /* Whether to try to fill the input buffer when we reach the
00264          * end of it.
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         /* When an EOF's been seen but there's still some text to process
00273          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00274          * shouldn't try reading from the input source any more.  We might
00275          * still have a bunch of tokens to match, though, because of
00276          * possible backing-up.
00277          *
00278          * When we actually see the EOF, we change the status to "new"
00279          * (via osolrestart()), so that the user can continue scanning by
00280          * just pointing yyin at a new input file.
00281          */
00282 #define YY_BUFFER_EOF_PENDING 2
00283 
00284         };
00285 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00286 
00287 /* We provide macros for accessing buffer states in case in the
00288  * future we want to put the buffer states in a more general
00289  * "scanner state".
00290  *
00291  * Returns the top of the stack, or NULL.
00292  */
00293 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00294                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00295                           : NULL)
00296 
00297 /* Same as previous macro, but useful when we know that the buffer stack is not
00298  * NULL or when we need an lvalue. For internal use only.
00299  */
00300 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00301 
00302 void osolrestart (FILE *input_file ,yyscan_t yyscanner );
00303 void osol_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00304 YY_BUFFER_STATE osol_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00305 void osol_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00306 void osol_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00307 void osolpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00308 void osolpop_buffer_state (yyscan_t yyscanner );
00309 
00310 static void osolensure_buffer_stack (yyscan_t yyscanner );
00311 static void osol_load_buffer_state (yyscan_t yyscanner );
00312 static void osol_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00313 
00314 #define YY_FLUSH_BUFFER osol_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00315 
00316 YY_BUFFER_STATE osol_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00317 YY_BUFFER_STATE osol_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00318 YY_BUFFER_STATE osol_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00319 
00320 void *osolalloc (yy_size_t ,yyscan_t yyscanner );
00321 void *osolrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00322 void osolfree (void * ,yyscan_t yyscanner );
00323 
00324 #define yy_new_buffer osol_create_buffer
00325 
00326 #define yy_set_interactive(is_interactive) \
00327         { \
00328         if ( ! YY_CURRENT_BUFFER ){ \
00329         osolensure_buffer_stack (yyscanner); \
00330                 YY_CURRENT_BUFFER_LVALUE =    \
00331             osol_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         osolensure_buffer_stack (yyscanner); \
00340                 YY_CURRENT_BUFFER_LVALUE =    \
00341             osol_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 /* Begin user sect3 */
00349 
00350 #define osolwrap(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 /* Done after the current pattern has been matched and before the
00365  * corresponding action - sets up yytext.
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 260
00375 #define YY_END_OF_BUFFER 261
00376 /* This struct is not used in this scanner,
00377    but its presence is necessary. */
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[2101] =
00384     {   0,
00385         1,    1,  258,  258,  256,  256,  257,  257,    0,    0,
00386         0,    0,    0,    0,    0,    0,    0,    0,  261,  259,
00387         1,    2,  246,    2,  246,    6,  246,    5,  259,    4,
00388       246,  246,    2,  258,  260,  256,  257,  247,  249,  250,
00389       249,  253,  254,  253,    1,  246,  246,    6,  246,    5,
00390         0,    4,  246,  246,  246,  246,  246,  246,  246,  246,
00391       246,  246,  246,  246,  246,  246,  246,    3,    6,    6,
00392       246,    7,    5,    0,    0,  252,    0,    0,    0,    0,
00393         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00394         0,    0,    0,    0,    0,    4,  246,  246,  258,  256,
00395 
00396       257,  247,    0,  255,  246,  246,  246,  246,  246,  246,
00397       246,  246,  246,  246,  246,  246,  246,  246,  246,  246,
00398       246,  246,  246,  246,  246,  246,    6,    0,    0,    0,
00399         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00400         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00401         0,    0,  134,    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         6,  251,  246,  246,  246,  246,  246,  246,  246,  246,
00405       246,  246,  246,  246,  246,  246,  246,  246,  246,  246,
00406 
00407       246,  246,  246,  246,  246,  246,  246,  248,    0,    0,
00408         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00409         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00410         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00411         0,    0,    0,    0,  212,    0,    0,    0,    0,    0,
00412         0,    0,    0,    0,    0,    0,    0,   96,    0,    0,
00413         0,    0,  204,    0,    0,    0,    0,    0,    0,    0,
00414         0,    0,    0,  196,    0,    0,    0,    0,    0,    0,
00415       198,  246,  246,  246,  246,  246,   27,  246,  246,  246,
00416       246,  246,  246,  246,  246,  246,  246,  246,  246,   78,
00417 
00418        79,  246,  246,  246,  246,  246,  246,  246,    0,    0,
00419         0,    0,    0,    0,    0,    0,  135,    0,    0,    0,
00420         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00421         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00422         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00423         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00424         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00425         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00426         0,  146,    0,    0,    0,    0,    0,    0,    0,    0,
00427       136,    0,    0,    0,  246,  246,  246,  246,  246,   27,
00428 
00429       246,   82,  246,  246,  246,  246,  246,   83,  246,  246,
00430       246,  246,  246,  246,  246,  246,  246,  246,  246,  246,
00431       246,  246,  246,    0,    0,    0,    0,    0,  213,    0,
00432         0,    0,    0,    0,  135,    0,    0,    0,    0,    0,
00433         0,    0,    0,    0,    0,   97,    0,    0,    0,    0,
00434         0,    0,    0,    0,  205,    0,    0,    0,    0,    0,
00435         0,    0,    0,    0,    0,    0,    0,  197,    0,    0,
00436         0,    0,    0,    0,    0,    0,  199,    0,    0,    0,
00437         0,  180,    0,    0,    0,    0,    0,    0,    0,    0,
00438         0,    0,    0,    0,    0,    0,    0,    0,  223,  108,
00439 
00440         0,    0,    0,    0,    0,    0,    0,  227,    0,    0,
00441         0,   86,   85,  122,    0,    0,    0,    0,    0,    0,
00442         0,    0,    0,    0,    0,    0,    0,    0,    0,  246,
00443       246,  246,   76,   77,  246,   82,  246,  246,  246,  246,
00444        83,  246,   48,   49,  246,  246,  246,  246,  246,  246,
00445        56,   57,  246,  246,  246,   66,   67,  246,  246,  246,
00446         0,    0,    0,    0,  213,    0,    0,    0,    0,    0,
00447         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00448       224,   97,    0,    0,    0,    0,    0,    0,    0,  228,
00449       205,    0,    0,    0,    0,   87,    0,    0,    0,    0,
00450 
00451       147,    0,    0,    0,    0,    0,    0,  197,    0,    0,
00452         0,    0,    0,  137,    0,    0,  199,    0,    0,    0,
00453         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00454         0,    0,    0,    0,    0,  186,  225,  223,    0,    0,
00455         0,    0,    0,    0,    0,  229,  227,    0,    0,    0,
00456         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00457         0,    0,    0,   92,    0,    0,    0,  246,  246,  246,
00458       246,  246,  246,  246,   46,   47,  246,  246,   84,  246,
00459       246,  246,   28,  246,   54,   55,  246,  246,   64,   65,
00460       246,   70,   71,  246,  246,    0,    0,    0,    0,  181,
00461 
00462         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00463         0,    0,    0,    0,    0,  224,    0,  109,    0,    0,
00464         0,    0,    0,    0,  228,    0,    0,    0,   87,    0,
00465       123,    0,    0,    0,  147,    0,    0,    0,    0,    0,
00466         0,    0,    0,    0,    0,  137,    0,    0,    0,  182,
00467       184,    0,    0,  118,    0,    0,    0,    0,    0,    0,
00468        90,    0,    0,    0,    0,    0,  225,    0,    0,  112,
00469       138,    0,    0,    0,    0,  229,    0,    0,    0,    0,
00470         0,    0,    0,    0,    0,  170,    0,    0,   94,    0,
00471         0,    0,    0,    0,  231,    0,  190,    0,    0,  246,
00472 
00473       246,  246,  246,  246,  246,  246,  246,  246,   84,  246,
00474        52,   53,   28,  246,  246,  246,  246,   68,   69,  246,
00475        74,   75,    0,    0,    0,  181,    0,    0,    0,    0,
00476         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00477         0,  187,  109,    0,    0,    0,    0,    0,    0,    0,
00478         0,    0,    0,  123,    0,    0,    0,    0,    0,    0,
00479         0,    0,    0,    0,    0,    0,    0,  232,    0,    0,
00480        93,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00481         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00482         0,    0,    0,    0,    0,  243,    0,    0,    0,    0,
00483 
00484         0,    0,    0,    0,    0,    0,    0,  116,  158,    0,
00485         0,    0,    0,    0,    0,    0,    0,  233,  231,    0,
00486         0,  114,    0,  246,  246,  246,  246,  246,  246,   42,
00487        43,  246,  246,  246,  246,  246,  246,  246,  246,  246,
00488       246,  246,   50,   51,  246,  246,  246,   62,   63,   72,
00489        73,    0,  183,    0,  185,    0,    0,    0,  119,    0,
00490         0,    0,    0,    0,    0,    0,    0,   91,    0,    0,
00491         0,    0,    0,    0,    0,    0,    0,  187,    0,  244,
00492         0,  113,    0,  139,    0,    0,    0,    0,    0,    0,
00493         0,    0,    0,    0,    0,    0,    0,  171,    0,    0,
00494 
00495         0,    0,   95,    0,    0,    0,    0,    0,  232,    0,
00496        93,    0,  191,    0,    0,    0,    0,    0,    0,    0,
00497         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00498         0,    0,    0,    0,    0,  245,  243,    0,    0,    0,
00499         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00500         0,    0,    0,    0,    0,    0,    0,    0,  233,    0,
00501         0,  172,  246,   34,   35,  246,  246,  246,   40,   41,
00502       246,  246,   80,   81,  246,  246,  246,  246,  246,  246,
00503       246,  246,  246,  246,  246,  246,  246,  246,   60,   61,
00504       183,  185,    0,    0,  119,    0,    0,    0,    0,    0,
00505 
00506         0,    0,   91,    0,    0,    0,    0,    0,    0,    0,
00507         0,    0,    0,  244,  113,  139,    0,    0,    0,    0,
00508         0,    0,    0,    0,    0,    0,    0,  117,    0,  159,
00509       171,    0,    0,    0,    0,   95,    0,    0,    0,    0,
00510         0,    0,  191,    0,  115,    0,    0,    0,    0,    0,
00511         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00512         0,    0,    0,    0,    0,    0,  245,    0,    0,    0,
00513         0,    0,    0,  200,    0,    0,    0,    0,    0,    0,
00514         0,    0,    0,    0,  100,    0,    0,    0,    0,  188,
00515        32,   33,  246,  246,  246,  246,  246,  246,   10,  246,
00516 
00517       246,  246,  246,  246,  246,  246,  246,  246,  246,  246,
00518       246,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00519         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00520         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00521       117,  159,    0,    0,    0,    0,    0,    0,    0,    0,
00522         0,    0,  115,    0,  173,    0,  208,    0,    0,    0,
00523       220,    0,    0,  152,    0,    0,    0,    0,    0,    0,
00524         0,    0,    0,    0,    0,    0,    0,  128,    0,    0,
00525         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00526       102,    0,    0,    0,    0,  246,  246,  246,   29,  246,
00527 
00528        30,  246,  246,   25,  246,   10,  246,  246,  246,  246,
00529        23,  246,  246,  246,  246,  246,   21,  246,  246,   20,
00530       246,  246,  246,   31,    0,    0,    0,    0,    0,    0,
00531         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00532         0,    0,    0,    0,    0,    0,    0,    0,  201,    0,
00533         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00534       101,    0,    0,    0,    0,  189,  173,    0,  142,    0,
00535         0,  235,    0,    0,    0,  239,    0,    0,    0,    0,
00536         0,    0,    0,    0,    0,  104,    0,    0,  222,    0,
00537       130,  124,    0,    0,  226,   98,   88,  120,    0,    0,
00538 
00539         0,    0,    0,    0,  218,    0,    0,    0,  246,   38,
00540        39,   29,   30,  246,  246,   25,  246,  246,  246,  246,
00541        23,  246,  246,  246,  246,  246,   21,  246,   20,  246,
00542       246,   31,    0,    0,  209,    0,    0,  236,    0,    0,
00543       221,    0,  240,    0,    0,  153,    0,    0,    0,    0,
00544         0,    0,    0,    0,    0,    0,    0,    0,  129,    0,
00545         0,  201,    0,    0,    0,    0,    0,    0,    0,    0,
00546         0,    0,  103,  101,    0,    0,    0,  189,    0,  237,
00547       235,    0,    0,  241,  239,    0,  166,    0,    0,    0,
00548         0,    0,    0,    0,    0,    0,  222,    0,  126,  226,
00549 
00550         0,    0,    0,    0,    0,  148,  216,    0,    0,    0,
00551        36,   37,  246,   45,   44,  246,  246,  246,   13,  246,
00552       246,  246,  246,  246,  246,  246,   12,  246,  246,  246,
00553       246,  246,    0,  209,    0,  143,  236,    0,  221,  240,
00554         0,  153,    0,    0,    0,    0,    0,    0,    0,    0,
00555         0,  105,    0,    0,  131,  129,    0,  125,    0,    0,
00556        99,    0,   89,    0,  121,    0,    0,    0,    0,    0,
00557         0,  103,    0,  219,    0,    0,    0,    0,  237,    0,
00558         0,    0,  241,    0,    0,    0,    0,    0,    0,    0,
00559         0,    0,    0,    0,    0,    0,    0,    0,    0,  110,
00560 
00561         0,    0,  246,  246,   13,  246,    9,  246,  246,  246,
00562       246,  246,  246,   12,  246,  246,  246,  246,   59,   58,
00563         0,  143,    0,    0,    0,  167,    0,    0,    0,    0,
00564         0,    0,    0,    0,  105,    0,  131,  125,    0,  127,
00565        99,   89,  121,    0,    0,    0,    0,    0,    0,  149,
00566       219,    0,  217,    0,    0,    0,    0,    0,    0,    0,
00567         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00568         0,    0,  168,    0,    0,    0,    0,  246,  246,    9,
00569       246,  246,  246,  246,  246,  246,  246,  246,  246,    0,
00570         0,    0,  167,    0,    0,    0,    0,    0,    0,    0,
00571 
00572         0,    0,  127,    0,    0,    0,    0,    0,  149,  217,
00573         0,  111,    0,  132,    0,    0,    0,    0,    0,    0,
00574         0,    0,    0,    0,  156,  106,    0,    0,    0,    0,
00575         0,    0,    0,    0,  230,  246,  246,  246,  246,  246,
00576       246,  246,  246,  246,  246,  246,    0,    0,    0,    0,
00577         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00578         0,  169,    0,    0,  111,    0,    0,    0,  150,    0,
00579         0,    0,  214,    0,    0,    0,    0,    0,    0,    0,
00580       162,    0,    0,    0,  230,  246,  246,  246,  246,  246,
00581       246,  246,  246,   14,  246,   15,  246,  246,   16,    0,
00582 
00583       133,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00584         0,  157,    0,  107,    0,    0,    0,  169,    0,    0,
00585         0,    0,    0,    0,  178,    0,    0,    0,    0,    0,
00586         0,    0,  242,    0,  140,    0,    0,  246,  246,  246,
00587        17,  246,  246,  246,  246,   14,   15,  246,   16,  133,
00588         0,    0,  151,    0,    0,    0,  215,    0,    0,    0,
00589         0,  157,  107,    0,    0,    0,  163,    0,    0,    0,
00590         0,  164,    0,    0,    0,    0,    0,    0,    0,  242,
00591         0,  144,    0,  246,   18,  246,   17,  246,  246,  246,
00592       246,  246,    0,  151,    0,  179,    0,  215,    0,    0,
00593 
00594         0,    0,    0,    0,  163,    0,  141,    0,    0,    0,
00595         0,    0,    0,    0,    0,    0,    0,    0,    0,   18,
00596       246,   11,  246,  246,  246,    8,  246,  246,    0,  165,
00597       179,    0,    0,    0,    0,    0,    0,    0,  141,    0,
00598       145,    0,    0,    0,    0,    0,    0,  174,    0,    0,
00599         0,    0,   11,  246,  246,    8,  246,  246,   26,  165,
00600         0,    0,    0,    0,    0,    0,    0,  145,    0,    0,
00601         0,    0,  206,  202,    0,  154,    0,    0,    0,  246,
00602       246,  246,   26,    0,    0,    0,    0,  175,    0,    0,
00603         0,    0,    0,    0,    0,  210,    0,    0,  160,    0,
00604 
00605       246,  246,  246,    0,    0,  207,    0,  203,  175,    0,
00606         0,  155,    0,    0,    0,    0,    0,    0,    0,    0,
00607       246,  246,  246,    0,  211,  207,  203,    0,  155,    0,
00608         0,  161,    0,    0,    0,    0,    0,    0,  246,  246,
00609       246,  211,    0,    0,  161,    0,    0,  234,    0,  238,
00610         0,    0,    0,  246,  246,  246,    0,    0,    0,  234,
00611       238,  176,    0,  194,  246,  246,  246,    0,    0,    0,
00612         0,  246,  246,  246,   19,    0,  177,    0,    0,  195,
00613         0,  246,  246,   22,   19,  177,    0,  195,    0,  246,
00614        24,   22,    0,  192,   24,    0,    0,  193,  193,    0
00615 
00616     } ;
00617 
00618 static yyconst flex_int32_t yy_ec[256] =
00619     {   0,
00620         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00621         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
00622         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00623         1,    2,    4,    5,    6,    6,    6,    6,    7,    6,
00624         6,    6,    8,    6,    9,   10,   11,   12,   12,   12,
00625        12,   13,   12,   14,   12,   12,   12,    6,    1,   15,
00626        16,   17,   18,    6,    6,   19,   20,   21,   22,   23,
00627         6,   24,   25,   26,   27,   28,   29,   30,   31,   32,
00628         6,   33,   34,   35,   36,   37,   38,    6,    6,    6,
00629         1,    6,    1,    1,    6,    1,   39,   40,   41,   42,
00630 
00631        43,   44,   45,   46,   47,   48,   49,   50,   51,   52,
00632        53,   54,   55,   56,   57,   58,   59,   60,   61,   62,
00633        63,   64,    1,   65,    1,    1,    1,    1,    1,    1,
00634         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00635         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00636         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00637         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00638         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00639         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00640         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00641 
00642         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00643         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00644         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00645         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00646         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00647         1,    1,    1,    1,    1
00648     } ;
00649 
00650 static yyconst flex_int32_t yy_meta[66] =
00651     {   0,
00652         1,    1,    1,    1,    2,    1,    3,    1,    1,    1,
00653         1,    1,    1,    1,    4,    1,    5,    1,    1,    1,
00654         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00655         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00656         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00657         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00658         1,    1,    1,    1,    1
00659     } ;
00660 
00661 static yyconst flex_int16_t yy_base[2113] =
00662     {   0,
00663         0,   65, 3240, 3239, 3250, 3249, 3246, 3245,    0,    0,
00664         0,    0, 3236, 3235,   13,   17,    3,    5, 3249, 3258,
00665       129, 3243,  192, 3240,   19,   38, 3229,   84,  250,   25,
00666      3215, 3205, 3258,    0, 3258,    0,    0,    0, 3258, 3258,
00667      3234, 3258, 3258, 3225,    0,    0,   24,   90, 3224,  213,
00668        35,   40, 3210, 3200, 3199, 3194, 3180, 3179,    3,    6,
00669        25,   32,    1,   52,   21, 3195, 3190, 3258,   54,  216,
00670       105, 3258,   60, 3223,  272, 3258, 3173, 3191, 3176,   42,
00671        49, 3181, 3184,   64, 3173, 3178,   81, 3185,  206,   68,
00672      3180,  214, 3159,   77, 3182,  107, 3197, 3189,    0,    0,
00673 
00674         0,    0, 3201, 3258, 3159, 3159, 3162, 3161, 3151, 3171,
00675       175, 3170, 3161, 3159, 3157, 3156, 3142,  163,  195, 3166,
00676      3150,  187, 3156, 3152, 3154,  257,  272, 3191, 3141, 3159,
00677      3144,  167,   73, 3149, 3152,  224, 3141, 3146,  193, 3153,
00678       281,  192, 3148,  284, 3127,  226, 3150,  219, 3131, 3135,
00679       242, 3130, 3258, 3126, 3134, 3131,  287, 3159, 3138, 3140,
00680      3138, 3116, 3125, 3125, 3127, 3116, 3120, 3126, 3113,  142,
00681      3117, 3114, 3112,  292, 3113, 3109, 3111, 3115, 3120, 3106,
00682       277, 3258, 3118, 3119, 3108, 3099,  350, 3101, 3097, 3116,
00683      3115, 3110, 3094, 3108, 3110, 3106, 3088, 3122,  352,  354,
00684 
00685      3094, 3102, 3085, 3104, 3084, 3082, 3095, 3258,  230, 3082,
00686      3086,  279, 3081,  360, 3077, 3085, 3082,  313, 3110, 3089,
00687      3091, 3089, 3067, 3076, 3076, 3078, 3067, 3071, 3077, 3064,
00688       230, 3068, 3065, 3063,  315, 3064, 3060, 3062, 3066, 3071,
00689      3057, 3059, 3057,  198,  318, 3067, 3068, 3065, 3056, 3063,
00690      3062, 3046, 3044, 3044, 3058, 3044, 3048, 3073, 3054, 3061,
00691       358, 3052, 3051, 3046, 3042, 3048, 3036, 3032, 3042, 3046,
00692      3027, 3025, 3024, 3046, 3026, 3038, 3022, 3036, 3026, 3021,
00693      3029, 3030, 3018,  378, 3019,  380,  382,  386, 3033, 3021,
00694      3012, 3049,  388,  390, 3025, 3036, 3023, 3023,  396, 3258,
00695 
00696      3258, 3007,  405, 3024, 3012,  407, 3018, 3014, 3006, 3004,
00697       303,  409, 3014, 3015, 3012,  411,  413, 3003, 3010, 3009,
00698      2993, 2991, 2991, 3005, 2991, 2995,  415, 3002, 3009,  404,
00699      3000,  417, 2995, 2991, 2997, 2985, 2981, 2991, 2995, 2976,
00700      2974, 2973,  427, 2976, 2988, 2972, 2986, 2976, 2971,  433,
00701      2965, 2971, 3010, 2982, 2964, 2982, 2968, 2963, 2977, 2974,
00702       338, 2960, 2968, 2956, 2974, 2967, 2968,  435, 2989, 2957,
00703      2961, 2975, 2959, 2962,  440, 2963,  388,  445, 2947, 2943,
00704      2940, 2968, 2956,  326, 2951, 2954, 2957, 2954, 2938, 2950,
00705      3258, 2939, 2961, 2951, 2936, 2941,  452,  456, 2949,  467,
00706 
00707       469,  471, 2936, 2926, 2937, 2930,  473,  475,  479,  481,
00708      2926, 2937, 2924, 2917, 2924,  488,  491, 2927, 2917,  497,
00709       500,  506, 2917, 2913, 2919, 2958, 2930,  508,  512, 2912,
00710      2930, 2916, 2911, 2925,  514, 2922,  467, 2908, 2916, 2904,
00711      2922, 2915, 2916,  516,  518,  524, 2937, 2905, 2909, 2923,
00712      2907, 2910,  526,  528,  534, 2911,  481,  536, 2895, 2891,
00713      2888,  538, 2905,  384, 2900, 2903,  544,  546, 2906, 2903,
00714      2887, 2899,  548, 2888, 2910,  554,  556, 2900, 2895, 2894,
00715      2923, 3258, 2879, 2893, 2891, 2885, 2873, 2874, 2873, 2893,
00716      2888, 2887,  521, 2873, 2881, 2880,  561, 2905,  564, 3258,
00717 
00718       307, 2870, 2884, 2862, 2867,  566, 2900,  571, 2858, 2868,
00719      2862,  573, 3258, 2882, 2854, 2858, 2871, 2852, 2851, 2851,
00720      2865, 2849, 2848, 2860, 2862, 2850, 2839, 2860, 2858, 2841,
00721      2842,  582, 3258, 3258, 2852,  578, 2857, 2850, 2839, 2837,
00722       589,  591, 2885, 2882, 2857,  597,  599,  601, 2834,  603,
00723      2881, 2878, 2847, 2840,  609, 2877, 2874,  616,  618,  624,
00724      2837, 2836, 2865,  626,  628, 2821, 2835, 2833, 2827, 2815,
00725      2816, 2815, 2835, 2830, 2829,  531, 2815, 2823, 2822,  631,
00726       633,  635,  639,  408, 2813, 2827, 2805, 2810,  642,  644,
00727       647, 2802, 2812, 2806,  649,  651,  655, 2799, 2803,  658,
00728 
00729       660, 2816, 2797, 2796, 2796, 2810, 2794,  662, 2793, 2805,
00730      2807, 2795,  665,  667, 2784, 2805,  671, 2803, 2786, 2785,
00731      2821, 2800, 2780, 2794, 2782, 2782, 2795, 2790, 2779, 2781,
00732      2780, 2782, 2781, 2786, 2770, 3258,  674,  676, 2814, 2781,
00733      2780, 2779,  467, 2772, 2767,  678,  681, 2808, 2771, 2753,
00734      2792, 2761,  539, 2758, 2766, 2755, 2753, 2767, 2766,  654,
00735      2761,  690, 2768, 3258, 2754, 2754, 2754, 2740, 2744, 2754,
00736      2761,  692, 2747, 2735, 3258, 3258, 2753,  695,  685,  697,
00737       707,  700,  702, 2740, 3258, 3258, 2756,  715, 3258, 3258,
00738       717, 2789, 2786,  723,  725, 2736, 2735, 2771,  731,  733,
00739 
00740      2750, 2730, 2744, 2732, 2732, 2745, 2740, 2729, 2731, 2730,
00741      2732, 2731, 2736, 2720,  735,  738,  740,  742, 2732, 2731,
00742      2730,  716, 2723, 2718,  751, 2723, 2705, 2743,  753,  756,
00743       758, 2707,  574, 2699,  760, 2661, 2649, 2647, 2661, 2660,
00744       716, 2655,  762, 2662,  764,  766,    6,   37,   50, 3258,
00745      3258,   64,   79, 3258,   84,   89,  165,  204,  233,  376,
00746      3258,  751,  249,  268,  343,  363,  772,  375,  774, 3258,
00747      3258,  386,  399,  422,  423,  781,  440,  446,  473,  480,
00748       524,  541,  560,  567,  566,  581,  596,  613,  685,  617,
00749       637,  667,  784,  706,  787,  672, 3258,  706,  735,  790,
00750 
00751       733,  749,  746,  795,  802,  764,  810,  796,  812,  829,
00752       795,  796,  817,  750,  760,  821,  836, 3258, 3258,  842,
00753       812,  818,  848,  850,  782,  852,  788,  854,  788,  784,
00754       790,  790,  819,  839,  859,  853,  803,  813,  821,  829,
00755       875,  867,  877,  879,  883,  885,  816,  829,  855,  835,
00756       833,  855,  852,  895,  841,  854,  856,  862,  849,  904,
00757       865,  867,  908,  858,  860,  875,  913,  915,  862,  920,
00758       924,  926,  877,  881,  879,  880,  892,  887,  888,  889,
00759       881,  897,  902,  903,  892,  887,  908,  910,  907,  908,
00760       924,  914,  897,  954,  941,  957,  910,  919,  909,  901,
00761 
00762       927,  924,  910,  930,  923,  917,  924, 3258, 3258,  918,
00763       934,  956,  939,  947,  923,  957,  943,  982,  984,  977,
00764       942, 3258,  933,  989,  991,  942,  951,  941,  999,  998,
00765      1000,  945, 1007, 1009,  960,  965,  960,  966,  980,  983,
00766       990,  985, 3258, 3258,  990,  967, 1025, 1024, 1024, 3258,
00767      3258, 1031, 1033, 1038, 1042,  985,  990, 1044, 1047, 1010,
00768      1005, 1006, 1007,  998, 1014, 1019, 1057, 1060, 1025, 1012,
00769      1007, 1027, 1029, 1026, 1027, 1043, 1033, 1073, 1075, 1077,
00770      1079, 1081, 1083, 1085, 1038, 1047, 1037, 1030, 1051, 1037,
00771      1058, 1051, 1043, 1051, 1100, 1102, 1104, 1106, 1053, 1069,
00772 
00773      1091, 1113, 1120, 1074, 1085, 1062, 1099, 1085, 1124, 1081,
00774      1129, 1131, 1133, 1135, 1072, 1100, 1082, 1094, 1089, 1100,
00775      1091, 1092, 1096, 1098, 1092, 1098, 1112, 1105, 1098, 1114,
00776      1099, 1104, 1119, 1103, 1117, 1159, 1161, 1154, 1126, 1124,
00777      1129, 1135, 1119, 1114, 1125, 1131, 1121, 1132, 1134, 1143,
00778      1145, 1133, 1134, 1131, 1158, 1137, 1133, 1136, 1185, 1132,
00779      1149, 3258, 1189, 1188, 1188, 1145, 1140, 1156, 3258, 3258,
00780      1146, 1199, 3258, 3258, 1151, 1205, 1146, 1166, 1170, 1163,
00781      1166, 1155, 1161, 1181, 1166, 1161, 1155, 1176, 3258, 3258,
00782      1220, 1222, 1181, 1168, 1225, 1182, 1177, 1188, 1179, 1180,
00783 
00784      1184, 1186, 1234, 1181, 1187, 1201, 1193, 1186, 1202, 1187,
00785      1192, 1207, 1191, 1246, 1248, 1250, 1214, 1212, 1217, 1223,
00786      1201, 1212, 1218, 1208, 1219, 1220, 1262, 1264, 1266, 1268,
00787      1270, 1239, 1241, 1229, 1230, 1278, 1227, 1257, 1237, 1233,
00788      1236, 1246, 1286, 1288, 1290, 1292, 1240, 1240, 1255, 1247,
00789      1243, 1249, 1246, 1260, 1261, 1259, 1250, 1258, 1267, 1264,
00790      1254, 1278, 1273, 1264, 1269, 1266, 1316, 1270, 1278, 1280,
00791      1282, 1277, 1282, 3258, 1273, 1284, 1276, 1288, 1273, 1278,
00792      1274, 1277, 1284, 1292, 3258, 1283, 1277, 1295, 1286, 3258,
00793      3258, 3258, 1338, 1340, 1342, 1303, 1345, 1347, 1349, 1302,
00794 
00795      1304, 1332, 1357, 1319, 1318, 1324, 1364, 1308, 1367, 1317,
00796      1372, 1316, 1319, 1334, 1326, 1322, 1329, 1326, 1341, 1342,
00797      1339, 1330, 1339, 1347, 1344, 1334, 1358, 1353, 1344, 1349,
00798      1354, 1356, 1358, 1354, 1401, 1352, 1363, 1355, 1367, 1352,
00799      1408, 1410, 1362, 1358, 1361, 1369, 1377, 1419, 1370, 1364,
00800      1382, 1424, 1426, 1428, 1430, 1371, 3258, 1378, 1435, 1404,
00801      3258, 1440, 1382, 3258, 1387, 1389, 1411, 1408, 1411, 1400,
00802      1401, 1416, 1413, 1419, 1457, 1414, 1406, 3258, 1420, 1400,
00803      1463, 1415, 1412, 1412, 1412, 1436, 1445, 1434, 1432, 1433,
00804      3258, 1425, 1425, 1460, 1422, 1480, 1482, 1488, 1490, 1492,
00805 
00806      1495, 1497, 1499, 1503, 1428, 1507, 1445, 1446, 1486, 1509,
00807      1514, 1473, 1462, 1487, 1477, 1519, 1521, 1483, 1525, 1527,
00808      1492, 1489, 1531, 1534, 1475, 1537, 1485, 1543, 1508, 1546,
00809      1548, 1494, 1553, 1496, 1499, 1521, 1518, 1522, 1509, 1511,
00810      1527, 1524, 1529, 1513, 1569, 1530, 1510, 1573, 1575, 1527,
00811      1524, 1524, 1524, 1548, 1557, 1546, 1544, 1545, 1589, 1591,
00812      1593, 1537, 1544, 1579, 1597, 1599, 1601, 1584, 3258, 1607,
00813      1590, 1610, 1558, 1617, 1598, 1614, 1578, 1588, 1567, 1587,
00814      1569, 1590, 1575, 1603, 1575, 3258, 1595, 1634, 1636, 1599,
00815      3258, 3258, 1598, 1640, 1642, 3258, 3258, 3258, 1593, 1594,
00816 
00817      1601, 1593, 1609, 1595, 1596, 1605, 1599, 1600, 1656, 1655,
00818      1655, 1662, 1664, 1666, 1668, 1674, 1616, 1618, 1676, 1623,
00819      1681, 1623, 1665, 1647, 1685, 1632, 1688, 1637, 1692, 1657,
00820      1696, 1701, 1679, 1703, 1705, 1707, 1711, 1713, 1658, 1715,
00821      1719, 1723, 1727, 1676, 1731, 1733, 1689, 1671, 1692, 1679,
00822      1698, 1683, 1712, 1684, 1741, 1705, 1744, 1747, 1749, 1751,
00823      1712, 1754, 1757, 1760, 1763, 1714, 1716, 1723, 1715, 1731,
00824      1716, 1773, 1776, 1779, 1781, 1736, 1730, 1785, 1750, 1789,
00825      1791, 1784, 1775, 1797, 1799, 1786, 3258, 1745, 1766, 1757,
00826      1761, 1759, 1763, 1758, 1765, 1763, 1813, 1774, 3258, 1816,
00827 
00828      1764, 1792, 1772, 1765, 1766, 3258, 3258, 1782, 1787, 1786,
00829      3258, 3258, 1826, 3258, 3258, 1791, 1793, 1832, 1834, 1837,
00830      1794, 1789, 1803, 1805, 1798, 1844, 1847, 1794, 1821, 1804,
00831      1853, 1856, 1823, 1862, 1864, 1868, 1870, 1847, 1872, 1875,
00832      1877, 1880, 1826, 1846, 1836, 1840, 1838, 1842, 1837, 1844,
00833      1890, 1893, 1847, 1896, 1898, 1900, 1902, 1906, 1908, 1912,
00834      1914, 1918, 1920, 1924, 1928, 1850, 1883, 1868, 1866, 1870,
00835      1930, 1934, 1936, 1940, 1942, 1891, 1901, 1888, 1946, 1908,
00836      1908, 1913, 1952, 1912, 1918, 1911, 1901, 1901, 1919, 1920,
00837      1904, 1912, 1923, 1915, 1921, 1916, 1920, 1936, 1919, 3258,
00838 
00839      1921, 1931, 1928, 1918, 1975, 1977, 1979, 1923, 1932, 1937,
00840      1928, 1931, 1932, 1987, 1948, 1938, 1951, 1993, 3258, 3258,
00841      1939, 1999, 1956, 1964, 2002, 2004, 1969, 1962, 1951, 1951,
00842      1969, 1970, 1954, 1962, 2014, 1975, 2018, 2020, 2022, 2024,
00843      2026, 2028, 2030, 1987, 1982, 1986, 2002, 1985, 2038, 2040,
00844      2042, 2044, 2046, 2048, 2000, 2014, 2011, 2006, 2008, 2011,
00845      2001, 2008, 2019, 2020, 2027, 2009, 2024, 2016, 2050, 2029,
00846      2028, 2012, 3258, 2026, 2018, 2034, 2074, 2026, 2032, 2078,
00847      2039, 2026, 2041, 2038, 2039, 2030, 2031, 2031, 2033, 2053,
00848      2043, 2045, 2093, 2039, 2046, 2056, 2057, 2064, 2045, 2060,
00849 
00850      2052, 2086, 2104, 2065, 2049, 2108, 2065, 2057, 2112, 2114,
00851      2116, 2118, 2081, 3258, 2066, 2081, 2083, 2077, 2069, 2071,
00852      2073, 2112, 2093, 2099, 3258, 3258, 2079, 2093, 2080, 2095,
00853      2088, 2093, 2095, 2140, 2142, 2088, 2094, 2091, 2092, 2110,
00854      2099, 2114, 2152, 2156, 2109, 2158, 2160, 2121, 2122, 2107,
00855      2109, 2112, 2151, 2132, 2138, 2173, 2176, 2124, 2124, 2139,
00856      2181, 2183, 2136, 2142, 2189, 2148, 2154, 2138, 3258, 2154,
00857      2142, 2163, 3258, 2148, 2163, 2153, 2151, 2166, 2204, 2173,
00858      3258, 2166, 2167, 2164, 2210, 2157, 2163, 2214, 2162, 2161,
00859      2168, 2182, 2221, 2223, 2225, 2229, 2176, 2231, 2233, 2236,
00860 
00861      2240, 2182, 2242, 2189, 2211, 2247, 2198, 2213, 2204, 2202,
00862      2254, 2258, 2260, 2263, 2219, 2232, 2266, 2270, 2227, 2231,
00863      2228, 2220, 2235, 2259, 3258, 2241, 2222, 2232, 2225, 2256,
00864      2234, 2285, 2287, 2238, 3258, 2235, 2241, 2292, 2239, 2295,
00865      2297, 2262, 2256, 2247, 2255, 2304, 2307, 2260, 2311, 2313,
00866      2274, 2316, 2318, 2320, 2285, 2323, 2325, 2270, 2280, 2272,
00867      2303, 2332, 2336, 2284, 2288, 2340, 2342, 2344, 2291, 2297,
00868      2303, 3258, 2295, 2302, 2301, 2295, 2312, 2303, 2317, 2357,
00869      2333, 3258, 2318, 2362, 2364, 2366, 2368, 2325, 2313, 2372,
00870      2333, 2320, 2377, 2381, 2383, 2387, 2331, 2389, 2335, 2334,
00871 
00872      2352, 2343, 2356, 2369, 2399, 2401, 2403, 2405, 2354, 2355,
00873      2367, 2352, 2370, 2370, 2357, 2355, 2370, 2364, 2381, 2418,
00874      2421, 2423, 2375, 2385, 2427, 2429, 2402, 2432, 2436, 2438,
00875      2442, 2377, 2400, 2403, 2390, 2389, 2404, 2398, 2452, 2454,
00876      2456, 2414, 2402, 2422, 2419, 2406, 2407, 2431, 2423, 2420,
00877      2408, 2426, 2470, 2412, 2443, 2473, 2423, 2476, 2478, 2480,
00878      2441, 2428, 2429, 2485, 2446, 2443, 2431, 2491, 2452, 2449,
00879      2439, 2441, 3258, 3258, 2441, 3258, 2448, 2458, 2456, 2473,
00880      2451, 2448, 2505, 2452, 2508, 2510, 2512, 2514, 2460, 2518,
00881      2470, 2480, 2477, 2473, 2475, 3258, 2474, 2486, 3258, 2487,
00882 
00883      2479, 2476, 2489, 2535, 2537, 2539, 2541, 2543, 2545, 2493,
00884      2548, 2553, 2508, 2557, 2512, 2509, 2506, 2516, 2526, 2520,
00885      2509, 2521, 2516, 2568, 2570, 2573, 2575, 2532, 2578, 2544,
00886      2581, 2584, 2542, 2587, 2589, 2541, 2551, 2537, 2549, 2544,
00887      2547, 2598, 2550, 2560, 2605, 2547, 2607, 2609, 2611, 2613,
00888      2572, 2571, 2562, 2567, 2569, 2565, 2578, 2578, 2569, 2627,
00889      2629, 3258, 2582, 3258, 2581, 2577, 2633, 2635, 2594, 2638,
00890      2596, 2586, 2642, 2644, 2648, 2651, 2654, 2602, 2659, 2661,
00891      2601, 2663, 2667, 2669, 2671, 2675, 2609, 2678, 2618, 2682,
00892      2684, 2686, 2625, 3258, 2688, 2690, 2692, 2694, 2697, 3258,
00893 
00894      2709, 2714, 2719, 2724, 2729, 2734, 2739, 2744, 2749, 2753,
00895      2758, 2763
00896     } ;
00897 
00898 static yyconst flex_int16_t yy_def[2113] =
00899     {   0,
00900      2101, 2101, 2102, 2102, 2103, 2103, 2104, 2104, 2105, 2105,
00901      2105, 2105, 2106, 2106, 2107, 2107, 2108, 2108, 2100, 2100,
00902      2100, 2100,   21, 2100,   23,   23,   23,   23, 2100, 2100,
00903        23,   23, 2100, 2109, 2100, 2110, 2111, 2112, 2100, 2100,
00904      2100, 2100, 2100, 2100,   21,   23,   23,   23,   23,   23,
00905        29, 2100,   23,   23,   23,   23,   23,   23,   23,   23,
00906        23,   23,   23,   23,   23,   23,   23, 2100,   23,   23,
00907        23, 2100,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00908      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00909      2100, 2100, 2100, 2100, 2100, 2100,   23,   23, 2109, 2110,
00910 
00911      2111, 2112, 2100, 2100,   23,   23,   23,   23,   23,   23,
00912        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00913        23,   23,   23,   23,   23,   23,   23, 2100, 2100, 2100,
00914      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00915      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00916      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00917      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00918      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00919        23, 2100,   23,   23,   23,   23,   23,   23,   23,   23,
00920        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00921 
00922        23,   23,   23,   23,   23,   23,   23, 2100, 2100, 2100,
00923      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00924      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00925      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00926      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00927      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00928      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00929      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00930      2100,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00931        23,   23,   23,   23,   23,   23,   23,   23,   23, 2100,
00932 
00933      2100,   23,   23,   23,   23,   23,   23,   23, 2100, 2100,
00934      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00935      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00936      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00937      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00938      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00939      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00940      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00941      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00942      2100, 2100, 2100, 2100,   23,   23,   23,   23,   23,   23,
00943 
00944        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00945        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00946        23,   23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00947      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00948      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00949      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00950      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00951      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00952      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00953      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00954 
00955      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00956      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00957      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,
00958        23,   23, 2100, 2100,   23,   23,   23,   23,   23,   23,
00959        23,   23, 2100, 2100,   23,   23,   23,   23,   23,   23,
00960      2100, 2100,   23,   23,   23, 2100, 2100,   23,   23,   23,
00961      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00962      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00963      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00964      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00965 
00966      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00967      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00968      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00969      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00970      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00971      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00972      2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,   23,   23,
00973        23,   23,   23,   23, 2100, 2100,   23,   23,   23,   23,
00974        23,   23,   23,   23, 2100, 2100,   23,   23, 2100, 2100,
00975        23, 2100, 2100,   23,   23, 2100, 2100, 2100, 2100, 2100,
00976 
00977      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00978      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00979      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00980      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00981      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00982      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00983      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00984      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00985      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00986      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,
00987 
00988        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
00989      2100, 2100,   23,   23,   23,   23,   23, 2100, 2100,   23,
00990      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00991      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00992      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00993      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00994      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00995      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00996      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00997      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
00998 
00999      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01000      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01001      2100, 2100, 2100,   23,   23,   23,   23,   23,   23, 2100,
01002      2100,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01003        23,   23, 2100, 2100,   23,   23,   23, 2100, 2100, 2100,
01004      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01005      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01006      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01007      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01008      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01009 
01010      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01011      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01012      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01013      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01014      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01015      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01016      2100, 2100,   23, 2100, 2100,   23,   23,   23, 2100, 2100,
01017        23,   23, 2100, 2100,   23,   23,   23,   23,   23,   23,
01018        23,   23,   23,   23,   23,   23,   23,   23, 2100, 2100,
01019      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01020 
01021      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01022      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01023      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01024      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01025      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01026      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01027      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01028      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01029      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01030      2100, 2100,   23,   23,   23,   23,   23,   23,   23,   23,
01031 
01032        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01033        23, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01034      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01035      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01036      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01037      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01038      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01039      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01040      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01041      2100, 2100, 2100, 2100, 2100,   23,   23,   23,   23,   23,
01042 
01043        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01044        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01045        23,   23,   23,   23, 2100, 2100, 2100, 2100, 2100, 2100,
01046      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01047      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01048      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01049      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01050      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01051      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01052      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01053 
01054      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23, 2100,
01055      2100,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01056        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01057        23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01058      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01059      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01060      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01061      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01062      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01063      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01064 
01065      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01066      2100, 2100,   23, 2100, 2100,   23,   23,   23,   23,   23,
01067        23,   23,   23,   23,   23,   23,   23,   23,   23,   23,
01068        23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01069      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01070      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01071      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01072      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01073      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01074      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01075 
01076      2100, 2100,   23,   23,   23,   23,   23,   23,   23,   23,
01077        23,   23,   23,   23,   23,   23,   23,   23, 2100, 2100,
01078      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01079      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01080      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01081      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01082      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01083      2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,   23,   23,
01084        23,   23,   23,   23,   23,   23,   23,   23,   23, 2100,
01085      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01086 
01087      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01088      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01089      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01090      2100, 2100, 2100, 2100, 2100,   23,   23,   23,   23,   23,
01091        23,   23,   23,   23,   23,   23, 2100, 2100, 2100, 2100,
01092      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01093      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01094      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01095      2100, 2100, 2100, 2100, 2100,   23,   23,   23,   23,   23,
01096        23,   23,   23,   23,   23,   23,   23,   23,   23, 2100,
01097 
01098      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01099      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01100      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01101      2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,   23,   23,
01102        23,   23,   23,   23,   23,   23,   23,   23,   23, 2100,
01103      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01104      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01105      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01106      2100, 2100, 2100,   23,   23,   23,   23,   23,   23,   23,
01107        23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01108 
01109      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01110      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,
01111        23,   23,   23,   23,   23,   23,   23,   23, 2100, 2100,
01112      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01113      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01114      2100, 2100,   23,   23,   23,   23,   23,   23,   23, 2100,
01115      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01116      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,
01117        23,   23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01118      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01119 
01120        23,   23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01121      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01122        23,   23,   23, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01123      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,   23,   23,
01124        23, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01125      2100, 2100, 2100,   23,   23,   23, 2100, 2100, 2100, 2100,
01126      2100, 2100, 2100, 2100,   23,   23,   23, 2100, 2100, 2100,
01127      2100,   23,   23,   23,   23, 2100, 2100, 2100, 2100, 2100,
01128      2100,   23,   23,   23,   23, 2100, 2100, 2100, 2100,   23,
01129        23,   23, 2100, 2100,   23, 2100, 2100, 2100, 2100,    0,
01130 
01131      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01132      2100, 2100
01133     } ;
01134 
01135 static yyconst flex_int16_t yy_nxt[3324] =
01136     {   0,
01137        20,   21,   21,   20,   22,   43,   24,   43,   25,   26,
01138        27,   28,   28,   28,   29,   40,   30,   20, 2100,   40,
01139        44,   41,   44, 2100,   31,   41,   96,   96,   48,   32,
01140        50,   50,   50,   48, 2100,   50,   50,   50, 2100,   69,
01141        69,   96,   96,   53,  109,  111, 2100,  117,   53,   70,
01142        70,   70, 2100,  118,  110,   69,   69,  872,  112,   71,
01143       122,   73,   73,  113,   33,   20,   21,   21,   20,   22,
01144       115,   24,  123,   25,   26,   27,   28,   28,   28,   29,
01145        71,   30,   20,  114,  151,   73,   73,  873,  152,   31,
01146       116,   69,   69,   48,   32,   50,   50,   50,  153,  874,
01147 
01148       154,   70,   70,   70,  119,   71,  170,  120,   96,   96,
01149       875,   71,  126,  126,  121,  157,  127,  127,  127,  162,
01150       158,  159,  214,  171,  215,  876,   71,  163,  178,   33,
01151        45,   45,   71,  179,   46,  877,   46,   47,   48,   49,
01152        50,   50,   50,   51,   46,   52,  878,   46,   46,   46,
01153        46,   46,   46,   53,   46,   46,   46,   46,   54,   46,
01154        46,   46,   46,   46,   46,   46,   46,   46,   46,   55,
01155        56,   46,   57,   58,   46,   59,   46,   46,   60,   61,
01156        62,   46,   46,   46,   46,   63,   64,   65,   66,   67,
01157        46,   46,   46,   46,   46,  189,  199,  199,  268,  269,
01158 
01159        46,   46,   46,   46,   46,   46, 2100,  203, 2100,  212,
01160       200,  190,  197,  213,   73,   73,   46,   69,   69,  198,
01161       879,   46,   48,  204,   50,   50,   50,   70,   70,   70,
01162       231,  223,   46,   46,   71,   46,   46,   71,   46,  224,
01163       353,   46,   46,   46,  354,  165,  242,  232,   46,   46,
01164        46,   46,   46,   74,  243,   71,  173,  309,   71,  166,
01165        75,  880,  167,  168,  169,  310,  174,   76,  127,  127,
01166       127,  881,  175,   69,   69,  218,  176,  239,   69,   69,
01167       219,  220,  240,  127,  127,  127,  337,  338,   77,   78,
01168        79,   80,   81,   82,   83,  246,   84,   85,  247,   86,
01169 
01170        87,   88,   89,   90,  889,   91,   92,   93,   94,   95,
01171       129,  130,  131,  132,  133,  134,  135,  890,  136,  137,
01172       226,  138,  139,  140,  141,  142,  234,  143,  144,  145,
01173       146,  147,  313,  252,  227,  314,  235,  228,  229,  230,
01174       253,  273,  236,  254,  255,  426,  237,  640,  274,  427,
01175       275,  286,  286,  199,  199,  299,  299,  489,  300,  321,
01176       301,  316,  316,  641,  342,  287,  322,  200,  519,  323,
01177       324,  343,  520,  344,  355,  356,  317,  372,  373,  397,
01178       397,  286,  286,  400,  400,  891,  374,  401,  401,  407,
01179       407,  409,  409,  398,  490,  287,  882,  299,  299,  892,
01180 
01181       300,  402,  301,  408,  883,  410,  416,  416,  420,  420,
01182       428,  428,  316,  316,  435,  435,  445,  445,  454,  454,
01183       417,  893,  421,  450,  451,  429,  604,  317,  467,  467,
01184       605,  446,  452,  455,  476,  476,  497,  497,  510,  447,
01185       511,  506,  506,  468,  897,  498,  512,  512,  719,  477,
01186       507,  499,  898,  397,  397,  899,  508,  532,  532,  456,
01187       533,  513,  534,  469,  720,  430,  431,  398,  400,  400,
01188       401,  401,  536,  536,  407,  407,  541,  541,  900,  478,
01189       409,  409,  542,  542,  402,  543,  572,  544,  408,  416,
01190       416,  901,  550,  550,  410,  551,  772,  552,  420,  420,
01191 
01192       773,  555,  555,  417,  556,  902,  557,  558,  558,  428,
01193       428,  903,  421,  565,  565,  435,  435,  580,  580,  445,
01194       445,  559,  904,  573,  429,  582,  582,  589,  589,  454,
01195       454,  593,  581,  594,  446,  591,  591,  595,  595,  600,
01196       600,  632,  590,  633,  455,  467,  467,  608,  608,  613,
01197       613,  711,  596,  712,  601,  476,  476,  617,  617,  782,
01198       468,  783,  497,  497,  614,  638,  638,  506,  506,  602,
01199       477,  498,  647,  647,  512,  512,  507,  499,  639,  536,
01200       536,  905,  508,  532,  532,  648,  533,  906,  534,  513,
01201       541,  541,  542,  542,  856,  543,  857,  544,  678,  678,
01202 
01203       680,  680,  682,  682,  550,  550,  907,  551,  908,  552,
01204       555,  555,  679,  556,  681,  557,  683,  558,  558,  691,
01205       691,  909,  692,  910,  693,  694,  694,  699,  699,  565,
01206       565,  559,  580,  580,  716,  716,  582,  582,  911,  695,
01207       717,  717,  700,  589,  589,  725,  725,  581,  591,  591,
01208       595,  595,  729,  729,  912,  718,  730,  730,  590,  600,
01209       600,  735,  735,  608,  608,  596,  613,  613,  746,  746,
01210       915,  731,  617,  617,  601,  767,  767,  638,  638,  776,
01211       776,  614,  647,  647,  790,  732,  809,  809,  791,  916,
01212       639,  793,  793,  804,  804,  648,  678,  678,  680,  680,
01213 
01214       794,  682,  682,  813,  813,  917,  795,  805,  810,  810,
01215       679,  811,  681,  812,  913,  683,  816,  816,  691,  691,
01216       914,  692,  918,  693,  694,  694,  820,  820,  921,  821,
01217       817,  822,  699,  699,  826,  826,  841,  841,  695,  716,
01218       716,  717,  717,  843,  843,  847,  864,  700,  922,  848,
01219       865,  842,  725,  725,  729,  729,  718,  730,  730,  854,
01220       854,  735,  735,  867,  867,  870,  870,  746,  746,  884,
01221       885,  886,  731,  767,  767,  894,  894,  923,  868,  926,
01222       871,  887,  776,  776,  895,  793,  793,  888,  919,  919,
01223       896,  924,  924,  927,  794,  928,  804,  804,  932,  943,
01224 
01225       795,  920,  944,  929,  929,  925,  930,  945,  931,  946,
01226       805,  933,  933,  809,  809,  935,  950,  936,  813,  813,
01227       937,  938,  816,  816,  951,  934,  939,  940,  956,  941,
01228       810,  810,  942,  811,  957,  812,  817,  947,  947,  960,
01229       948,  961,  949,  820,  820,  962,  821,  963,  822,  952,
01230       952,  954,  954,  826,  826,  958,  958,  964,  974,  965,
01231       967,  967,  975,  976,  953,  977,  955,  966,  978,  978,
01232       959,  969,  970,  971,  985,  968,  841,  841,  843,  843,
01233       979,  979,  986,  972,  981,  981,  983,  983,  987,  973,
01234       988,  842,  989,  990,  991,  980,  854,  854,  992,  982,
01235 
01236       993,  984,  994,  995,  996,  997,  997, 1000, 1001, 1002,
01237      1002, 1006, 1007, 1008,  867,  867, 1009, 1009, 1010, 1014,
01238       998,  870,  870, 1015, 1003, 1011, 1011, 1012, 1012,  868,
01239      1016, 1017, 1018, 1019, 1020, 1021,  871, 1004, 1022, 1023,
01240      1024, 1025, 1013, 1005, 1026, 1027,  999, 1028, 1029, 1030,
01241      1031, 1032, 1034, 1033, 1035,  894,  894, 1036, 1037, 1037,
01242      1039, 1040, 1041, 1042,  895, 1043, 1044, 1045, 1046, 1047,
01243       896, 1038, 1048, 1049, 1050, 1051, 1052, 1054, 1053, 1055,
01244      1056, 1057, 1058, 1059, 1059,  919,  919, 1060, 1061, 1062,
01245       924,  924, 1063, 1063, 1066, 1064, 1067, 1065,  920, 1068,
01246 
01247       929,  929, 1069,  930,  925,  931, 1070, 1071,  933,  933,
01248      1072, 1072, 1075, 1073, 1076, 1074, 1077, 1078, 1079, 1080,
01249      1084, 1082,  934, 1086, 1087, 1088,  947,  947, 1089,  948,
01250      1090,  949,  952,  952, 1091, 1091, 1093, 1081, 1083,  954,
01251       954, 1094, 1085, 1092, 1092,  958,  958,  953, 1095, 1095,
01252      1096, 1097, 1098, 1099,  955, 1100, 1101, 1102,  967,  967,
01253       959, 1103, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110,
01254      1111, 1113, 1112,  968,  978,  978,  979,  979, 1114, 1114,
01255       981,  981, 1115, 1115,  983,  983, 1116, 1116, 1117, 1118,
01256      1119,  980, 1120, 1121, 1122,  982, 1123, 1124, 1125,  984,
01257 
01258      1126, 1127, 1127, 1129, 1129,  997,  997, 1131, 1131, 1132,
01259      1133, 1134, 1137, 1135, 1002, 1002, 1128, 1138, 1130, 1139,
01260       998, 1136, 1136, 1140, 1141, 1009, 1009, 1142, 1146, 1003,
01261      1011, 1011, 1012, 1012, 1143, 1143, 1144, 1144, 1147, 1148,
01262      1149, 1150, 1151, 1152, 1153, 1154, 1155, 1013, 1156, 1157,
01263      1158, 1145, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166,
01264      1167, 1167, 1037, 1037, 1168, 1169, 1170, 1171, 1172, 1173,
01265      1174, 1175, 1176, 1177, 1178, 1038, 1179, 1180, 1181, 1182,
01266      1183, 1184, 1185, 1186, 1187, 1188, 1059, 1059, 1189, 1190,
01267      1063, 1063, 1191, 1064, 1192, 1065, 1193, 1194, 1195, 1196,
01268 
01269      1072, 1072, 1197, 1073, 1200, 1074, 1198, 1198, 1201, 1202,
01270      1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212,
01271      1199, 1091, 1091, 1092, 1092, 1213, 1095, 1095, 1214, 1215,
01272      1216, 1217, 1218, 1219, 1220, 1103, 1103, 1221, 1222, 1223,
01273      1224, 1225, 1226, 1227, 1228, 1229, 1230, 1114, 1114, 1115,
01274      1115, 1116, 1116, 1231, 1232, 1233, 1234, 1235, 1236, 1237,
01275      1238, 1239, 1240, 1127, 1127, 1241, 1241, 1129, 1129, 1242,
01276      1242, 1131, 1131, 1243, 1244, 1245, 1246, 1247, 1128, 1136,
01277      1136, 1248, 1130, 1249, 1250, 1251, 1252, 1143, 1143, 1144,
01278      1144, 1253, 1253, 1254, 1254, 1256, 1257, 1258, 1259, 1260,
01279 
01280      1261, 1262, 1263, 1264, 1145, 1265, 1266, 1267, 1255, 1268,
01281      1269, 1270, 1271, 1272, 1273, 1274, 1275, 1167, 1167, 1276,
01282      1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286,
01283      1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296,
01284      1296, 1298, 1298, 1300, 1300, 1302, 1303, 1303, 1198, 1198,
01285      1306, 1306, 1307, 1297, 1308, 1299, 1309, 1301, 1310, 1310,
01286      1304, 1313, 1199, 1314, 1315, 1316, 1316, 1318, 1319, 1319,
01287      1322, 1325, 1311, 1323, 1323, 1326, 1327, 1328, 1329, 1317,
01288      1330, 1331, 1320, 1332, 1333, 1334, 1335, 1324, 1336, 1337,
01289      1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1312,
01290 
01291      1347, 1305, 1348, 1348, 1350, 1351, 1352, 1353, 1354, 1241,
01292      1241, 1242, 1242, 1321, 1355, 1356, 1357, 1349, 1358, 1359,
01293      1360, 1360, 1362, 1363, 1364, 1365, 1365, 1253, 1253, 1254,
01294      1254, 1367, 1367, 1368, 1369, 1361, 1370, 1370, 1373, 1377,
01295      1366, 1374, 1374, 1378, 1255, 1371, 1379, 1380, 1381, 1382,
01296      1375, 1372, 1383, 1384, 1385, 1386, 1376, 1387, 1388, 1388,
01297      1390, 1391, 1392, 1393, 1394, 1394, 1396, 1397, 1398, 1399,
01298      1400, 1401, 1402, 1389, 1403, 1404, 1405, 1406, 1407, 1395,
01299      1408, 1296, 1296, 1409, 1409, 1417, 1410, 1418, 1411, 1298,
01300      1298, 1412, 1412, 1300, 1300, 1297, 1413, 1413, 1414, 1414,
01301 
01302      1303, 1303, 1419, 1299, 1416, 1416, 1420, 1301, 1306, 1306,
01303      1310, 1310, 1415, 1422, 1304, 1421, 1421, 1423, 1424, 1426,
01304      1316, 1316, 1427, 1427, 1311, 1428, 1319, 1319, 1429, 1429,
01305      1430, 1431, 1323, 1323, 1317, 1432, 1432, 1433, 1434, 1434,
01306      1320, 1436, 1439, 1425, 1437, 1437, 1324, 1440, 1440, 1442,
01307      1442, 1444, 1447, 1435, 1445, 1445, 1448, 1449, 1450, 1438,
01308      1451, 1452, 1441, 1453, 1443, 1454, 1455, 1456, 1457, 1446,
01309      1458, 1458, 1460, 1461, 1348, 1348, 1462, 1462, 1463, 1464,
01310      1465, 1466, 1467, 1468, 1469, 1459, 1470, 1471, 1475, 1349,
01311      1472, 1472, 1360, 1360, 1474, 1474, 1476, 1477, 1365, 1365,
01312 
01313      1478, 1478, 1367, 1367, 1479, 1473, 1480, 1361, 1370, 1370,
01314      1483, 1481, 1481, 1366, 1484, 1485, 1485, 1371, 1374, 1374,
01315      1487, 1488, 1489, 1372, 1482, 1490, 1491, 1375, 1486, 1492,
01316      1493, 1494, 1495, 1376, 1496, 1388, 1388, 1497, 1497, 1498,
01317      1499, 1394, 1394, 1500, 1500, 1501, 1502, 1503, 1504, 1505,
01318      1389, 1506, 1507, 1508, 1509, 1510, 1395, 1409, 1409, 1511,
01319      1410, 1512, 1411, 1412, 1412, 1413, 1413, 1414, 1414, 1513,
01320      1513, 1516, 1514, 1517, 1515, 1416, 1416, 1518, 1518, 1520,
01321      1521, 1415, 1421, 1421, 1522, 1525, 1526, 1526, 1528, 1427,
01322      1427, 1519, 1529, 1429, 1429, 1523, 1530, 1531, 1531, 1533,
01323 
01324      1527, 1524, 1432, 1432, 1434, 1434, 1534, 1534, 1535, 1535,
01325      1538, 1532, 1437, 1437, 1537, 1537, 1440, 1440, 1541, 1435,
01326      1539, 1539, 1543, 1536, 1442, 1442, 1544, 1438, 1540, 1540,
01327      1545, 1441, 1445, 1445, 1542, 1542, 1546, 1547, 1548, 1443,
01328      1549, 1550, 1551, 1551, 1553, 1554, 1554, 1446, 1458, 1458,
01329      1556, 1556, 1557, 1557, 1559, 1462, 1462, 1552, 1560, 1560,
01330      1555, 1562, 1562, 1459, 1564, 1564, 1566, 1558, 1567, 1568,
01331      1569, 1570, 1571, 1561, 1472, 1472, 1563, 1572, 1572, 1565,
01332      1474, 1474, 1573, 1573, 1576, 1577, 1478, 1478, 1578, 1473,
01333      1579, 1579, 1481, 1481, 1580, 1581, 1584, 1574, 1583, 1583,
01334 
01335      1485, 1485, 1585, 1582, 1586, 1482, 1587, 1588, 1589, 1590,
01336      1591, 1592, 1593, 1486, 1497, 1497, 1594, 1500, 1500, 1595,
01337      1596, 1597, 1598, 1599, 1600, 1601, 1602, 1513, 1513, 1603,
01338      1514, 1604, 1515, 1518, 1518, 1605, 1605, 1575, 1606, 1606,
01339      1608, 1609, 1610, 1612, 1613, 1526, 1526, 1519, 1614, 1614,
01340      1615, 1616, 1607, 1617, 1531, 1531, 1611, 1618, 1618, 1527,
01341      1619, 1621, 1620, 1534, 1534, 1535, 1535, 1623, 1532, 1622,
01342      1622, 1537, 1537, 1539, 1539, 1624, 1540, 1540, 1625, 1625,
01343      1536, 1542, 1542, 1627, 1628, 1629, 1630, 1631, 1632, 1633,
01344      1634, 1551, 1551, 1626, 1635, 1635, 1636, 1554, 1554, 1637,
01345 
01346      1637, 1556, 1556, 1557, 1557, 1644, 1552, 1638, 1638, 1639,
01347      1639, 1645, 1555, 1560, 1560, 1641, 1641, 1646, 1558, 1562,
01348      1562, 1642, 1642, 1647, 1640, 1564, 1564, 1648, 1561, 1643,
01349      1643, 1649, 1649, 1654, 1563, 1572, 1572, 1573, 1573, 1655,
01350      1565, 1651, 1651, 1652, 1652, 1656, 1650, 1579, 1579, 1657,
01351      1658, 1659, 1574, 1583, 1583, 1660, 1661, 1662, 1653, 1663,
01352      1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673,
01353      1674, 1675, 1676, 1677, 1678, 1679, 1605, 1605, 1606, 1606,
01354      1680, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1614, 1614,
01355      1687, 1688, 1607, 1689, 1618, 1618, 1690, 1619, 1691, 1620,
01356 
01357      1622, 1622, 1692, 1625, 1625, 1693, 1693, 1694, 1695, 1696,
01358      1697, 1698, 1699, 1700, 1701, 1635, 1635, 1702, 1626, 1637,
01359      1637, 1638, 1638, 1639, 1639, 1703, 1703, 1641, 1641, 1642,
01360      1642, 1643, 1643, 1704, 1705, 1706, 1707, 1708, 1640, 1649,
01361      1649, 1709, 1709, 1651, 1651, 1652, 1652, 1710, 1710, 1711,
01362      1711, 1713, 1714, 1715, 1650, 1716, 1717, 1718, 1719, 1720,
01363      1653, 1721, 1722, 1723, 1712, 1724, 1725, 1726, 1727, 1728,
01364      1729, 1730, 1731, 1732, 1733, 1734, 1734, 1736, 1737, 1680,
01365      1680, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746,
01366      1735, 1747, 1748, 1749, 1693, 1693, 1750, 1751, 1752, 1753,
01367 
01368      1754, 1755, 1756, 1757, 1758, 1703, 1703, 1759, 1760, 1761,
01369      1761, 1763, 1764, 1709, 1709, 1710, 1710, 1711, 1711, 1765,
01370      1765, 1766, 1767, 1768, 1762, 1769, 1770, 1771, 1772, 1773,
01371      1774, 1776, 1712, 1777, 1778, 1779, 1780, 1781, 1782, 1783,
01372      1784, 1734, 1734, 1785, 1785, 1786, 1787, 1788, 1775, 1789,
01373      1790, 1791, 1792, 1793, 1793, 1797, 1735, 1795, 1795, 1798,
01374      1798, 1800, 1800, 1802, 1803, 1804, 1805, 1794, 1806, 1807,
01375      1809, 1796, 1810, 1799, 1811, 1811, 1801, 1813, 1813, 1815,
01376      1816, 1817, 1761, 1761, 1818, 1818, 1819, 1808, 1820, 1812,
01377      1765, 1765, 1814, 1821, 1822, 1823, 1824, 1762, 1825, 1826,
01378 
01379      1827, 1828, 1829, 1830, 1831, 1832, 1832, 1834, 1835, 1836,
01380      1837, 1785, 1785, 1838, 1839, 1840, 1840, 1842, 1843, 1844,
01381      1833, 1845, 1793, 1793, 1846, 1846, 1795, 1795, 1848, 1841,
01382      1847, 1847, 1798, 1798, 1849, 1849, 1794, 1800, 1800, 1851,
01383      1796, 1850, 1850, 1852, 1852, 1854, 1799, 1855, 1856, 1856,
01384      1858, 1859, 1801, 1860, 1861, 1811, 1811, 1864, 1853, 1862,
01385      1862, 1813, 1813, 1857, 1863, 1863, 1865, 1866, 1866, 1868,
01386      1812, 1818, 1818, 1869, 1870, 1871, 1814, 1872, 1873, 1874,
01387      1875, 1876, 1867, 1877, 1878, 1879, 1832, 1832, 1880, 1880,
01388      1881, 1882, 1883, 1884, 1884, 1886, 1840, 1840, 1887, 1887,
01389 
01390      1888, 1833, 1889, 1890, 1891, 1846, 1846, 1885, 1847, 1847,
01391      1841, 1892, 1849, 1849, 1850, 1850, 1893, 1852, 1852, 1894,
01392      1894, 1895, 1895, 1897, 1856, 1856, 1898, 1898, 1899, 1900,
01393      1901, 1902, 1853, 1862, 1862, 1903, 1896, 1863, 1863, 1857,
01394      1904, 1866, 1866, 1905, 1905, 1906, 1906, 1908, 1909, 1910,
01395      1911, 1912, 1913, 1914, 1915, 1916, 1867, 1917, 1880, 1880,
01396      1907, 1918, 1919, 1884, 1884, 1920, 1920, 1921, 1921, 1887,
01397      1887, 1923, 1924, 1925, 1925, 1927, 1928, 1885, 1929, 1929,
01398      1932, 1922, 1894, 1894, 1895, 1895, 1933, 1926, 1931, 1931,
01399      1898, 1898, 1934, 1930, 1935, 1936, 1937, 1938, 1942, 1896,
01400 
01401      1905, 1905, 1906, 1906, 1939, 1939, 1940, 1940, 1943, 1944,
01402      1945, 1946, 1947, 1948, 1949, 1950, 1951, 1907, 1952, 1920,
01403      1920, 1941, 1921, 1921, 1953, 1953, 1954, 1955, 1925, 1925,
01404      1956, 1956, 1957, 1958, 1958, 1961, 1922, 1929, 1929, 1960,
01405      1960, 1962, 1926, 1931, 1931, 1963, 1964, 1959, 1965, 1966,
01406      1967, 1969, 1930, 1939, 1939, 1940, 1940, 1968, 1968, 1970,
01407      1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980,
01408      1941, 1953, 1953, 1981, 1956, 1956, 1982, 1958, 1958, 1983,
01409      1983, 1960, 1960, 1984, 1985, 1986, 1987, 1987, 1990, 1991,
01410      1992, 1959, 1968, 1968, 1993, 1994, 1995, 1996, 1997, 1998,
01411 
01412      1999, 1988, 2000, 2001, 2002, 2003, 1983, 1983, 2004, 2005,
01413      2005, 2007, 2007, 1987, 1987, 2009, 2009, 2010, 1989, 2011,
01414      2011, 2013, 2014, 2015, 2006, 2016, 2008, 2017, 1988, 2018,
01415      2019, 2020, 2021, 2022, 2012, 2023, 2024, 2024, 2005, 2005,
01416      2026, 2026, 2007, 2007, 2027, 2027, 2009, 2009, 2028, 2011,
01417      2011, 2025, 2030, 2006, 2029, 2029, 2033, 2008, 2031, 2031,
01418      2034, 2035, 2036, 2037, 2012, 2038, 2039, 2040, 2041, 2024,
01419      2024, 2042, 2042, 2032, 2026, 2026, 2027, 2027, 2043, 2029,
01420      2029, 2044, 2031, 2031, 2025, 2045, 2045, 2046, 2047, 2047,
01421      2049, 2049, 2051, 2052, 2053, 2054, 2055, 2032, 2056, 2042,
01422 
01423      2042, 2057, 2058, 2048, 2059, 2050, 2045, 2045, 2047, 2047,
01424      2060, 2060, 2049, 2049, 2061, 2061, 2062, 2063, 2064, 2065,
01425      2066, 2067, 2068, 2048, 2069, 2070, 2071, 2050, 2060, 2060,
01426      2061, 2061, 2072, 2073, 2074, 2074, 2076, 2076, 2078, 2079,
01427      2079, 2081, 2082, 2083, 2083, 2074, 2074, 2087, 2075, 2085,
01428      2085, 2077, 2076, 2076, 2080, 2086, 2086, 2084, 2089, 2075,
01429      2079, 2079, 2088, 2088, 2090, 2090, 2093, 2077, 2083, 2083,
01430      2092, 2092, 2085, 2085, 2094, 2080, 2086, 2086, 2091, 2088,
01431      2088, 2096, 2084, 2090, 2090, 2095, 2095, 2092, 2092, 2095,
01432      2095, 2097, 2097, 2097, 2097, 2099, 2099, 2091, 2099, 2099,
01433 
01434       869,  866,  863,  862,  861,  860, 2098,  859, 2098,   23,
01435        23,   23,   23,   23,   34,   34,   34,   34,   34,   36,
01436        36,   36,   36,   36,   37,   37,   37,   37,   37,   35,
01437        35,   35,   35,   35,   38,   38,   38,   38,   38,   39,
01438        39,   39,   39,   39,   42,   42,   42,   42,   42,   99,
01439        99,   99,   99,  100,  858,  100,  100,  100,  101,  101,
01440       855,  101,  101,  102,  102,  102,  853,  102,  852,  851,
01441       850,  849,  846,  845,  844,  840,  839,  838,  837,  836,
01442       835,  834,  833,  832,  831,  830,  829,  828,  827,  825,
01443       824,  823,  819,  818,  815,  814,  808,  807,  806,  803,
01444 
01445       802,  801,  800,  799,  798,  797,  796,  792,  789,  788,
01446       787,  786,  785,  784,  781,  780,  779,  778,  777,  775,
01447       774,  771,  770,  769,  768,  766,  765,  764,  763,  762,
01448       761,  760,  759,  758,  757,  756,  755,  754,  753,  752,
01449       751,  750,  749,  748,  747,  745,  744,  743,  742,  741,
01450       740,  739,  738,  737,  736,  734,  733,  728,  727,  726,
01451       724,  723,  722,  721,  715,  714,  713,  710,  709,  708,
01452       707,  706,  705,  704,  703,  702,  701,  698,  697,  696,
01453       690,  689,  688,  687,  686,  685,  684,  677,  676,  675,
01454       674,  673,  672,  671,  670,  669,  668,  667,  666,  665,
01455 
01456       664,  663,  662,  661,  660,  659,  658,  657,  656,  655,
01457       654,  653,  652,  651,  650,  649,  646,  645,  644,  643,
01458       642,  637,  636,  635,  634,  631,  630,  629,  628,  627,
01459       626,  625,  624,  623,  622,  621,  620,  619,  618,  616,
01460       615,  612,  611,  610,  609,  607,  606,  603,  599,  598,
01461       597,  592,  588,  587,  586,  585,  584,  583,  579,  578,
01462       577,  576,  575,  574,  571,  570,  569,  568,  567,  566,
01463       564,  563,  562,  561,  560,  554,  553,  549,  548,  547,
01464       546,  545,  540,  539,  538,  537,  535,  531,  530,  529,
01465       528,  527,  526,  525,  524,  523,  522,  521,  518,  517,
01466 
01467       516,  515,  514,  509,  505,  504,  503,  502,  501,  500,
01468       496,  495,  494,  493,  492,  491,  488,  487,  486,  485,
01469       484,  483,  482,  481,  480,  479,  475,  474,  473,  472,
01470       471,  470,  466,  465,  464,  463,  462,  461,  460,  459,
01471       458,  457,  453,  449,  448,  444,  443,  442,  441,  440,
01472       439,  438,  437,  436,  434,  433,  432,  425,  424,  423,
01473       422,  419,  418,  415,  414,  413,  412,  411,  406,  405,
01474       404,  403,  399,  396,  395,  394,  393,  392,  391,  390,
01475       389,  388,  387,  386,  385,  384,  383,  382,  381,  380,
01476       379,  378,  377,  376,  375,  371,  370,  369,  368,  367,
01477 
01478       366,  365,  364,  363,  362,  361,  360,  359,  358,  357,
01479       352,  351,  350,  349,  348,  347,  346,  345,  341,  340,
01480       339,  336,  335,  334,  333,  332,  331,  330,  329,  328,
01481       327,  326,  325,  320,  319,  318,  315,  312,  311,  308,
01482       307,  306,  305,  304,  303,  302,  298,  297,  296,  295,
01483       294,  293,  292,  291,  290,  289,  288,  285,  284,  283,
01484       282,  281,  280,  279,  278,  277,  276,  272,  271,  270,
01485       267,  266,  265,  264,  263,  262,  261,  260,  259,  258,
01486       257,  256,  251,  250,  249,  248,  245,  244,  241,  238,
01487       233,  225,  222,  221,  217,  216,  211,  210,  209,  208,
01488 
01489       207,  206,  205,  202,  201,  196,  195,  194,  193,  192,
01490       191,  188,  187,  186,  185,  184,  183,  182,  181,  181,
01491       180,  177,  172,  164,  161,  160,  156,  155,  150,  149,
01492       148,  128,  125,  124,  108,  107,  106,  105,   98,   97,
01493        72,  104,  103,   98,   97,   72,   68,   68, 2100,   35,
01494        35,   35,   35,   35,   35,   35,   35,   19, 2100, 2100,
01495      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01496      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01497      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01498      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01499 
01500      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01501      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01502      2100, 2100, 2100
01503     } ;
01504 
01505 static yyconst flex_int16_t yy_chk[3324] =
01506     {   0,
01507         1,    1,    1,    1,    1,   17,    1,   18,    1,    1,
01508         1,    1,    1,    1,    1,   15,    1,    1,    0,   16,
01509        17,   15,   18,    0,    1,   16,   30,   30,   25,    1,
01510        25,   25,   25,   47,    0,   47,   47,   47,   51,   26,
01511        26,   52,   52,   25,   59,   60,    0,   63,   47,   26,
01512        26,   26,   51,   63,   59,   69,   69,  747,   60,   26,
01513        65,   73,   73,   61,    1,    2,    2,    2,    2,    2,
01514        62,    2,   65,    2,    2,    2,    2,    2,    2,    2,
01515        26,    2,    2,   61,   80,   28,   28,  748,   80,    2,
01516        62,   48,   48,   28,    2,   28,   28,   28,   81,  749,
01517 
01518        81,   48,   48,   48,   64,   28,   90,   64,   96,   96,
01519       752,   48,   71,   71,   64,   84,   71,   71,   71,   87,
01520        84,   84,  133,   90,  133,  753,   28,   87,   94,    2,
01521        21,   21,   48,   94,   21,  755,   21,   21,   21,   21,
01522        21,   21,   21,   21,   21,   21,  756,   21,   21,   21,
01523        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
01524        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
01525        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
01526        21,   21,   21,   21,   21,   21,   21,   21,   21,   21,
01527        21,   21,   21,   23,   23,  111,  119,  119,  170,  170,
01528 
01529        23,   23,   23,   23,   23,   23,   23,  122,   23,  132,
01530       119,  111,  118,  132,   50,   50,   23,   70,   70,  118,
01531       757,   23,   50,  122,   50,   50,   50,   70,   70,   70,
01532       142,  139,   23,   23,   50,   23,   23,   70,   23,  139,
01533       244,   23,   23,   23,  244,   89,  148,  142,   23,   23,
01534        23,   23,   23,   29,  148,   50,   92,  209,   70,   89,
01535        29,  758,   89,   89,   89,  209,   92,   29,  126,  126,
01536       126,  759,   92,  127,  127,  136,   92,  146,  181,  181,
01537       136,  136,  146,  127,  127,  127,  231,  231,   29,   29,
01538        29,   29,   29,   29,   29,  151,   29,   29,  151,   29,
01539 
01540        29,   29,   29,   29,  763,   29,   29,   29,   29,   29,
01541        75,   75,   75,   75,   75,   75,   75,  764,   75,   75,
01542       141,   75,   75,   75,   75,   75,  144,   75,   75,   75,
01543        75,   75,  212,  157,  141,  212,  144,  141,  141,  141,
01544       157,  174,  144,  157,  157,  311,  144,  501,  174,  311,
01545       174,  187,  187,  199,  199,  200,  200,  361,  200,  218,
01546       200,  214,  214,  501,  235,  187,  218,  199,  384,  218,
01547       218,  235,  384,  235,  245,  245,  214,  261,  261,  284,
01548       284,  286,  286,  287,  287,  765,  261,  288,  288,  293,
01549       293,  294,  294,  284,  361,  286,  760,  299,  299,  766,
01550 
01551       299,  288,  299,  293,  760,  294,  303,  303,  306,  306,
01552       312,  312,  316,  316,  317,  317,  327,  327,  332,  332,
01553       303,  768,  306,  330,  330,  312,  464,  316,  343,  343,
01554       464,  327,  330,  332,  350,  350,  368,  368,  377,  327,
01555       377,  375,  375,  343,  772,  368,  378,  378,  584,  350,
01556       375,  368,  773,  397,  397,  774,  375,  398,  398,  332,
01557       398,  378,  398,  343,  584,  312,  312,  397,  400,  400,
01558       401,  401,  402,  402,  407,  407,  408,  408,  775,  350,
01559       409,  409,  410,  410,  401,  410,  437,  410,  407,  416,
01560       416,  777,  417,  417,  409,  417,  643,  417,  420,  420,
01561 
01562       643,  421,  421,  416,  421,  778,  421,  422,  422,  428,
01563       428,  779,  420,  429,  429,  435,  435,  444,  444,  445,
01564       445,  422,  780,  437,  428,  446,  446,  453,  453,  454,
01565       454,  457,  444,  457,  445,  455,  455,  458,  458,  462,
01566       462,  493,  453,  493,  454,  467,  467,  468,  468,  473,
01567       473,  576,  458,  576,  462,  476,  476,  477,  477,  653,
01568       467,  653,  497,  497,  473,  499,  499,  506,  506,  462,
01569       476,  497,  508,  508,  512,  512,  506,  497,  499,  536,
01570       536,  781,  506,  532,  532,  508,  532,  782,  532,  512,
01571       541,  541,  542,  542,  733,  542,  733,  542,  546,  546,
01572 
01573       547,  547,  548,  548,  550,  550,  783,  550,  784,  550,
01574       555,  555,  546,  555,  547,  555,  548,  558,  558,  559,
01575       559,  785,  559,  786,  559,  560,  560,  564,  564,  565,
01576       565,  558,  580,  580,  581,  581,  582,  582,  787,  560,
01577       583,  583,  564,  589,  589,  590,  590,  580,  591,  591,
01578       595,  595,  596,  596,  788,  583,  597,  597,  589,  600,
01579       600,  601,  601,  608,  608,  595,  613,  613,  614,  614,
01580       790,  597,  617,  617,  600,  637,  637,  638,  638,  646,
01581       646,  613,  647,  647,  660,  597,  679,  679,  660,  791,
01582       638,  662,  662,  672,  672,  647,  678,  678,  680,  680,
01583 
01584       662,  682,  682,  683,  683,  792,  662,  672,  681,  681,
01585       678,  681,  680,  681,  789,  682,  688,  688,  691,  691,
01586       789,  691,  794,  691,  694,  694,  695,  695,  796,  695,
01587       688,  695,  699,  699,  700,  700,  715,  715,  694,  716,
01588       716,  717,  717,  718,  718,  722,  741,  699,  798,  722,
01589       741,  715,  725,  725,  729,  729,  717,  730,  730,  731,
01590       731,  735,  735,  743,  743,  745,  745,  746,  746,  762,
01591       762,  762,  730,  767,  767,  769,  769,  799,  743,  801,
01592       745,  762,  776,  776,  769,  793,  793,  762,  795,  795,
01593       769,  800,  800,  802,  793,  803,  804,  804,  806,  811,
01594 
01595       793,  795,  812,  805,  805,  800,  805,  814,  805,  815,
01596       804,  807,  807,  809,  809,  808,  821,  808,  813,  813,
01597       808,  808,  816,  816,  822,  807,  808,  808,  825,  808,
01598       810,  810,  808,  810,  827,  810,  816,  817,  817,  829,
01599       817,  830,  817,  820,  820,  831,  820,  832,  820,  823,
01600       823,  824,  824,  826,  826,  828,  828,  833,  837,  834,
01601       835,  835,  838,  839,  823,  840,  824,  834,  842,  842,
01602       828,  836,  836,  836,  847,  835,  841,  841,  843,  843,
01603       844,  844,  848,  836,  845,  845,  846,  846,  849,  836,
01604       850,  841,  851,  852,  853,  844,  854,  854,  855,  845,
01605 
01606       856,  846,  857,  858,  859,  860,  860,  861,  862,  863,
01607       863,  864,  865,  866,  867,  867,  868,  868,  869,  873,
01608       860,  870,  870,  874,  863,  871,  871,  872,  872,  867,
01609       875,  876,  877,  878,  879,  880,  870,  863,  881,  882,
01610       883,  884,  872,  863,  885,  886,  860,  887,  888,  889,
01611       890,  891,  892,  891,  893,  894,  894,  895,  896,  896,
01612       897,  898,  899,  900,  894,  901,  902,  903,  904,  905,
01613       894,  896,  906,  907,  910,  911,  912,  913,  912,  914,
01614       915,  916,  917,  918,  918,  919,  919,  920,  921,  923,
01615       924,  924,  925,  925,  926,  925,  927,  925,  919,  928,
01616 
01617       929,  929,  930,  929,  924,  929,  931,  932,  933,  933,
01618       934,  934,  935,  934,  936,  934,  936,  937,  938,  939,
01619       941,  940,  933,  942,  945,  946,  947,  947,  948,  947,
01620       949,  947,  952,  952,  953,  953,  956,  939,  940,  954,
01621       954,  957,  941,  955,  955,  958,  958,  952,  959,  959,
01622       960,  961,  962,  963,  954,  964,  965,  966,  967,  967,
01623       958,  968,  968,  969,  970,  971,  972,  973,  974,  975,
01624       976,  977,  976,  967,  978,  978,  979,  979,  980,  980,
01625       981,  981,  982,  982,  983,  983,  984,  984,  985,  986,
01626       987,  979,  988,  989,  990,  981,  991,  992,  993,  983,
01627 
01628       994,  995,  995,  996,  996,  997,  997,  998,  998,  999,
01629      1000, 1001, 1004, 1001, 1002, 1002,  995, 1005,  996, 1006,
01630       997, 1003, 1003, 1007, 1008, 1009, 1009, 1010, 1015, 1002,
01631      1011, 1011, 1012, 1012, 1013, 1013, 1014, 1014, 1016, 1017,
01632      1018, 1019, 1020, 1021, 1022, 1023, 1024, 1012, 1025, 1026,
01633      1027, 1014, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035,
01634      1036, 1036, 1037, 1037, 1038, 1039, 1040, 1041, 1042, 1043,
01635      1044, 1045, 1046, 1047, 1048, 1037, 1049, 1050, 1051, 1052,
01636      1053, 1054, 1055, 1056, 1057, 1058, 1059, 1059, 1060, 1061,
01637      1063, 1063, 1064, 1063, 1065, 1063, 1066, 1067, 1068, 1071,
01638 
01639      1072, 1072, 1075, 1072, 1077, 1072, 1076, 1076, 1078, 1079,
01640      1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1093,
01641      1076, 1091, 1091, 1092, 1092, 1094, 1095, 1095, 1096, 1097,
01642      1098, 1099, 1100, 1101, 1102, 1103, 1103, 1104, 1105, 1106,
01643      1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1114, 1115,
01644      1115, 1116, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123,
01645      1124, 1125, 1126, 1127, 1127, 1128, 1128, 1129, 1129, 1130,
01646      1130, 1131, 1131, 1132, 1133, 1134, 1135, 1137, 1127, 1136,
01647      1136, 1138, 1129, 1139, 1140, 1141, 1142, 1143, 1143, 1144,
01648      1144, 1145, 1145, 1146, 1146, 1147, 1148, 1149, 1150, 1151,
01649 
01650      1152, 1153, 1154, 1155, 1144, 1156, 1157, 1158, 1146, 1159,
01651      1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1167, 1168,
01652      1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179,
01653      1180, 1181, 1182, 1183, 1184, 1186, 1187, 1188, 1189, 1193,
01654      1193, 1194, 1194, 1195, 1195, 1196, 1197, 1197, 1198, 1198,
01655      1199, 1199, 1200, 1193, 1201, 1194, 1202, 1195, 1203, 1203,
01656      1197, 1204, 1198, 1205, 1206, 1207, 1207, 1208, 1209, 1209,
01657      1210, 1212, 1203, 1211, 1211, 1213, 1214, 1215, 1216, 1207,
01658      1217, 1218, 1209, 1219, 1220, 1221, 1222, 1211, 1223, 1224,
01659      1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1203,
01660 
01661      1234, 1197, 1235, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
01662      1241, 1242, 1242, 1209, 1243, 1244, 1245, 1235, 1246, 1247,
01663      1248, 1248, 1249, 1250, 1251, 1252, 1252, 1253, 1253, 1254,
01664      1254, 1255, 1255, 1256, 1258, 1248, 1259, 1259, 1260, 1263,
01665      1252, 1262, 1262, 1265, 1254, 1259, 1266, 1267, 1268, 1269,
01666      1262, 1259, 1270, 1271, 1272, 1273, 1262, 1274, 1275, 1275,
01667      1276, 1277, 1279, 1280, 1281, 1281, 1282, 1283, 1284, 1285,
01668      1286, 1287, 1288, 1275, 1289, 1290, 1292, 1293, 1294, 1281,
01669      1295, 1296, 1296, 1297, 1297, 1305, 1297, 1307, 1297, 1298,
01670      1298, 1299, 1299, 1300, 1300, 1296, 1301, 1301, 1302, 1302,
01671 
01672      1303, 1303, 1308, 1298, 1304, 1304, 1309, 1300, 1306, 1306,
01673      1310, 1310, 1302, 1312, 1303, 1311, 1311, 1313, 1314, 1315,
01674      1316, 1316, 1317, 1317, 1310, 1318, 1319, 1319, 1320, 1320,
01675      1321, 1322, 1323, 1323, 1316, 1324, 1324, 1325, 1326, 1326,
01676      1319, 1327, 1329, 1314, 1328, 1328, 1323, 1330, 1330, 1331,
01677      1331, 1332, 1334, 1326, 1333, 1333, 1335, 1336, 1337, 1328,
01678      1338, 1339, 1330, 1340, 1331, 1341, 1342, 1343, 1344, 1333,
01679      1345, 1345, 1346, 1347, 1348, 1348, 1349, 1349, 1350, 1351,
01680      1352, 1353, 1354, 1355, 1356, 1345, 1357, 1358, 1362, 1348,
01681      1359, 1359, 1360, 1360, 1361, 1361, 1363, 1364, 1365, 1365,
01682 
01683      1366, 1366, 1367, 1367, 1368, 1359, 1371, 1360, 1370, 1370,
01684      1373, 1372, 1372, 1365, 1375, 1376, 1376, 1370, 1374, 1374,
01685      1377, 1378, 1379, 1370, 1372, 1380, 1381, 1374, 1376, 1382,
01686      1383, 1384, 1385, 1374, 1387, 1388, 1388, 1389, 1389, 1390,
01687      1393, 1394, 1394, 1395, 1395, 1399, 1400, 1401, 1402, 1403,
01688      1388, 1404, 1405, 1406, 1407, 1408, 1394, 1409, 1409, 1410,
01689      1409, 1411, 1409, 1412, 1412, 1413, 1413, 1414, 1414, 1415,
01690      1415, 1417, 1415, 1418, 1415, 1416, 1416, 1419, 1419, 1420,
01691      1422, 1414, 1421, 1421, 1423, 1424, 1425, 1425, 1426, 1427,
01692      1427, 1419, 1428, 1429, 1429, 1423, 1430, 1431, 1431, 1433,
01693 
01694      1425, 1423, 1432, 1432, 1434, 1434, 1435, 1435, 1436, 1436,
01695      1439, 1431, 1437, 1437, 1438, 1438, 1440, 1440, 1444, 1434,
01696      1441, 1441, 1447, 1436, 1442, 1442, 1448, 1437, 1443, 1443,
01697      1449, 1440, 1445, 1445, 1446, 1446, 1450, 1451, 1452, 1442,
01698      1453, 1454, 1455, 1455, 1456, 1457, 1457, 1445, 1458, 1458,
01699      1459, 1459, 1460, 1460, 1461, 1462, 1462, 1455, 1463, 1463,
01700      1457, 1464, 1464, 1458, 1465, 1465, 1466, 1460, 1467, 1468,
01701      1469, 1470, 1471, 1463, 1472, 1472, 1464, 1473, 1473, 1465,
01702      1474, 1474, 1475, 1475, 1476, 1477, 1478, 1478, 1479, 1472,
01703      1480, 1480, 1481, 1481, 1482, 1483, 1486, 1475, 1484, 1484,
01704 
01705      1485, 1485, 1488, 1483, 1489, 1481, 1490, 1491, 1492, 1493,
01706      1494, 1495, 1496, 1485, 1497, 1497, 1498, 1500, 1500, 1501,
01707      1502, 1503, 1504, 1505, 1508, 1509, 1510, 1513, 1513, 1516,
01708      1513, 1517, 1513, 1518, 1518, 1519, 1519, 1475, 1520, 1520,
01709      1521, 1522, 1523, 1524, 1525, 1526, 1526, 1518, 1527, 1527,
01710      1528, 1529, 1520, 1530, 1531, 1531, 1523, 1532, 1532, 1526,
01711      1532, 1533, 1532, 1534, 1534, 1535, 1535, 1538, 1531, 1536,
01712      1536, 1537, 1537, 1539, 1539, 1538, 1540, 1540, 1541, 1541,
01713      1535, 1542, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549,
01714      1550, 1551, 1551, 1541, 1552, 1552, 1553, 1554, 1554, 1555,
01715 
01716      1555, 1556, 1556, 1557, 1557, 1566, 1551, 1558, 1558, 1559,
01717      1559, 1567, 1554, 1560, 1560, 1561, 1561, 1568, 1557, 1562,
01718      1562, 1563, 1563, 1569, 1559, 1564, 1564, 1570, 1560, 1565,
01719      1565, 1571, 1571, 1576, 1562, 1572, 1572, 1573, 1573, 1577,
01720      1564, 1574, 1574, 1575, 1575, 1578, 1571, 1579, 1579, 1580,
01721      1581, 1582, 1573, 1583, 1583, 1584, 1585, 1586, 1575, 1587,
01722      1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597,
01723      1598, 1599, 1601, 1602, 1603, 1604, 1605, 1605, 1606, 1606,
01724      1607, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1614,
01725      1615, 1616, 1606, 1617, 1618, 1618, 1621, 1618, 1623, 1618,
01726 
01727      1622, 1622, 1624, 1625, 1625, 1626, 1626, 1627, 1628, 1629,
01728      1630, 1631, 1632, 1633, 1634, 1635, 1635, 1636, 1625, 1637,
01729      1637, 1638, 1638, 1639, 1639, 1640, 1640, 1641, 1641, 1642,
01730      1642, 1643, 1643, 1644, 1645, 1646, 1647, 1648, 1639, 1649,
01731      1649, 1650, 1650, 1651, 1651, 1652, 1652, 1653, 1653, 1654,
01732      1654, 1655, 1656, 1657, 1649, 1658, 1659, 1660, 1661, 1662,
01733      1652, 1663, 1664, 1665, 1654, 1666, 1667, 1668, 1669, 1670,
01734      1671, 1672, 1674, 1675, 1676, 1677, 1677, 1678, 1679, 1680,
01735      1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689,
01736      1677, 1690, 1691, 1692, 1693, 1693, 1694, 1695, 1696, 1697,
01737 
01738      1698, 1699, 1700, 1701, 1702, 1703, 1703, 1704, 1705, 1706,
01739      1706, 1707, 1708, 1709, 1709, 1710, 1710, 1711, 1711, 1712,
01740      1712, 1713, 1715, 1716, 1706, 1717, 1718, 1719, 1720, 1721,
01741      1722, 1723, 1711, 1724, 1727, 1728, 1729, 1730, 1731, 1732,
01742      1733, 1734, 1734, 1735, 1735, 1736, 1737, 1738, 1722, 1739,
01743      1740, 1741, 1742, 1743, 1743, 1745, 1734, 1744, 1744, 1746,
01744      1746, 1747, 1747, 1748, 1749, 1750, 1751, 1743, 1752, 1753,
01745      1754, 1744, 1755, 1746, 1756, 1756, 1747, 1757, 1757, 1758,
01746      1759, 1760, 1761, 1761, 1762, 1762, 1763, 1753, 1764, 1756,
01747      1765, 1765, 1757, 1766, 1767, 1768, 1770, 1761, 1771, 1772,
01748 
01749      1774, 1775, 1776, 1777, 1778, 1779, 1779, 1780, 1782, 1783,
01750      1784, 1785, 1785, 1786, 1787, 1788, 1788, 1789, 1790, 1791,
01751      1779, 1792, 1793, 1793, 1794, 1794, 1795, 1795, 1797, 1788,
01752      1796, 1796, 1798, 1798, 1799, 1799, 1793, 1800, 1800, 1802,
01753      1795, 1801, 1801, 1803, 1803, 1804, 1798, 1805, 1806, 1806,
01754      1807, 1808, 1800, 1809, 1810, 1811, 1811, 1815, 1803, 1812,
01755      1812, 1813, 1813, 1806, 1814, 1814, 1816, 1817, 1817, 1819,
01756      1811, 1818, 1818, 1820, 1821, 1822, 1813, 1823, 1824, 1826,
01757      1827, 1828, 1817, 1829, 1830, 1831, 1832, 1832, 1833, 1833,
01758      1834, 1836, 1837, 1838, 1838, 1839, 1840, 1840, 1841, 1841,
01759 
01760      1842, 1832, 1843, 1844, 1845, 1846, 1846, 1838, 1847, 1847,
01761      1840, 1848, 1849, 1849, 1850, 1850, 1851, 1852, 1852, 1853,
01762      1853, 1854, 1854, 1855, 1856, 1856, 1857, 1857, 1858, 1859,
01763      1860, 1861, 1852, 1862, 1862, 1864, 1854, 1863, 1863, 1856,
01764      1865, 1866, 1866, 1867, 1867, 1868, 1868, 1869, 1870, 1871,
01765      1873, 1874, 1875, 1876, 1877, 1878, 1866, 1879, 1880, 1880,
01766      1868, 1881, 1883, 1884, 1884, 1885, 1885, 1886, 1886, 1887,
01767      1887, 1888, 1889, 1890, 1890, 1891, 1892, 1884, 1893, 1893,
01768      1897, 1886, 1894, 1894, 1895, 1895, 1899, 1890, 1896, 1896,
01769      1898, 1898, 1900, 1893, 1901, 1902, 1903, 1904, 1909, 1895,
01770 
01771      1905, 1905, 1906, 1906, 1907, 1907, 1908, 1908, 1910, 1911,
01772      1912, 1913, 1914, 1915, 1916, 1917, 1918, 1906, 1919, 1920,
01773      1920, 1908, 1921, 1921, 1922, 1922, 1923, 1924, 1925, 1925,
01774      1926, 1926, 1927, 1928, 1928, 1932, 1921, 1929, 1929, 1930,
01775      1930, 1933, 1925, 1931, 1931, 1934, 1935, 1928, 1936, 1937,
01776      1938, 1942, 1929, 1939, 1939, 1940, 1940, 1941, 1941, 1943,
01777      1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1954,
01778      1940, 1953, 1953, 1955, 1956, 1956, 1957, 1958, 1958, 1959,
01779      1959, 1960, 1960, 1961, 1962, 1963, 1964, 1964, 1965, 1966,
01780      1967, 1958, 1968, 1968, 1969, 1970, 1971, 1972, 1975, 1977,
01781 
01782      1978, 1964, 1979, 1980, 1981, 1982, 1983, 1983, 1984, 1985,
01783      1985, 1986, 1986, 1987, 1987, 1988, 1988, 1989, 1964, 1990,
01784      1990, 1991, 1992, 1993, 1985, 1994, 1986, 1995, 1987, 1997,
01785      1998, 2000, 2001, 2002, 1990, 2003, 2004, 2004, 2005, 2005,
01786      2006, 2006, 2007, 2007, 2008, 2008, 2009, 2009, 2010, 2011,
01787      2011, 2004, 2013, 2005, 2012, 2012, 2015, 2007, 2014, 2014,
01788      2016, 2017, 2018, 2019, 2011, 2020, 2021, 2022, 2023, 2024,
01789      2024, 2025, 2025, 2014, 2026, 2026, 2027, 2027, 2028, 2029,
01790      2029, 2030, 2031, 2031, 2024, 2032, 2032, 2033, 2034, 2034,
01791      2035, 2035, 2036, 2037, 2038, 2039, 2040, 2031, 2041, 2042,
01792 
01793      2042, 2043, 2044, 2034, 2046, 2035, 2045, 2045, 2047, 2047,
01794      2048, 2048, 2049, 2049, 2050, 2050, 2051, 2052, 2053, 2054,
01795      2055, 2056, 2057, 2047, 2058, 2059, 2063, 2049, 2060, 2060,
01796      2061, 2061, 2065, 2066, 2067, 2067, 2068, 2068, 2069, 2070,
01797      2070, 2071, 2072, 2073, 2073, 2074, 2074, 2078, 2067, 2075,
01798      2075, 2068, 2076, 2076, 2070, 2077, 2077, 2073, 2081, 2074,
01799      2079, 2079, 2080, 2080, 2082, 2082, 2087, 2076, 2083, 2083,
01800      2084, 2084, 2085, 2085, 2089, 2079, 2086, 2086, 2082, 2088,
01801      2088, 2093, 2083, 2090, 2090, 2091, 2091, 2092, 2092, 2095,
01802      2095, 2096, 2096, 2097, 2097, 2098, 2098, 2090, 2099, 2099,
01803 
01804       744,  742,  740,  739,  738,  737, 2096,  736, 2097, 2101,
01805      2101, 2101, 2101, 2101, 2102, 2102, 2102, 2102, 2102, 2103,
01806      2103, 2103, 2103, 2103, 2104, 2104, 2104, 2104, 2104, 2105,
01807      2105, 2105, 2105, 2105, 2106, 2106, 2106, 2106, 2106, 2107,
01808      2107, 2107, 2107, 2107, 2108, 2108, 2108, 2108, 2108, 2109,
01809      2109, 2109, 2109, 2110,  734, 2110, 2110, 2110, 2111, 2111,
01810       732, 2111, 2111, 2112, 2112, 2112,  728, 2112,  727,  726,
01811       724,  723,  721,  720,  719,  714,  713,  712,  711,  710,
01812       709,  708,  707,  706,  705,  704,  703,  702,  701,  698,
01813       697,  696,  693,  692,  687,  684,  677,  674,  673,  671,
01814 
01815       670,  669,  668,  667,  666,  665,  663,  661,  659,  658,
01816       657,  656,  655,  654,  652,  651,  650,  649,  648,  645,
01817       644,  642,  641,  640,  639,  635,  634,  633,  632,  631,
01818       630,  629,  628,  627,  626,  625,  624,  623,  622,  621,
01819       620,  619,  618,  616,  615,  612,  611,  610,  609,  607,
01820       606,  605,  604,  603,  602,  599,  598,  594,  593,  592,
01821       588,  587,  586,  585,  579,  578,  577,  575,  574,  573,
01822       572,  571,  570,  569,  568,  567,  566,  563,  562,  561,
01823       557,  556,  554,  553,  552,  551,  549,  545,  544,  543,
01824       540,  539,  538,  537,  535,  531,  530,  529,  528,  527,
01825 
01826       526,  525,  524,  523,  522,  521,  520,  519,  518,  517,
01827       516,  515,  514,  511,  510,  509,  507,  505,  504,  503,
01828       502,  498,  496,  495,  494,  492,  491,  490,  489,  488,
01829       487,  486,  485,  484,  483,  481,  480,  479,  478,  475,
01830       474,  472,  471,  470,  469,  466,  465,  463,  461,  460,
01831       459,  456,  452,  451,  450,  449,  448,  447,  443,  442,
01832       441,  440,  439,  438,  436,  434,  433,  432,  431,  430,
01833       427,  426,  425,  424,  423,  419,  418,  415,  414,  413,
01834       412,  411,  406,  405,  404,  403,  399,  396,  395,  394,
01835       393,  392,  390,  389,  388,  387,  386,  385,  383,  382,
01836 
01837       381,  380,  379,  376,  374,  373,  372,  371,  370,  369,
01838       367,  366,  365,  364,  363,  362,  360,  359,  358,  357,
01839       356,  355,  354,  353,  352,  351,  349,  348,  347,  346,
01840       345,  344,  342,  341,  340,  339,  338,  337,  336,  335,
01841       334,  333,  331,  329,  328,  326,  325,  324,  323,  322,
01842       321,  320,  319,  318,  315,  314,  313,  310,  309,  308,
01843       307,  305,  304,  302,  298,  297,  296,  295,  292,  291,
01844       290,  289,  285,  283,  282,  281,  280,  279,  278,  277,
01845       276,  275,  274,  273,  272,  271,  270,  269,  268,  267,
01846       266,  265,  264,  263,  262,  260,  259,  258,  257,  256,
01847 
01848       255,  254,  253,  252,  251,  250,  249,  248,  247,  246,
01849       243,  242,  241,  240,  239,  238,  237,  236,  234,  233,
01850       232,  230,  229,  228,  227,  226,  225,  224,  223,  222,
01851       221,  220,  219,  217,  216,  215,  213,  211,  210,  207,
01852       206,  205,  204,  203,  202,  201,  198,  197,  196,  195,
01853       194,  193,  192,  191,  190,  189,  188,  186,  185,  184,
01854       183,  180,  179,  178,  177,  176,  175,  173,  172,  171,
01855       169,  168,  167,  166,  165,  164,  163,  162,  161,  160,
01856       159,  158,  156,  155,  154,  152,  150,  149,  147,  145,
01857       143,  140,  138,  137,  135,  134,  131,  130,  129,  128,
01858 
01859       125,  124,  123,  121,  120,  117,  116,  115,  114,  113,
01860       112,  110,  109,  108,  107,  106,  105,  103,   98,   97,
01861        95,   93,   91,   88,   86,   85,   83,   82,   79,   78,
01862        77,   74,   67,   66,   58,   57,   56,   55,   54,   53,
01863        49,   44,   41,   32,   31,   27,   24,   22,   19,   14,
01864        13,    8,    7,    6,    5,    4,    3, 2100, 2100, 2100,
01865      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01866      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01867      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01868      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01869 
01870      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01871      2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100,
01872      2100, 2100, 2100
01873     } ;
01874 
01875 /* Table of booleans, true if rule could match eol. */
01876 static yyconst flex_int32_t yy_rule_can_match_eol[261] =
01877     {   0,
01878 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01879     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01880     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01881     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01882     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01883     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01884     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01885     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01886     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01887     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01888     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01889     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01890     1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 
01891     0,     };
01892 
01893 /* The intent behind this definition is that it'll catch
01894  * any uses of REJECT which flex missed.
01895  */
01896 #define REJECT reject_used_but_not_detected
01897 #define yymore() yymore_used_but_not_detected
01898 #define YY_MORE_ADJ 0
01899 #define YY_RESTORE_YY_MORE_OFFSET
01900 #line 1 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
01901 /* $Id: OSParseosol.cpp 4381 2011-11-09 09:10:35Z kmartin $ */
01914 #line 15 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
01915 
01916 #include "OSConfig.h"
01917 
01918 #include <iostream>
01919 #include <sstream>  
01920 
01921 #ifdef HAVE_CSTDIO
01922 # include <cstdio>
01923 #else
01924 # ifdef HAVE_STDIO_H
01925 #  include <stdio.h>
01926 # else
01927 #  error "don't have header file for stdio"
01928 # endif
01929 #endif
01930 
01931 #ifdef HAVE_CTIME
01932 # include <ctime>
01933 #else
01934 # ifdef HAVE_TIME_H
01935 #  include <time.h>
01936 # else
01937 #  error "don't have header file for time"
01938 # endif
01939 #endif
01940 
01941 #ifdef HAVE_CMATH
01942 # include <cmath>
01943 #else
01944 # ifdef HAVE_MATH_H
01945 #  include <math.h>
01946 # else
01947 #  error "don't have header file for math"
01948 # endif
01949 #endif
01950  
01951 
01952 //#define PARSERDEBUG
01953 #ifdef PARSERDEBUG
01954 
01955         #define YY_PRINT  printf("%s", yytext);
01956 #else     
01957         #define YY_PRINT  ;
01958 #endif
01959 
01960 
01961 #ifdef WIN_
01962   #define YY_NO_UNISTD_H
01963   #include <io.h>
01964   #include <process.h>
01965   #ifdef USE_OLD_UNISTD
01966      #include<sys/unistd.h>  
01967   #endif
01968 #endif
01969 
01970 #include "OSErrorClass.h"
01971 #include "OSMathUtil.h"
01972 #include "OSGeneral.h"
01973 #include "OSParseosol.tab.hpp"
01974 #include "OSOption.h"
01975 #include "OSoLParserData.h"
01976 
01977 using std::cout;
01978 using std::endl;
01979 using std::ostringstream;
01980 
01981 
01982 
01983 
01984 
01985 
01986 
01987 
01988 
01989 #line 103 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
01990 #define YY_EXTRA_TYPE OSoLParserData*
01991 #line 1992 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.cpp"
01992 
01993 #define INITIAL 0
01994 #define osolattributetext 1
01995 #define doublequoteattributetext 2
01996 #define singlequoteattributetext 3
01997 #define startelement 4
01998 #define elementtext 5
01999 #define itemtext 6
02000 #define comment 7
02001 #define xmldeclaration 8
02002 
02003 #ifndef YY_NO_UNISTD_H
02004 /* Special case for "unistd.h", since it is non-ANSI. We include it way
02005  * down here because we want the user's section 1 to have been scanned first.
02006  * The user has a chance to override it with an option.
02007  */
02008 #include <unistd.h>
02009 #endif
02010 
02011 #ifndef YY_EXTRA_TYPE
02012 #define YY_EXTRA_TYPE void *
02013 #endif
02014 
02015 /* Holds the entire state of the reentrant scanner. */
02016 struct yyguts_t
02017     {
02018 
02019     /* User-defined. Not touched by flex. */
02020     YY_EXTRA_TYPE yyextra_r;
02021 
02022     /* The rest are the same as the globals declared in the non-reentrant scanner. */
02023     FILE *yyin_r, *yyout_r;
02024     size_t yy_buffer_stack_top; 
02025     size_t yy_buffer_stack_max; 
02026     YY_BUFFER_STATE * yy_buffer_stack; 
02027     char yy_hold_char;
02028     int yy_n_chars;
02029     int yyleng_r;
02030     char *yy_c_buf_p;
02031     int yy_init;
02032     int yy_start;
02033     int yy_did_buffer_switch_on_eof;
02034     int yy_start_stack_ptr;
02035     int yy_start_stack_depth;
02036     int *yy_start_stack;
02037     yy_state_type yy_last_accepting_state;
02038     char* yy_last_accepting_cpos;
02039 
02040     int yylineno_r;
02041     int yy_flex_debug_r;
02042 
02043     char *yytext_r;
02044     int yy_more_flag;
02045     int yy_more_len;
02046 
02047     YYSTYPE * yylval_r;
02048 
02049     YYLTYPE * yylloc_r;
02050 
02051     }; /* end struct yyguts_t */
02052 
02053 static int yy_init_globals (yyscan_t yyscanner );
02054 
02055     /* This must go here because YYSTYPE and YYLTYPE are included
02056      * from bison output in section 1.*/
02057     #    define yylval yyg->yylval_r
02058     
02059     #    define yylloc yyg->yylloc_r
02060     
02061 int osollex_init (yyscan_t* scanner);
02062 
02063 int osollex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
02064 
02065 /* Accessor methods to globals.
02066    These are made visible to non-reentrant scanners for convenience. */
02067 
02068 int osollex_destroy (yyscan_t yyscanner );
02069 
02070 int osolget_debug (yyscan_t yyscanner );
02071 
02072 void osolset_debug (int debug_flag ,yyscan_t yyscanner );
02073 
02074 YY_EXTRA_TYPE osolget_extra (yyscan_t yyscanner );
02075 
02076 void osolset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
02077 
02078 FILE *osolget_in (yyscan_t yyscanner );
02079 
02080 void osolset_in  (FILE * in_str ,yyscan_t yyscanner );
02081 
02082 FILE *osolget_out (yyscan_t yyscanner );
02083 
02084 void osolset_out  (FILE * out_str ,yyscan_t yyscanner );
02085 
02086 int osolget_leng (yyscan_t yyscanner );
02087 
02088 char *osolget_text (yyscan_t yyscanner );
02089 
02090 int osolget_lineno (yyscan_t yyscanner );
02091 
02092 void osolset_lineno (int line_number ,yyscan_t yyscanner );
02093 
02094 YYSTYPE * osolget_lval (yyscan_t yyscanner );
02095 
02096 void osolset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
02097 
02098        YYLTYPE *osolget_lloc (yyscan_t yyscanner );
02099     
02100         void osolset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
02101     
02102 /* Macros after this point can all be overridden by user definitions in
02103  * section 1.
02104  */
02105 
02106 #ifndef YY_SKIP_YYWRAP
02107 #ifdef __cplusplus
02108 extern "C" int osolwrap (yyscan_t yyscanner );
02109 #else
02110 extern int osolwrap (yyscan_t yyscanner );
02111 #endif
02112 #endif
02113 
02114 #ifndef yytext_ptr
02115 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
02116 #endif
02117 
02118 #ifdef YY_NEED_STRLEN
02119 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
02120 #endif
02121 
02122 #ifndef YY_NO_INPUT
02123 
02124 #ifdef __cplusplus
02125 static int yyinput (yyscan_t yyscanner );
02126 #else
02127 static int input (yyscan_t yyscanner );
02128 #endif
02129 
02130 #endif
02131 
02132 /* Amount of stuff to slurp up with each read. */
02133 #ifndef YY_READ_BUF_SIZE
02134 #ifdef __ia64__
02135 /* On IA-64, the buffer size is 16k, not 8k */
02136 #define YY_READ_BUF_SIZE 16384
02137 #else
02138 #define YY_READ_BUF_SIZE 8192
02139 #endif /* __ia64__ */
02140 #endif
02141 
02142 /* Copy whatever the last rule matched to the standard output. */
02143 #ifndef ECHO
02144 /* This used to be an fputs(), but since the string might contain NUL's,
02145  * we now use fwrite().
02146  */
02147 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
02148 #endif
02149 
02150 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
02151  * is returned in "result".
02152  */
02153 #ifndef YY_INPUT
02154 #define YY_INPUT(buf,result,max_size) \
02155         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
02156                 { \
02157                 int c = '*'; \
02158                 size_t n; \
02159                 for ( n = 0; n < max_size && \
02160                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
02161                         buf[n] = (char) c; \
02162                 if ( c == '\n' ) \
02163                         buf[n++] = (char) c; \
02164                 if ( c == EOF && ferror( yyin ) ) \
02165                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
02166                 result = n; \
02167                 } \
02168         else \
02169                 { \
02170                 errno=0; \
02171                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
02172                         { \
02173                         if( errno != EINTR) \
02174                                 { \
02175                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
02176                                 break; \
02177                                 } \
02178                         errno=0; \
02179                         clearerr(yyin); \
02180                         } \
02181                 }\
02182 \
02183 
02184 #endif
02185 
02186 /* No semi-colon after return; correct usage is to write "yyterminate();" -
02187  * we don't want an extra ';' after the "return" because that will cause
02188  * some compilers to complain about unreachable statements.
02189  */
02190 #ifndef yyterminate
02191 #define yyterminate() return YY_NULL
02192 #endif
02193 
02194 /* Number of entries by which start-condition stack grows. */
02195 #ifndef YY_START_STACK_INCR
02196 #define YY_START_STACK_INCR 25
02197 #endif
02198 
02199 /* Report a fatal error. */
02200 #ifndef YY_FATAL_ERROR
02201 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
02202 #endif
02203 
02204 /* end tables serialization structures and prototypes */
02205 
02206 /* Default declaration of generated scanner - a define so the user can
02207  * easily add parameters.
02208  */
02209 #ifndef YY_DECL
02210 #define YY_DECL_IS_OURS 1
02211 
02212 extern int osollex \
02213                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
02214 
02215 #define YY_DECL int osollex \
02216                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
02217 #endif /* !YY_DECL */
02218 
02219 /* Code executed at the beginning of each rule, after yytext and yyleng
02220  * have been set up.
02221  */
02222 #ifndef YY_USER_ACTION
02223 #define YY_USER_ACTION
02224 #endif
02225 
02226 /* Code executed at the end of each rule. */
02227 #ifndef YY_BREAK
02228 #define YY_BREAK break;
02229 #endif
02230 
02231 #define YY_RULE_SETUP \
02232         YY_USER_ACTION
02233 
02236 YY_DECL
02237 {
02238         register yy_state_type yy_current_state;
02239         register char *yy_cp, *yy_bp;
02240         register int yy_act;
02241     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02242 
02243 #line 113 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02244 
02245 
02246  
02247 #line 2248 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.cpp"
02248 
02249     yylval = yylval_param;
02250 
02251     yylloc = yylloc_param;
02252 
02253         if ( !yyg->yy_init )
02254                 {
02255                 yyg->yy_init = 1;
02256 
02257 #ifdef YY_USER_INIT
02258                 YY_USER_INIT;
02259 #endif
02260 
02261                 if ( ! yyg->yy_start )
02262                         yyg->yy_start = 1;      /* first start state */
02263 
02264                 if ( ! yyin )
02265                         yyin = stdin;
02266 
02267                 if ( ! yyout )
02268                         yyout = stdout;
02269 
02270                 if ( ! YY_CURRENT_BUFFER ) {
02271                         osolensure_buffer_stack (yyscanner);
02272                         YY_CURRENT_BUFFER_LVALUE =
02273                                 osol_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02274                 }
02275 
02276                 osol_load_buffer_state(yyscanner );
02277                 }
02278 
02279         while ( 1 )             /* loops until end-of-file is reached */
02280                 {
02281                 yy_cp = yyg->yy_c_buf_p;
02282 
02283                 /* Support of yytext. */
02284                 *yy_cp = yyg->yy_hold_char;
02285 
02286                 /* yy_bp points to the position in yy_ch_buf of the start of
02287                  * the current run.
02288                  */
02289                 yy_bp = yy_cp;
02290 
02291                 yy_current_state = yyg->yy_start;
02292 yy_match:
02293                 do
02294                         {
02295                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
02296                         if ( yy_accept[yy_current_state] )
02297                                 {
02298                                 yyg->yy_last_accepting_state = yy_current_state;
02299                                 yyg->yy_last_accepting_cpos = yy_cp;
02300                                 }
02301                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02302                                 {
02303                                 yy_current_state = (int) yy_def[yy_current_state];
02304                                 if ( yy_current_state >= 2101 )
02305                                         yy_c = yy_meta[(unsigned int) yy_c];
02306                                 }
02307                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02308                         ++yy_cp;
02309                         }
02310                 while ( yy_base[yy_current_state] != 3258 );
02311 
02312 yy_find_action:
02313                 yy_act = yy_accept[yy_current_state];
02314                 if ( yy_act == 0 )
02315                         { /* have to back up */
02316                         yy_cp = yyg->yy_last_accepting_cpos;
02317                         yy_current_state = yyg->yy_last_accepting_state;
02318                         yy_act = yy_accept[yy_current_state];
02319                         }
02320 
02321                 YY_DO_BEFORE_ACTION;
02322 
02323                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
02324                         {
02325                         int yyl;
02326                         for ( yyl = 0; yyl < yyleng; ++yyl )
02327                                 if ( yytext[yyl] == '\n' )
02328                                            
02329     do{ yylineno++;
02330         yycolumn=0;
02331     }while(0)
02332 ;
02333                         }
02334 
02335 do_action:      /* This label is used only to access EOF actions. */
02336 
02337                 switch ( yy_act )
02338         { /* beginning of action switch */
02339                         case 0: /* must back up */
02340                         /* undo the effects of YY_DO_BEFORE_ACTION */
02341                         *yy_cp = yyg->yy_hold_char;
02342                         yy_cp = yyg->yy_last_accepting_cpos;
02343                         yy_current_state = yyg->yy_last_accepting_state;
02344                         goto yy_find_action;
02345 
02346 case 1:
02347 /* rule 1 can match eol */
02348 YY_RULE_SETUP
02349 #line 116 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02350 
02351         YY_BREAK
02352 /* General patterns matched in more than one element */
02353 case 2:
02354 YY_RULE_SETUP
02355 #line 120 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02356 {YY_PRINT;  yylval->sval = yytext; return(QUOTE);}
02357         YY_BREAK
02358 case 3:
02359 YY_RULE_SETUP
02360 #line 121 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02361 {YY_PRINT;  yylval->sval = yytext; return(TWOQUOTES);}
02362         YY_BREAK
02363 case 4:
02364 /* rule 4 can match eol */
02365 YY_RULE_SETUP
02366 #line 122 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02367 {YY_PRINT; return(GREATERTHAN);}
02368         YY_BREAK
02369 case 5:
02370 /* rule 5 can match eol */
02371 YY_RULE_SETUP
02372 #line 123 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02373 {YY_PRINT; yylval->ival = atoi(yytext); return(INTEGER);}
02374         YY_BREAK
02375 case 6:
02376 /* rule 6 can match eol */
02377 YY_RULE_SETUP
02378 #line 125 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02379 {YY_PRINT; 
02380 char *yytextEnd;
02381 yylval->dval = os_strtod_wrap( yytext, &yytextEnd);
02382 /*
02383         if( (unsigned)(yytextEnd - yytext) != strlen( yytext)){
02384                 std::ostringstream outStr;
02385                 outStr << "encountered a spurious character in the lexer" << endl;
02386                 outStr << "The first character is: ";
02387                 outStr <<  yytext;
02388                 outStr << endl;
02389                 outStr << "See line number: " << yylineno << endl;  
02390                 throw ErrorClass( outStr.str());
02391         }
02392         */
02393 return(DOUBLE);}
02394         YY_BREAK
02395 case 7:
02396 /* rule 7 can match eol */
02397 YY_RULE_SETUP
02398 #line 141 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02399 {YY_PRINT;  return(ENDOFELEMENT);}
02400         YY_BREAK
02401 case 8:
02402 /* rule 8 can match eol */
02403 YY_RULE_SETUP
02404 #line 143 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02405 {YY_PRINT; return(NUMBEROFOTHEROPTIONSATT);}
02406         YY_BREAK
02407 case 9:
02408 /* rule 9 can match eol */
02409 YY_RULE_SETUP
02410 #line 144 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02411 {YY_PRINT; return(NUMBEROFJOBIDSATT);}
02412         YY_BREAK
02413 case 10:
02414 /* rule 10 can match eol */
02415 YY_RULE_SETUP
02416 #line 145 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02417 {YY_PRINT;  return(NUMBEROFELATT);}
02418         YY_BREAK
02419 case 11:
02420 /* rule 11 can match eol */
02421 YY_RULE_SETUP
02422 #line 146 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02423 {YY_PRINT;  return(NUMBEROFENUMERATIONSATT);}
02424         YY_BREAK
02425 case 12:
02426 /* rule 12 can match eol */
02427 YY_RULE_SETUP
02428 #line 147 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02429 {YY_PRINT; return(NUMBEROFPATHSATT);}
02430         YY_BREAK
02431 case 13:
02432 /* rule 13 can match eol */
02433 YY_RULE_SETUP
02434 #line 148 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02435 {YY_PRINT; return(NUMBEROFITEMSATT);}
02436         YY_BREAK
02437 case 14:
02438 /* rule 14 can match eol */
02439 YY_RULE_SETUP
02440 #line 149 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02441 {YY_PRINT; return(NUMBEROFPATHPAIRSATT);}
02442         YY_BREAK
02443 case 15:
02444 /* rule 15 can match eol */
02445 YY_RULE_SETUP
02446 #line 150 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02447 {YY_PRINT; return(NUMBEROFPROCESSESATT);}
02448         YY_BREAK
02449 case 16:
02450 /* rule 16 can match eol */
02451 YY_RULE_SETUP
02452 #line 151 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02453 {YY_PRINT; return(NUMBEROFVARIABLESATT);}
02454         YY_BREAK
02455 case 17:
02456 /* rule 17 can match eol */
02457 YY_RULE_SETUP
02458 #line 152 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02459 {YY_PRINT; return(NUMBEROFOBJECTIVESATT);}
02460         YY_BREAK
02461 case 18:
02462 /* rule 18 can match eol */
02463 YY_RULE_SETUP
02464 #line 153 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02465 {YY_PRINT; return(NUMBEROFCONSTRAINTSATT);}
02466         YY_BREAK
02467 case 19:
02468 /* rule 19 can match eol */
02469 YY_RULE_SETUP
02470 #line 154 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02471 {YY_PRINT; return(NUMBEROFOTHERVARIABLEOPTIONSATT);}
02472         YY_BREAK
02473 case 20:
02474 /* rule 20 can match eol */
02475 YY_RULE_SETUP
02476 #line 155 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02477 {YY_PRINT; return(NUMBEROFVARATT);}
02478         YY_BREAK
02479 case 21:
02480 /* rule 21 can match eol */
02481 YY_RULE_SETUP
02482 #line 156 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02483 {YY_PRINT; return(NUMBEROFSOSATT);}
02484         YY_BREAK
02485 case 22:
02486 /* rule 22 can match eol */
02487 YY_RULE_SETUP
02488 #line 157 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02489 {YY_PRINT; return(NUMBEROFOTHEROBJECTIVEOPTIONSATT);}
02490         YY_BREAK
02491 case 23:
02492 /* rule 23 can match eol */
02493 YY_RULE_SETUP
02494 #line 158 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02495 {YY_PRINT; return(NUMBEROFOBJATT);}
02496         YY_BREAK
02497 case 24:
02498 /* rule 24 can match eol */
02499 YY_RULE_SETUP
02500 #line 159 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02501 {YY_PRINT; return(NUMBEROFOTHERCONSTRAINTOPTIONSATT);}
02502         YY_BREAK
02503 case 25:
02504 /* rule 25 can match eol */
02505 YY_RULE_SETUP
02506 #line 160 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02507 {YY_PRINT; return(NUMBEROFCONATT);}
02508         YY_BREAK
02509 case 26:
02510 /* rule 26 can match eol */
02511 YY_RULE_SETUP
02512 #line 161 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02513 {YY_PRINT; return(NUMBEROFSOLVEROPTIONSATT);}
02514         YY_BREAK
02515 case 27:
02516 /* rule 27 can match eol */
02517 YY_RULE_SETUP
02518 #line 162 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02519 {YY_PRINT; return(IDXATT);}
02520         YY_BREAK
02521 case 28:
02522 /* rule 28 can match eol */
02523 YY_RULE_SETUP
02524 #line 163 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02525 {YY_PRINT; return(SOSIDXATT);}
02526         YY_BREAK
02527 case 29:
02528 /* rule 29 can match eol */
02529 YY_RULE_SETUP
02530 #line 164 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02531 {YY_PRINT; return(GROUPWEIGHTATT);}
02532         YY_BREAK
02533 case 30:
02534 /* rule 30 can match eol */
02535 YY_RULE_SETUP
02536 #line 165 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02537 {YY_PRINT; return(LBDUALVALUEATT);}
02538         YY_BREAK
02539 case 31:
02540 /* rule 31 can match eol */
02541 YY_RULE_SETUP
02542 #line 166 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02543 {YY_PRINT; return(UBDUALVALUEATT);}
02544         YY_BREAK
02545 /* attributes returning strings (that are potentially empty)*/
02546 case 32:
02547 /* rule 32 can match eol */
02548 YY_RULE_SETUP
02549 #line 170 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02550 {YY_PRINT; return(EMPTYCATEGORYATT);}
02551         YY_BREAK
02552 case 33:
02553 /* rule 33 can match eol */
02554 YY_RULE_SETUP
02555 #line 171 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02556 {YY_PRINT; return(EMPTYCATEGORYATT);}
02557         YY_BREAK
02558 case 34:
02559 /* rule 34 can match eol */
02560 YY_RULE_SETUP
02561 #line 172 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02562 {YY_PRINT; BEGIN doublequoteattributetext; return(CATEGORYATT);}
02563         YY_BREAK
02564 case 35:
02565 /* rule 35 can match eol */
02566 YY_RULE_SETUP
02567 #line 173 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02568 {YY_PRINT; BEGIN singlequoteattributetext; return(CATEGORYATT);}
02569         YY_BREAK
02570 case 36:
02571 /* rule 36 can match eol */
02572 YY_RULE_SETUP
02573 #line 174 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02574 {YY_PRINT; return(EMPTYDESCRIPTIONATT);}
02575         YY_BREAK
02576 case 37:
02577 /* rule 37 can match eol */
02578 YY_RULE_SETUP
02579 #line 175 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02580 {YY_PRINT; return(EMPTYDESCRIPTIONATT);}
02581         YY_BREAK
02582 case 38:
02583 /* rule 38 can match eol */
02584 YY_RULE_SETUP
02585 #line 176 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02586 {YY_PRINT; BEGIN doublequoteattributetext; return(DESCRIPTIONATT);}
02587         YY_BREAK
02588 case 39:
02589 /* rule 39 can match eol */
02590 YY_RULE_SETUP
02591 #line 177 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02592 {YY_PRINT; BEGIN singlequoteattributetext; return(DESCRIPTIONATT);}
02593         YY_BREAK
02594 case 40:
02595 /* rule 40 can match eol */
02596 YY_RULE_SETUP
02597 #line 178 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02598 {YY_PRINT; return(EMPTYLBVALUEATT);}
02599         YY_BREAK
02600 case 41:
02601 /* rule 41 can match eol */
02602 YY_RULE_SETUP
02603 #line 179 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02604 {YY_PRINT; return(EMPTYLBVALUEATT);}
02605         YY_BREAK
02606 case 42:
02607 /* rule 42 can match eol */
02608 YY_RULE_SETUP
02609 #line 180 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02610 {YY_PRINT; BEGIN doublequoteattributetext; return(LBVALUEATT);}
02611         YY_BREAK
02612 case 43:
02613 /* rule 43 can match eol */
02614 YY_RULE_SETUP
02615 #line 181 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02616 {YY_PRINT; BEGIN singlequoteattributetext; return(LBVALUEATT);}
02617         YY_BREAK
02618 case 44:
02619 /* rule 44 can match eol */
02620 YY_RULE_SETUP
02621 #line 182 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02622 {YY_PRINT; BEGIN singlequoteattributetext; return(LOCATIONTYPEATT);}
02623         YY_BREAK
02624 case 45:
02625 /* rule 45 can match eol */
02626 YY_RULE_SETUP
02627 #line 183 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02628 {YY_PRINT; BEGIN doublequoteattributetext; return(LOCATIONTYPEATT);}
02629         YY_BREAK
02630 case 46:
02631 /* rule 46 can match eol */
02632 YY_RULE_SETUP
02633 #line 184 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02634 {YY_PRINT; return(EMPTYNAMEATT);}
02635         YY_BREAK
02636 case 47:
02637 /* rule 47 can match eol */
02638 YY_RULE_SETUP
02639 #line 185 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02640 {YY_PRINT; return(EMPTYNAMEATT);}
02641         YY_BREAK
02642 case 48:
02643 /* rule 48 can match eol */
02644 YY_RULE_SETUP
02645 #line 186 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02646 {YY_PRINT; BEGIN doublequoteattributetext; return(NAMEATT);}
02647         YY_BREAK
02648 case 49:
02649 /* rule 49 can match eol */
02650 YY_RULE_SETUP
02651 #line 187 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02652 {YY_PRINT; BEGIN singlequoteattributetext; return(NAMEATT);}
02653         YY_BREAK
02654 case 50:
02655 /* rule 50 can match eol */
02656 YY_RULE_SETUP
02657 #line 188 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02658 {YY_PRINT; return(EMPTYSOLVERATT);}
02659         YY_BREAK
02660 case 51:
02661 /* rule 51 can match eol */
02662 YY_RULE_SETUP
02663 #line 189 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02664 {YY_PRINT; return(EMPTYSOLVERATT);}
02665         YY_BREAK
02666 case 52:
02667 /* rule 52 can match eol */
02668 YY_RULE_SETUP
02669 #line 190 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02670 {YY_PRINT; BEGIN doublequoteattributetext; return(SOLVERATT);}
02671         YY_BREAK
02672 case 53:
02673 /* rule 53 can match eol */
02674 YY_RULE_SETUP
02675 #line 191 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02676 {YY_PRINT; BEGIN singlequoteattributetext; return(SOLVERATT);}
02677         YY_BREAK
02678 case 54:
02679 /* rule 54 can match eol */
02680 YY_RULE_SETUP
02681 #line 192 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02682 {YY_PRINT; return(EMPTYTYPEATT);}
02683         YY_BREAK
02684 case 55:
02685 /* rule 55 can match eol */
02686 YY_RULE_SETUP
02687 #line 193 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02688 {YY_PRINT; return(EMPTYTYPEATT);}
02689         YY_BREAK
02690 case 56:
02691 /* rule 56 can match eol */
02692 YY_RULE_SETUP
02693 #line 194 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02694 {YY_PRINT; BEGIN doublequoteattributetext; return(TYPEATT);}
02695         YY_BREAK
02696 case 57:
02697 /* rule 57 can match eol */
02698 YY_RULE_SETUP
02699 #line 195 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02700 {YY_PRINT; BEGIN singlequoteattributetext; return(TYPEATT);}
02701         YY_BREAK
02702 case 58:
02703 /* rule 58 can match eol */
02704 YY_RULE_SETUP
02705 #line 196 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02706 {YY_PRINT; BEGIN singlequoteattributetext; return(TRANSPORTTYPEATT);}
02707         YY_BREAK
02708 case 59:
02709 /* rule 59 can match eol */
02710 YY_RULE_SETUP
02711 #line 197 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02712 {YY_PRINT; BEGIN doublequoteattributetext; return(TRANSPORTTYPEATT);}
02713         YY_BREAK
02714 case 60:
02715 /* rule 60 can match eol */
02716 YY_RULE_SETUP
02717 #line 198 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02718 {YY_PRINT; return(EMPTYUBVALUEATT);}
02719         YY_BREAK
02720 case 61:
02721 /* rule 61 can match eol */
02722 YY_RULE_SETUP
02723 #line 199 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02724 {YY_PRINT; return(EMPTYUBVALUEATT);}
02725         YY_BREAK
02726 case 62:
02727 /* rule 62 can match eol */
02728 YY_RULE_SETUP
02729 #line 200 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02730 {YY_PRINT; BEGIN doublequoteattributetext; return(UBVALUEATT);}
02731         YY_BREAK
02732 case 63:
02733 /* rule 63 can match eol */
02734 YY_RULE_SETUP
02735 #line 201 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02736 {YY_PRINT; BEGIN singlequoteattributetext; return(UBVALUEATT);}
02737         YY_BREAK
02738 case 64:
02739 /* rule 64 can match eol */
02740 YY_RULE_SETUP
02741 #line 202 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02742 {YY_PRINT; return(EMPTYUNITATT);}
02743         YY_BREAK
02744 case 65:
02745 /* rule 65 can match eol */
02746 YY_RULE_SETUP
02747 #line 203 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02748 {YY_PRINT; return(EMPTYUNITATT);}
02749         YY_BREAK
02750 case 66:
02751 /* rule 66 can match eol */
02752 YY_RULE_SETUP
02753 #line 204 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02754 {YY_PRINT; BEGIN doublequoteattributetext; return(UNITATT);}
02755         YY_BREAK
02756 case 67:
02757 /* rule 67 can match eol */
02758 YY_RULE_SETUP
02759 #line 205 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02760 {YY_PRINT; BEGIN singlequoteattributetext; return(UNITATT);}
02761         YY_BREAK
02762 case 68:
02763 /* rule 68 can match eol */
02764 YY_RULE_SETUP
02765 #line 206 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02766 {YY_PRINT; return(EMPTYVALUEATT);}
02767         YY_BREAK
02768 case 69:
02769 /* rule 69 can match eol */
02770 YY_RULE_SETUP
02771 #line 207 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02772 {YY_PRINT; return(EMPTYVALUEATT);}
02773         YY_BREAK
02774 case 70:
02775 /* rule 70 can match eol */
02776 YY_RULE_SETUP
02777 #line 208 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02778 {YY_PRINT; BEGIN doublequoteattributetext; return(VALUEATT);}
02779         YY_BREAK
02780 case 71:
02781 /* rule 71 can match eol */
02782 YY_RULE_SETUP
02783 #line 209 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02784 {YY_PRINT; BEGIN singlequoteattributetext; return(VALUEATT);}
02785         YY_BREAK
02786 case 72:
02787 /* rule 72 can match eol */
02788 YY_RULE_SETUP
02789 #line 210 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02790 {YY_PRINT; return(EMPTYWEIGHTATT);}
02791         YY_BREAK
02792 case 73:
02793 /* rule 73 can match eol */
02794 YY_RULE_SETUP
02795 #line 211 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02796 {YY_PRINT; return(EMPTYWEIGHTATT);}
02797         YY_BREAK
02798 case 74:
02799 /* rule 74 can match eol */
02800 YY_RULE_SETUP
02801 #line 212 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02802 {YY_PRINT; BEGIN doublequoteattributetext; return(WEIGHTATT);}
02803         YY_BREAK
02804 case 75:
02805 /* rule 75 can match eol */
02806 YY_RULE_SETUP
02807 #line 213 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02808 {YY_PRINT; BEGIN singlequoteattributetext; return(WEIGHTATT);}
02809         YY_BREAK
02810 case 76:
02811 /* rule 76 can match eol */
02812 YY_RULE_SETUP
02813 #line 215 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02814 {YY_PRINT; BEGIN doublequoteattributetext; return(FROMATT);}
02815         YY_BREAK
02816 case 77:
02817 /* rule 77 can match eol */
02818 YY_RULE_SETUP
02819 #line 216 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02820 {YY_PRINT; BEGIN singlequoteattributetext; return(FROMATT);}
02821         YY_BREAK
02822 case 78:
02823 /* rule 78 can match eol */
02824 YY_RULE_SETUP
02825 #line 217 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02826 {YY_PRINT; BEGIN doublequoteattributetext; return(TOATT);}
02827         YY_BREAK
02828 case 79:
02829 /* rule 79 can match eol */
02830 YY_RULE_SETUP
02831 #line 218 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02832 {YY_PRINT; BEGIN singlequoteattributetext; return(TOATT);}
02833         YY_BREAK
02834 case 80:
02835 /* rule 80 can match eol */
02836 YY_RULE_SETUP
02837 #line 219 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02838 {YY_PRINT; BEGIN doublequoteattributetext; return(MAKECOPYATT);}
02839         YY_BREAK
02840 case 81:
02841 /* rule 81 can match eol */
02842 YY_RULE_SETUP
02843 #line 220 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02844 {YY_PRINT; BEGIN singlequoteattributetext; return(MAKECOPYATT);}
02845         YY_BREAK
02846 case 82:
02847 /* rule 82 can match eol */
02848 YY_RULE_SETUP
02849 #line 222 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02850 {YY_PRINT; return(INCRATT);}
02851         YY_BREAK
02852 case 83:
02853 /* rule 83 can match eol */
02854 YY_RULE_SETUP
02855 #line 223 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02856 {YY_PRINT; return(MULTATT);}
02857         YY_BREAK
02858 case 84:
02859 /* rule 84 can match eol */
02860 YY_RULE_SETUP
02861 #line 224 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02862 {YY_PRINT; return(SIZEOFATT);}
02863         YY_BREAK
02864 case 85:
02865 /* rule 85 can match eol */
02866 YY_RULE_SETUP
02867 #line 226 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02868 {return(OSOLSTARTEMPTY);}
02869         YY_BREAK
02870 case 86:
02871 /* rule 86 can match eol */
02872 YY_RULE_SETUP
02873 #line 227 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02874 {YY_PRINT; BEGIN osolattributetext;  return(OSOLSTART);}
02875         YY_BREAK
02876 case 87:
02877 /* rule 87 can match eol */
02878 YY_RULE_SETUP
02879 #line 228 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02880 {YY_PRINT; return(OSOLEND);}
02881         YY_BREAK
02882 case 88:
02883 /* rule 88 can match eol */
02884 YY_RULE_SETUP
02885 #line 230 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02886 {YY_PRINT; return(HEADERSTART);}
02887         YY_BREAK
02888 case 89:
02889 /* rule 89 can match eol */
02890 YY_RULE_SETUP
02891 #line 231 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02892 {YY_PRINT; return(HEADEREND);}
02893         YY_BREAK
02894 case 90:
02895 /* rule 90 can match eol */
02896 YY_RULE_SETUP
02897 #line 233 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02898 {YY_PRINT; return(GENERALSTART);}
02899         YY_BREAK
02900 case 91:
02901 /* rule 91 can match eol */
02902 YY_RULE_SETUP
02903 #line 234 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02904 {YY_PRINT; return(GENERALEND);}
02905         YY_BREAK
02906 case 92:
02907 /* rule 92 can match eol */
02908 YY_RULE_SETUP
02909 #line 236 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02910 {YY_PRINT; return(SYSTEMSTART);}
02911         YY_BREAK
02912 case 93:
02913 /* rule 93 can match eol */
02914 YY_RULE_SETUP
02915 #line 237 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02916 {YY_PRINT; return(SYSTEMEND);}
02917         YY_BREAK
02918 case 94:
02919 /* rule 94 can match eol */
02920 YY_RULE_SETUP
02921 #line 239 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02922 {YY_PRINT; return(SERVICESTART);}
02923         YY_BREAK
02924 case 95:
02925 /* rule 95 can match eol */
02926 YY_RULE_SETUP
02927 #line 240 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02928 {YY_PRINT; return(SERVICEEND);}
02929         YY_BREAK
02930 case 96:
02931 /* rule 96 can match eol */
02932 YY_RULE_SETUP
02933 #line 242 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02934 {YY_PRINT; return(JOBSTART);}
02935         YY_BREAK
02936 case 97:
02937 /* rule 97 can match eol */
02938 YY_RULE_SETUP
02939 #line 243 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02940 {YY_PRINT; return(JOBEND);}
02941         YY_BREAK
02942 case 98:
02943 /* rule 98 can match eol */
02944 YY_RULE_SETUP
02945 #line 245 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02946 {YY_PRINT; return(OPTIMIZATIONSTART);}
02947         YY_BREAK
02948 case 99:
02949 /* rule 99 can match eol */
02950 YY_RULE_SETUP
02951 #line 246 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02952 {YY_PRINT; return(OPTIMIZATIONEND);}
02953         YY_BREAK
02954 case 100:
02955 /* rule 100 can match eol */
02956 YY_RULE_SETUP
02957 #line 249 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02958 {YY_PRINT; return(SERVICEURISTART);}
02959         YY_BREAK
02960 case 101:
02961 /* rule 101 can match eol */
02962 YY_RULE_SETUP
02963 #line 250 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02964 {YY_PRINT; return(SERVICEURIEND);}
02965         YY_BREAK
02966 case 102:
02967 /* rule 102 can match eol */
02968 YY_RULE_SETUP
02969 #line 251 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02970 {YY_PRINT; return(SERVICENAMESTART);}
02971         YY_BREAK
02972 case 103:
02973 /* rule 103 can match eol */
02974 YY_RULE_SETUP
02975 #line 252 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02976 {YY_PRINT; return(SERVICENAMEEND);}
02977         YY_BREAK
02978 case 104:
02979 /* rule 104 can match eol */
02980 YY_RULE_SETUP
02981 #line 253 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02982 {YY_PRINT; return(INSTANCENAMESTART);}
02983         YY_BREAK
02984 case 105:
02985 /* rule 105 can match eol */
02986 YY_RULE_SETUP
02987 #line 254 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02988 {YY_PRINT; return(INSTANCENAMEEND);}
02989         YY_BREAK
02990 case 106:
02991 /* rule 106 can match eol */
02992 YY_RULE_SETUP
02993 #line 255 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
02994 {YY_PRINT; return(INSTANCELOCATIONSTART);}
02995         YY_BREAK
02996 case 107:
02997 /* rule 107 can match eol */
02998 YY_RULE_SETUP
02999 #line 256 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03000 {YY_PRINT; return(INSTANCELOCATIONEND);}
03001         YY_BREAK
03002 case 108:
03003 /* rule 108 can match eol */
03004 YY_RULE_SETUP
03005 #line 257 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03006 {YY_PRINT; return(JOBIDSTART);}
03007         YY_BREAK
03008 case 109:
03009 /* rule 109 can match eol */
03010 YY_RULE_SETUP
03011 #line 258 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03012 {YY_PRINT; return(JOBIDEND);}
03013         YY_BREAK
03014 case 110:
03015 /* rule 110 can match eol */
03016 YY_RULE_SETUP
03017 #line 259 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03018 {YY_PRINT; return(SOLVERTOINVOKESTART);}
03019         YY_BREAK
03020 case 111:
03021 /* rule 111 can match eol */
03022 YY_RULE_SETUP
03023 #line 260 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03024 {YY_PRINT; return(SOLVERTOINVOKEEND);}
03025         YY_BREAK
03026 case 112:
03027 /* rule 112 can match eol */
03028 YY_RULE_SETUP
03029 #line 261 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03030 {YY_PRINT; return(LICENSESTART);}
03031         YY_BREAK
03032 case 113:
03033 /* rule 113 can match eol */
03034 YY_RULE_SETUP
03035 #line 262 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03036 {YY_PRINT; return(LICENSEEND);}
03037         YY_BREAK
03038 case 114:
03039 /* rule 114 can match eol */
03040 YY_RULE_SETUP
03041 #line 263 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03042 {YY_PRINT; return(USERNAMESTART);}
03043         YY_BREAK
03044 case 115:
03045 /* rule 115 can match eol */
03046 YY_RULE_SETUP
03047 #line 264 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03048 {YY_PRINT; return(USERNAMEEND);}
03049         YY_BREAK
03050 case 116:
03051 /* rule 116 can match eol */
03052 YY_RULE_SETUP
03053 #line 265 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03054 {YY_PRINT; return(PASSWORDSTART);}
03055         YY_BREAK
03056 case 117:
03057 /* rule 117 can match eol */
03058 YY_RULE_SETUP
03059 #line 266 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03060 {YY_PRINT; return(PASSWORDEND);}
03061         YY_BREAK
03062 case 118:
03063 /* rule 118 can match eol */
03064 YY_RULE_SETUP
03065 #line 267 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03066 {YY_PRINT; return(CONTACTSTART);}
03067         YY_BREAK
03068 case 119:
03069 /* rule 119 can match eol */
03070 YY_RULE_SETUP
03071 #line 268 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03072 {YY_PRINT; return(CONTACTEND);}
03073         YY_BREAK
03074 case 120:
03075 /* rule 120 can match eol */
03076 YY_RULE_SETUP
03077 #line 269 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03078 {YY_PRINT; return(OTHEROPTIONSSTART);}
03079         YY_BREAK
03080 case 121:
03081 /* rule 121 can match eol */
03082 YY_RULE_SETUP
03083 #line 270 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03084 {YY_PRINT; return(OTHEROPTIONSEND);}
03085         YY_BREAK
03086 case 122:
03087 /* rule 122 can match eol */
03088 YY_RULE_SETUP
03089 #line 271 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03090 {YY_PRINT; return(OTHERSTART);}
03091         YY_BREAK
03092 case 123:
03093 /* rule 123 can match eol */
03094 YY_RULE_SETUP
03095 #line 272 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03096 {YY_PRINT; return(OTHEREND);}
03097         YY_BREAK
03098 case 124:
03099 /* rule 124 can match eol */
03100 YY_RULE_SETUP
03101 #line 274 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03102 {YY_PRINT; return(MINDISKSPACESTART);}
03103         YY_BREAK
03104 case 125:
03105 /* rule 125 can match eol */
03106 YY_RULE_SETUP
03107 #line 275 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03108 {YY_PRINT; return(MINDISKSPACEEND);}
03109         YY_BREAK
03110 case 126:
03111 /* rule 126 can match eol */
03112 YY_RULE_SETUP
03113 #line 276 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03114 {YY_PRINT; return(MINMEMORYSTART);}
03115         YY_BREAK
03116 case 127:
03117 /* rule 127 can match eol */
03118 YY_RULE_SETUP
03119 #line 277 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03120 {YY_PRINT; return(MINMEMORYEND);}
03121         YY_BREAK
03122 case 128:
03123 /* rule 128 can match eol */
03124 YY_RULE_SETUP
03125 #line 278 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03126 {YY_PRINT; return(MINCPUSPEEDSTART);}
03127         YY_BREAK
03128 case 129:
03129 /* rule 129 can match eol */
03130 YY_RULE_SETUP
03131 #line 279 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03132 {YY_PRINT; return(MINCPUSPEEDEND);}
03133         YY_BREAK
03134 case 130:
03135 /* rule 130 can match eol */
03136 YY_RULE_SETUP
03137 #line 280 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03138 {YY_PRINT; return(MINCPUNUMBERSTART);}
03139         YY_BREAK
03140 case 131:
03141 /* rule 131 can match eol */
03142 YY_RULE_SETUP
03143 #line 281 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03144 {YY_PRINT; return(MINCPUNUMBEREND);}
03145         YY_BREAK
03146 case 132:
03147 /* rule 132 can match eol */
03148 YY_RULE_SETUP
03149 #line 282 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03150 {YY_PRINT; return(BASE64START);}
03151         YY_BREAK
03152 case 133:
03153 /* rule 133 can match eol */
03154 YY_RULE_SETUP
03155 #line 283 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03156 {YY_PRINT; return(BASE64END);}
03157         YY_BREAK
03158 case 134:
03159 /* rule 134 can match eol */
03160 YY_RULE_SETUP
03161 #line 284 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03162 {YY_PRINT;  return(ELSTART);}
03163         YY_BREAK
03164 case 135:
03165 /* rule 135 can match eol */
03166 YY_RULE_SETUP
03167 #line 285 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03168 {YY_PRINT;  return(ELEND);}
03169         YY_BREAK
03170 case 136:
03171 /* rule 136 can match eol */
03172 YY_RULE_SETUP
03173 #line 287 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03174 {YY_PRINT; return(SERVICETYPESTART);}
03175         YY_BREAK
03176 case 137:
03177 /* rule 137 can match eol */
03178 YY_RULE_SETUP
03179 #line 288 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03180 {YY_PRINT; return(SERVICETYPEEND);}
03181         YY_BREAK
03182 case 138:
03183 /* rule 138 can match eol */
03184 YY_RULE_SETUP
03185 #line 290 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03186 {YY_PRINT; return(MAXTIMESTART);}
03187         YY_BREAK
03188 case 139:
03189 /* rule 139 can match eol */
03190 YY_RULE_SETUP
03191 #line 291 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03192 {YY_PRINT; return(MAXTIMEEND);}
03193         YY_BREAK
03194 case 140:
03195 /* rule 140 can match eol */
03196 YY_RULE_SETUP
03197 #line 292 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03198 {YY_PRINT; return(REQUESTEDSTARTTIMESTART);}
03199         YY_BREAK
03200 case 141:
03201 /* rule 141 can match eol */
03202 YY_RULE_SETUP
03203 #line 293 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03204 {YY_PRINT; return(REQUESTEDSTARTTIMEEND);}
03205         YY_BREAK
03206 case 142:
03207 /* rule 142 can match eol */
03208 YY_RULE_SETUP
03209 #line 294 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03210 {YY_PRINT; return(DEPENDENCIESSTART);}
03211         YY_BREAK
03212 case 143:
03213 /* rule 143 can match eol */
03214 YY_RULE_SETUP
03215 #line 295 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03216 {YY_PRINT; return(DEPENDENCIESEND);}
03217         YY_BREAK
03218 case 144:
03219 /* rule 144 can match eol */
03220 YY_RULE_SETUP
03221 #line 296 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03222 {YY_PRINT; return(REQUIREDDIRECTORIESSTART);}
03223         YY_BREAK
03224 case 145:
03225 /* rule 145 can match eol */
03226 YY_RULE_SETUP
03227 #line 297 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03228 {YY_PRINT; return(REQUIREDDIRECTORIESEND);}
03229         YY_BREAK
03230 case 146:
03231 /* rule 146 can match eol */
03232 YY_RULE_SETUP
03233 #line 298 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03234 {YY_PRINT; return(PATHSTART);}
03235         YY_BREAK
03236 case 147:
03237 /* rule 147 can match eol */
03238 YY_RULE_SETUP
03239 #line 299 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03240 {YY_PRINT; return(PATHEND);}
03241         YY_BREAK
03242 case 148:
03243 /* rule 148 can match eol */
03244 YY_RULE_SETUP
03245 #line 300 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03246 {YY_PRINT; return(REQUIREDFILESSTART);}
03247         YY_BREAK
03248 case 149:
03249 /* rule 149 can match eol */
03250 YY_RULE_SETUP
03251 #line 301 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03252 {YY_PRINT; return(REQUIREDFILESEND);}
03253         YY_BREAK
03254 case 150:
03255 /* rule 150 can match eol */
03256 YY_RULE_SETUP
03257 #line 302 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03258 {YY_PRINT; return(DIRECTORIESTOMAKESTART);}
03259         YY_BREAK
03260 case 151:
03261 /* rule 151 can match eol */
03262 YY_RULE_SETUP
03263 #line 303 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03264 {YY_PRINT; return(DIRECTORIESTOMAKEEND);}
03265         YY_BREAK
03266 case 152:
03267 /* rule 152 can match eol */
03268 YY_RULE_SETUP
03269 #line 304 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03270 {YY_PRINT; return(FILESTOMAKESTART);}
03271         YY_BREAK
03272 case 153:
03273 /* rule 153 can match eol */
03274 YY_RULE_SETUP
03275 #line 305 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03276 {YY_PRINT; return(FILESTOMAKEEND);}
03277         YY_BREAK
03278 case 154:
03279 /* rule 154 can match eol */
03280 YY_RULE_SETUP
03281 #line 306 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03282 {YY_PRINT; return(INPUTDIRECTORIESTOMOVESTART);}
03283         YY_BREAK
03284 case 155:
03285 /* rule 155 can match eol */
03286 YY_RULE_SETUP
03287 #line 307 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03288 {YY_PRINT; return(INPUTDIRECTORIESTOMOVEEND);}
03289         YY_BREAK
03290 case 156:
03291 /* rule 156 can match eol */
03292 YY_RULE_SETUP
03293 #line 308 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03294 {YY_PRINT; return(INPUTFILESTOMOVESTART);}
03295         YY_BREAK
03296 case 157:
03297 /* rule 157 can match eol */
03298 YY_RULE_SETUP
03299 #line 309 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03300 {YY_PRINT; return(INPUTFILESTOMOVEEND);}
03301         YY_BREAK
03302 case 158:
03303 /* rule 158 can match eol */
03304 YY_RULE_SETUP
03305 #line 310 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03306 {YY_PRINT; return(PATHPAIRSTART);}
03307         YY_BREAK
03308 case 159:
03309 /* rule 159 can match eol */
03310 YY_RULE_SETUP
03311 #line 311 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03312 {YY_PRINT; return(PATHPAIREND);}
03313         YY_BREAK
03314 case 160:
03315 /* rule 160 can match eol */
03316 YY_RULE_SETUP
03317 #line 312 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03318 {YY_PRINT; return(OUTPUTDIRECTORIESTOMOVESTART);}
03319         YY_BREAK
03320 case 161:
03321 /* rule 161 can match eol */
03322 YY_RULE_SETUP
03323 #line 313 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03324 {YY_PRINT; return(OUTPUTDIRECTORIESTOMOVEEND);}
03325         YY_BREAK
03326 case 162:
03327 /* rule 162 can match eol */
03328 YY_RULE_SETUP
03329 #line 314 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03330 {YY_PRINT; return(OUTPUTFILESTOMOVESTART);}
03331         YY_BREAK
03332 case 163:
03333 /* rule 163 can match eol */
03334 YY_RULE_SETUP
03335 #line 315 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03336 {YY_PRINT; return(OUTPUTFILESTOMOVEEND);}
03337         YY_BREAK
03338 case 164:
03339 /* rule 164 can match eol */
03340 YY_RULE_SETUP
03341 #line 316 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03342 {YY_PRINT; return(DIRECTORIESTODELETESTART);}
03343         YY_BREAK
03344 case 165:
03345 /* rule 165 can match eol */
03346 YY_RULE_SETUP
03347 #line 317 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03348 {YY_PRINT; return(DIRECTORIESTODELETEEND);}
03349         YY_BREAK
03350 case 166:
03351 /* rule 166 can match eol */
03352 YY_RULE_SETUP
03353 #line 318 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03354 {YY_PRINT; return(FILESTODELETESTART);}
03355         YY_BREAK
03356 case 167:
03357 /* rule 167 can match eol */
03358 YY_RULE_SETUP
03359 #line 319 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03360 {YY_PRINT; return(FILESTODELETEEND);}
03361         YY_BREAK
03362 case 168:
03363 /* rule 168 can match eol */
03364 YY_RULE_SETUP
03365 #line 320 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03366 {YY_PRINT; return(PROCESSESTOKILLSTART);}
03367         YY_BREAK
03368 case 169:
03369 /* rule 169 can match eol */
03370 YY_RULE_SETUP
03371 #line 321 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03372 {YY_PRINT; return(PROCESSESTOKILLEND);}
03373         YY_BREAK
03374 case 170:
03375 /* rule 170 can match eol */
03376 YY_RULE_SETUP
03377 #line 322 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03378 {YY_PRINT; return(PROCESSSTART);}
03379         YY_BREAK
03380 case 171:
03381 /* rule 171 can match eol */
03382 YY_RULE_SETUP
03383 #line 323 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03384 {YY_PRINT; return(PROCESSEND);}
03385         YY_BREAK
03386 case 172:
03387 /* rule 172 can match eol */
03388 YY_RULE_SETUP
03389 #line 326 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03390 {YY_PRINT; return(VARIABLESSTART);}
03391         YY_BREAK
03392 case 173:
03393 /* rule 173 can match eol */
03394 YY_RULE_SETUP
03395 #line 327 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03396 {YY_PRINT; return(VARIABLESEND);}
03397         YY_BREAK
03398 case 174:
03399 /* rule 174 can match eol */
03400 YY_RULE_SETUP
03401 #line 328 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03402 {YY_PRINT; return(INITIALVARIABLEVALUESSTART);}
03403         YY_BREAK
03404 case 175:
03405 /* rule 175 can match eol */
03406 YY_RULE_SETUP
03407 #line 329 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03408 {YY_PRINT; return(INITIALVARIABLEVALUESEND);}
03409         YY_BREAK
03410 case 176:
03411 /* rule 176 can match eol */
03412 YY_RULE_SETUP
03413 #line 330 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03414 {YY_PRINT; return(INITIALVARIABLEVALUESSTRINGSTART);}
03415         YY_BREAK
03416 case 177:
03417 /* rule 177 can match eol */
03418 YY_RULE_SETUP
03419 #line 331 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03420 {YY_PRINT; return(INITIALVARIABLEVALUESSTRINGEND);}
03421         YY_BREAK
03422 case 178:
03423 /* rule 178 can match eol */
03424 YY_RULE_SETUP
03425 #line 332 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03426 {YY_PRINT; return(INITIALBASISSTATUSSTART);}
03427         YY_BREAK
03428 case 179:
03429 /* rule 179 can match eol */
03430 YY_RULE_SETUP
03431 #line 333 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03432 {YY_PRINT; return(INITIALBASISSTATUSEND);}
03433         YY_BREAK
03434 case 180:
03435 /* rule 180 can match eol */
03436 YY_RULE_SETUP
03437 #line 334 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03438 {YY_PRINT; return(BASICSTART);}
03439         YY_BREAK
03440 case 181:
03441 /* rule 181 can match eol */
03442 YY_RULE_SETUP
03443 #line 335 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03444 {YY_PRINT; return(BASICEND);}
03445         YY_BREAK
03446 case 182:
03447 /* rule 182 can match eol */
03448 YY_RULE_SETUP
03449 #line 336 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03450 {YY_PRINT; return(ATLOWERSTART);}
03451         YY_BREAK
03452 case 183:
03453 /* rule 183 can match eol */
03454 YY_RULE_SETUP
03455 #line 337 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03456 {YY_PRINT; return(ATLOWEREND);}
03457         YY_BREAK
03458 case 184:
03459 /* rule 184 can match eol */
03460 YY_RULE_SETUP
03461 #line 338 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03462 {YY_PRINT; return(ATUPPERSTART);}
03463         YY_BREAK
03464 case 185:
03465 /* rule 185 can match eol */
03466 YY_RULE_SETUP
03467 #line 339 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03468 {YY_PRINT; return(ATUPPEREND);}
03469         YY_BREAK
03470 case 186:
03471 /* rule 186 can match eol */
03472 YY_RULE_SETUP
03473 #line 340 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03474 {YY_PRINT; return(ISFREESTART);}
03475         YY_BREAK
03476 case 187:
03477 /* rule 187 can match eol */
03478 YY_RULE_SETUP
03479 #line 341 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03480 {YY_PRINT; return(ISFREEEND);}
03481         YY_BREAK
03482 case 188:
03483 /* rule 188 can match eol */
03484 YY_RULE_SETUP
03485 #line 342 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03486 {YY_PRINT; return(SUPERBASICSTART);}
03487         YY_BREAK
03488 case 189:
03489 /* rule 189 can match eol */
03490 YY_RULE_SETUP
03491 #line 343 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03492 {YY_PRINT; return(SUPERBASICEND);}
03493         YY_BREAK
03494 case 190:
03495 /* rule 190 can match eol */
03496 YY_RULE_SETUP
03497 #line 344 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03498 {YY_PRINT; return(UNKNOWNSTART);}
03499         YY_BREAK
03500 case 191:
03501 /* rule 191 can match eol */
03502 YY_RULE_SETUP
03503 #line 345 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03504 {YY_PRINT; return(UNKNOWNEND);}
03505         YY_BREAK
03506 case 192:
03507 /* rule 192 can match eol */
03508 YY_RULE_SETUP
03509 #line 346 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03510 {YY_PRINT; return(INTEGERVARIABLEBRANCHINGWEIGHTSSTART);}
03511         YY_BREAK
03512 case 193:
03513 /* rule 193 can match eol */
03514 YY_RULE_SETUP
03515 #line 347 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03516 {YY_PRINT; return(INTEGERVARIABLEBRANCHINGWEIGHTSEND);}
03517         YY_BREAK
03518 case 194:
03519 /* rule 194 can match eol */
03520 YY_RULE_SETUP
03521 #line 348 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03522 {YY_PRINT; return(SOSVARIABLEBRANCHINGWEIGHTSSTART);}
03523         YY_BREAK
03524 case 195:
03525 /* rule 195 can match eol */
03526 YY_RULE_SETUP
03527 #line 349 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03528 {YY_PRINT; return(SOSVARIABLEBRANCHINGWEIGHTSEND);}
03529         YY_BREAK
03530 case 196:
03531 /* rule 196 can match eol */
03532 YY_RULE_SETUP
03533 #line 350 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03534 {YY_PRINT; return(SOSSTART);}
03535         YY_BREAK
03536 case 197:
03537 /* rule 197 can match eol */
03538 YY_RULE_SETUP
03539 #line 351 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03540 {YY_PRINT; return(SOSEND);}
03541         YY_BREAK
03542 case 198:
03543 /* rule 198 can match eol */
03544 YY_RULE_SETUP
03545 #line 352 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03546 {YY_PRINT; return(VARSTART);}
03547         YY_BREAK
03548 case 199:
03549 /* rule 199 can match eol */
03550 YY_RULE_SETUP
03551 #line 353 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03552 {YY_PRINT; return(VAREND);}
03553         YY_BREAK
03554 case 200:
03555 /* rule 200 can match eol */
03556 YY_RULE_SETUP
03557 #line 354 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03558 {YY_PRINT; return(OBJECTIVESSTART);}
03559         YY_BREAK
03560 case 201:
03561 /* rule 201 can match eol */
03562 YY_RULE_SETUP
03563 #line 355 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03564 {YY_PRINT; return(OBJECTIVESEND);}
03565         YY_BREAK
03566 case 202:
03567 /* rule 202 can match eol */
03568 YY_RULE_SETUP
03569 #line 356 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03570 {YY_PRINT; return(INITIALOBJECTIVEVALUESSTART);}
03571         YY_BREAK
03572 case 203:
03573 /* rule 203 can match eol */
03574 YY_RULE_SETUP
03575 #line 357 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03576 {YY_PRINT; return(INITIALOBJECTIVEVALUESEND);}
03577         YY_BREAK
03578 case 204:
03579 /* rule 204 can match eol */
03580 YY_RULE_SETUP
03581 #line 358 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03582 {YY_PRINT; return(OBJSTART);}
03583         YY_BREAK
03584 case 205:
03585 /* rule 205 can match eol */
03586 YY_RULE_SETUP
03587 #line 359 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03588 {YY_PRINT; return(OBJEND);}
03589         YY_BREAK
03590 case 206:
03591 /* rule 206 can match eol */
03592 YY_RULE_SETUP
03593 #line 360 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03594 {YY_PRINT; return(INITIALOBJECTIVEBOUNDSSTART);}
03595         YY_BREAK
03596 case 207:
03597 /* rule 207 can match eol */
03598 YY_RULE_SETUP
03599 #line 361 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03600 {YY_PRINT; return(INITIALOBJECTIVEBOUNDSEND);}
03601         YY_BREAK
03602 case 208:
03603 /* rule 208 can match eol */
03604 YY_RULE_SETUP
03605 #line 362 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03606 {YY_PRINT; return(CONSTRAINTSSTART);}
03607         YY_BREAK
03608 case 209:
03609 /* rule 209 can match eol */
03610 YY_RULE_SETUP
03611 #line 363 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03612 {YY_PRINT; return(CONSTRAINTSEND);}
03613         YY_BREAK
03614 case 210:
03615 /* rule 210 can match eol */
03616 YY_RULE_SETUP
03617 #line 364 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03618 {YY_PRINT; return(INITIALCONSTRAINTVALUESSTART);}
03619         YY_BREAK
03620 case 211:
03621 /* rule 211 can match eol */
03622 YY_RULE_SETUP
03623 #line 365 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03624 {YY_PRINT; return(INITIALCONSTRAINTVALUESEND);}
03625         YY_BREAK
03626 case 212:
03627 /* rule 212 can match eol */
03628 YY_RULE_SETUP
03629 #line 366 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03630 {YY_PRINT; return(CONSTART);}
03631         YY_BREAK
03632 case 213:
03633 /* rule 213 can match eol */
03634 YY_RULE_SETUP
03635 #line 367 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03636 {YY_PRINT; return(CONEND);}
03637         YY_BREAK
03638 case 214:
03639 /* rule 214 can match eol */
03640 YY_RULE_SETUP
03641 #line 368 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03642 {YY_PRINT; return(INITIALDUALVALUESSTART);}
03643         YY_BREAK
03644 case 215:
03645 /* rule 215 can match eol */
03646 YY_RULE_SETUP
03647 #line 369 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03648 {YY_PRINT; return(INITIALDUALVALUESEND);}
03649         YY_BREAK
03650 case 216:
03651 /* rule 216 can match eol */
03652 YY_RULE_SETUP
03653 #line 370 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03654 {YY_PRINT; return(SOLVEROPTIONSSTART);}
03655         YY_BREAK
03656 case 217:
03657 /* rule 217 can match eol */
03658 YY_RULE_SETUP
03659 #line 371 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03660 {YY_PRINT; return(SOLVEROPTIONSEND);}
03661         YY_BREAK
03662 case 218:
03663 /* rule 218 can match eol */
03664 YY_RULE_SETUP
03665 #line 372 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03666 {YY_PRINT; return(SOLVEROPTIONSTART);}
03667         YY_BREAK
03668 case 219:
03669 /* rule 219 can match eol */
03670 YY_RULE_SETUP
03671 #line 373 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03672 {YY_PRINT; return(SOLVEROPTIONEND);}
03673         YY_BREAK
03674 case 220:
03675 /* rule 220 can match eol */
03676 YY_RULE_SETUP
03677 #line 374 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03678 {YY_PRINT;  return(ENUMERATIONSTART);}
03679         YY_BREAK
03680 case 221:
03681 /* rule 221 can match eol */
03682 YY_RULE_SETUP
03683 #line 375 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03684 {YY_PRINT;  return(ENUMERATIONEND);}
03685         YY_BREAK
03686 /* The <item> element and the children of the option header are treated specially because they may legitimately contain special characters */
03687 case 222:
03688 /* rule 222 can match eol */
03689 YY_RULE_SETUP
03690 #line 380 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03691 {  YY_PRINT;  return(ITEMEMPTY);}
03692         YY_BREAK
03693 case 223:
03694 /* rule 223 can match eol */
03695 YY_RULE_SETUP
03696 #line 381 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03697 { YY_PRINT; BEGIN itemtext; return(ITEMSTART);}
03698         YY_BREAK
03699 case 224:
03700 /* rule 224 can match eol */
03701 YY_RULE_SETUP
03702 #line 382 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03703 { YY_PRINT; return(ITEMEND);}
03704         YY_BREAK
03705 case 225:
03706 /* rule 225 can match eol */
03707 YY_RULE_SETUP
03708 #line 383 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03709 { YY_PRINT; return(ITEMSTARTANDEND);}
03710         YY_BREAK
03711 case 226:
03712 /* rule 226 can match eol */
03713 YY_RULE_SETUP
03714 #line 385 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03715 {  YY_PRINT;  return(FILENAMEEMPTY);}
03716         YY_BREAK
03717 case 227:
03718 /* rule 227 can match eol */
03719 YY_RULE_SETUP
03720 #line 386 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03721 { YY_PRINT; BEGIN itemtext; return(FILENAMESTART);}
03722         YY_BREAK
03723 case 228:
03724 /* rule 228 can match eol */
03725 YY_RULE_SETUP
03726 #line 387 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03727 { YY_PRINT; return(FILENAMEEND);}
03728         YY_BREAK
03729 case 229:
03730 /* rule 229 can match eol */
03731 YY_RULE_SETUP
03732 #line 388 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03733 { YY_PRINT; return(FILENAMESTARTANDEND);}
03734         YY_BREAK
03735 case 230:
03736 /* rule 230 can match eol */
03737 YY_RULE_SETUP
03738 #line 390 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03739 {  YY_PRINT;  return(FILESOURCEEMPTY);}
03740         YY_BREAK
03741 case 231:
03742 /* rule 231 can match eol */
03743 YY_RULE_SETUP
03744 #line 391 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03745 { YY_PRINT; BEGIN itemtext; return(FILESOURCESTART);}
03746         YY_BREAK
03747 case 232:
03748 /* rule 232 can match eol */
03749 YY_RULE_SETUP
03750 #line 392 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03751 { YY_PRINT; return(FILESOURCEEND);}
03752         YY_BREAK
03753 case 233:
03754 /* rule 233 can match eol */
03755 YY_RULE_SETUP
03756 #line 393 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03757 { YY_PRINT; return(FILESOURCESTARTANDEND);}
03758         YY_BREAK
03759 case 234:
03760 /* rule 234 can match eol */
03761 YY_RULE_SETUP
03762 #line 395 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03763 {  YY_PRINT;  return(FILEDESCRIPTIONEMPTY);}
03764         YY_BREAK
03765 case 235:
03766 /* rule 235 can match eol */
03767 YY_RULE_SETUP
03768 #line 396 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03769 { YY_PRINT; BEGIN itemtext; return(FILEDESCRIPTIONSTART);}
03770         YY_BREAK
03771 case 236:
03772 /* rule 236 can match eol */
03773 YY_RULE_SETUP
03774 #line 397 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03775 { YY_PRINT; return(FILEDESCRIPTIONEND);}
03776         YY_BREAK
03777 case 237:
03778 /* rule 237 can match eol */
03779 YY_RULE_SETUP
03780 #line 398 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03781 { YY_PRINT; return(FILEDESCRIPTIONSTARTANDEND);}
03782         YY_BREAK
03783 case 238:
03784 /* rule 238 can match eol */
03785 YY_RULE_SETUP
03786 #line 400 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03787 {  YY_PRINT;  return(FILECREATOREMPTY);}
03788         YY_BREAK
03789 case 239:
03790 /* rule 239 can match eol */
03791 YY_RULE_SETUP
03792 #line 401 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03793 { YY_PRINT; BEGIN itemtext; return(FILECREATORSTART);}
03794         YY_BREAK
03795 case 240:
03796 /* rule 240 can match eol */
03797 YY_RULE_SETUP
03798 #line 402 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03799 { YY_PRINT; return(FILECREATOREND);}
03800         YY_BREAK
03801 case 241:
03802 /* rule 241 can match eol */
03803 YY_RULE_SETUP
03804 #line 403 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03805 { YY_PRINT; return(FILECREATORSTARTANDEND);}
03806         YY_BREAK
03807 case 242:
03808 /* rule 242 can match eol */
03809 YY_RULE_SETUP
03810 #line 405 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03811 {  YY_PRINT;  return(FILELICENCEEMPTY);}
03812         YY_BREAK
03813 case 243:
03814 /* rule 243 can match eol */
03815 YY_RULE_SETUP
03816 #line 406 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03817 { YY_PRINT; BEGIN itemtext; return(FILELICENCESTART);}
03818         YY_BREAK
03819 case 244:
03820 /* rule 244 can match eol */
03821 YY_RULE_SETUP
03822 #line 407 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03823 { YY_PRINT; return(FILELICENCEEND);}
03824         YY_BREAK
03825 case 245:
03826 /* rule 245 can match eol */
03827 YY_RULE_SETUP
03828 #line 408 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03829 { YY_PRINT; return(FILELICENCESTARTANDEND);}
03830         YY_BREAK
03831 /* environments and comments */
03832 case 246:
03833 /* rule 246 can match eol */
03834 YY_RULE_SETUP
03835 #line 412 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03836 { YY_PRINT; yylval->sval = strdup( yytext);  yyextra->errorText = yylval->sval;  /*  yylval->sval = yytext;*/  return (ELEMENTTEXT); }
03837         YY_BREAK
03838 case 247:
03839 /* rule 247 can match eol */
03840 YY_RULE_SETUP
03841 #line 413 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03842 { YY_PRINT;  yylval->sval = strdup( yytext); BEGIN 0;  yyextra->errorText = yylval->sval;    /*yylval->sval = yytext;*/  return (ITEMTEXT); }
03843         YY_BREAK
03844 case 248:
03845 YY_RULE_SETUP
03846 #line 415 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03847 BEGIN comment;
03848         YY_BREAK
03849 case 249:
03850 #line 417 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03851 case 250:
03852 /* rule 250 can match eol */
03853 YY_RULE_SETUP
03854 #line 417 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03855 ;
03856         YY_BREAK
03857 case 251:
03858 YY_RULE_SETUP
03859 #line 418 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03860 BEGIN 0;
03861         YY_BREAK
03862 case 252:
03863 YY_RULE_SETUP
03864 #line 420 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03865 BEGIN xmldeclaration;
03866         YY_BREAK
03867 case 253:
03868 #line 422 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03869 case 254:
03870 /* rule 254 can match eol */
03871 YY_RULE_SETUP
03872 #line 422 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03873 ;
03874         YY_BREAK
03875 case 255:
03876 YY_RULE_SETUP
03877 #line 423 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03878 BEGIN 0;
03879         YY_BREAK
03880 case 256:
03881 /* rule 256 can match eol */
03882 YY_RULE_SETUP
03883 #line 426 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03884 {YY_PRINT;  BEGIN 0; yylval->sval = strdup(yytext);   /*yylval->sval = yytext;*/ return(ATTRIBUTETEXT);}
03885         YY_BREAK
03886 case 257:
03887 /* rule 257 can match eol */
03888 YY_RULE_SETUP
03889 #line 427 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03890 {YY_PRINT;  BEGIN 0; yylval->sval = strdup(yytext);   /*yylval->sval = yytext;*/ return(ATTRIBUTETEXT);}
03891         YY_BREAK
03892 case 258:
03893 /* rule 258 can match eol */
03894 YY_RULE_SETUP
03895 #line 428 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03896 {YY_PRINT;  BEGIN 0;  /*yylval->sval = strdup(yytext);*/   yylval->sval = yytext;   return(OSOLATTRIBUTETEXT);}
03897         YY_BREAK
03898 /* error trap */
03899 case 259:
03900 /* rule 259 can match eol */
03901 YY_RULE_SETUP
03902 #line 432 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03903 {  
03904         std::string error;
03905         std::ostringstream outStr;
03906         outStr << "encountered a spurious character in the lexer" << endl;
03907         outStr << "The first character is: ";
03908         outStr <<  yytext;
03909         outStr << endl;
03910         outStr << "See line number: " << yylineno << endl;  
03911         error = outStr.str();
03912         throw ErrorClass( error);
03913 }
03914         YY_BREAK
03915 case 260:
03916 YY_RULE_SETUP
03917 #line 444 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
03918 ECHO;
03919         YY_BREAK
03920 #line 3921 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.cpp"
03921 case YY_STATE_EOF(INITIAL):
03922 case YY_STATE_EOF(osolattributetext):
03923 case YY_STATE_EOF(doublequoteattributetext):
03924 case YY_STATE_EOF(singlequoteattributetext):
03925 case YY_STATE_EOF(startelement):
03926 case YY_STATE_EOF(elementtext):
03927 case YY_STATE_EOF(itemtext):
03928 case YY_STATE_EOF(comment):
03929 case YY_STATE_EOF(xmldeclaration):
03930         yyterminate();
03931 
03932         case YY_END_OF_BUFFER:
03933                 {
03934                 /* Amount of text matched not including the EOB char. */
03935                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
03936 
03937                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
03938                 *yy_cp = yyg->yy_hold_char;
03939                 YY_RESTORE_YY_MORE_OFFSET
03940 
03941                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
03942                         {
03943                         /* We're scanning a new file or input source.  It's
03944                          * possible that this happened because the user
03945                          * just pointed yyin at a new source and called
03946                          * osollex().  If so, then we have to assure
03947                          * consistency between YY_CURRENT_BUFFER and our
03948                          * globals.  Here is the right place to do so, because
03949                          * this is the first action (other than possibly a
03950                          * back-up) that will match for the new input source.
03951                          */
03952                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03953                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
03954                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
03955                         }
03956 
03957                 /* Note that here we test for yy_c_buf_p "<=" to the position
03958                  * of the first EOB in the buffer, since yy_c_buf_p will
03959                  * already have been incremented past the NUL character
03960                  * (since all states make transitions on EOB to the
03961                  * end-of-buffer state).  Contrast this with the test
03962                  * in input().
03963                  */
03964                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
03965                         { /* This was really a NUL. */
03966                         yy_state_type yy_next_state;
03967 
03968                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
03969 
03970                         yy_current_state = yy_get_previous_state( yyscanner );
03971 
03972                         /* Okay, we're now positioned to make the NUL
03973                          * transition.  We couldn't have
03974                          * yy_get_previous_state() go ahead and do it
03975                          * for us because it doesn't know how to deal
03976                          * with the possibility of jamming (and we don't
03977                          * want to build jamming into it because then it
03978                          * will run more slowly).
03979                          */
03980 
03981                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
03982 
03983                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
03984 
03985                         if ( yy_next_state )
03986                                 {
03987                                 /* Consume the NUL. */
03988                                 yy_cp = ++yyg->yy_c_buf_p;
03989                                 yy_current_state = yy_next_state;
03990                                 goto yy_match;
03991                                 }
03992 
03993                         else
03994                                 {
03995                                 yy_cp = yyg->yy_c_buf_p;
03996                                 goto yy_find_action;
03997                                 }
03998                         }
03999 
04000                 else switch ( yy_get_next_buffer( yyscanner ) )
04001                         {
04002                         case EOB_ACT_END_OF_FILE:
04003                                 {
04004                                 yyg->yy_did_buffer_switch_on_eof = 0;
04005 
04006                                 if ( osolwrap(yyscanner ) )
04007                                         {
04008                                         /* Note: because we've taken care in
04009                                          * yy_get_next_buffer() to have set up
04010                                          * yytext, we can now set up
04011                                          * yy_c_buf_p so that if some total
04012                                          * hoser (like flex itself) wants to
04013                                          * call the scanner after we return the
04014                                          * YY_NULL, it'll still work - another
04015                                          * YY_NULL will get returned.
04016                                          */
04017                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
04018 
04019                                         yy_act = YY_STATE_EOF(YY_START);
04020                                         goto do_action;
04021                                         }
04022 
04023                                 else
04024                                         {
04025                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
04026                                                 YY_NEW_FILE;
04027                                         }
04028                                 break;
04029                                 }
04030 
04031                         case EOB_ACT_CONTINUE_SCAN:
04032                                 yyg->yy_c_buf_p =
04033                                         yyg->yytext_ptr + yy_amount_of_matched_text;
04034 
04035                                 yy_current_state = yy_get_previous_state( yyscanner );
04036 
04037                                 yy_cp = yyg->yy_c_buf_p;
04038                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
04039                                 goto yy_match;
04040 
04041                         case EOB_ACT_LAST_MATCH:
04042                                 yyg->yy_c_buf_p =
04043                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
04044 
04045                                 yy_current_state = yy_get_previous_state( yyscanner );
04046 
04047                                 yy_cp = yyg->yy_c_buf_p;
04048                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
04049                                 goto yy_find_action;
04050                         }
04051                 break;
04052                 }
04053 
04054         default:
04055                 YY_FATAL_ERROR(
04056                         "fatal flex scanner internal error--no action found" );
04057         } /* end of action switch */
04058                 } /* end of scanning one token */
04059 } /* end of osollex */
04060 
04061 /* yy_get_next_buffer - try to read in a new buffer
04062  *
04063  * Returns a code representing an action:
04064  *      EOB_ACT_LAST_MATCH -
04065  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
04066  *      EOB_ACT_END_OF_FILE - end of file
04067  */
04068 static int yy_get_next_buffer (yyscan_t yyscanner)
04069 {
04070     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04071         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
04072         register char *source = yyg->yytext_ptr;
04073         register int number_to_move, i;
04074         int ret_val;
04075 
04076         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
04077                 YY_FATAL_ERROR(
04078                 "fatal flex scanner internal error--end of buffer missed" );
04079 
04080         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
04081                 { /* Don't try to fill the buffer, so this is an EOF. */
04082                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
04083                         {
04084                         /* We matched a single character, the EOB, so
04085                          * treat this as a final EOF.
04086                          */
04087                         return EOB_ACT_END_OF_FILE;
04088                         }
04089 
04090                 else
04091                         {
04092                         /* We matched some text prior to the EOB, first
04093                          * process it.
04094                          */
04095                         return EOB_ACT_LAST_MATCH;
04096                         }
04097                 }
04098 
04099         /* Try to read more data. */
04100 
04101         /* First move last chars to start of buffer. */
04102         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
04103 
04104         for ( i = 0; i < number_to_move; ++i )
04105                 *(dest++) = *(source++);
04106 
04107         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
04108                 /* don't do the read, it's not guaranteed to return an EOF,
04109                  * just force an EOF
04110                  */
04111                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
04112 
04113         else
04114                 {
04115                         int num_to_read =
04116                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
04117 
04118                 while ( num_to_read <= 0 )
04119                         { /* Not enough room in the buffer - grow it. */
04120 
04121                         /* just a shorter name for the current buffer */
04122                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
04123 
04124                         int yy_c_buf_p_offset =
04125                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
04126 
04127                         if ( b->yy_is_our_buffer )
04128                                 {
04129                                 int new_size = b->yy_buf_size * 2;
04130 
04131                                 if ( new_size <= 0 )
04132                                         b->yy_buf_size += b->yy_buf_size / 8;
04133                                 else
04134                                         b->yy_buf_size *= 2;
04135 
04136                                 b->yy_ch_buf = (char *)
04137                                         /* Include room in for 2 EOB chars. */
04138                                         osolrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
04139                                 }
04140                         else
04141                                 /* Can't grow it, we don't own it. */
04142                                 b->yy_ch_buf = 0;
04143 
04144                         if ( ! b->yy_ch_buf )
04145                                 YY_FATAL_ERROR(
04146                                 "fatal error - scanner input buffer overflow" );
04147 
04148                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
04149 
04150                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
04151                                                 number_to_move - 1;
04152 
04153                         }
04154 
04155                 if ( num_to_read > YY_READ_BUF_SIZE )
04156                         num_to_read = YY_READ_BUF_SIZE;
04157 
04158                 /* Read in more data. */
04159                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
04160                         yyg->yy_n_chars, (size_t) num_to_read );
04161 
04162                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
04163                 }
04164 
04165         if ( yyg->yy_n_chars == 0 )
04166                 {
04167                 if ( number_to_move == YY_MORE_ADJ )
04168                         {
04169                         ret_val = EOB_ACT_END_OF_FILE;
04170                         osolrestart(yyin  ,yyscanner);
04171                         }
04172 
04173                 else
04174                         {
04175                         ret_val = EOB_ACT_LAST_MATCH;
04176                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
04177                                 YY_BUFFER_EOF_PENDING;
04178                         }
04179                 }
04180 
04181         else
04182                 ret_val = EOB_ACT_CONTINUE_SCAN;
04183 
04184         if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
04185                 /* Extend the array by 50%, plus the number we really need. */
04186                 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
04187                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osolrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
04188                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
04189                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
04190         }
04191 
04192         yyg->yy_n_chars += number_to_move;
04193         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
04194         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
04195 
04196         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
04197 
04198         return ret_val;
04199 }
04200 
04201 /* yy_get_previous_state - get the state just before the EOB char was reached */
04202 
04203     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
04204 {
04205         register yy_state_type yy_current_state;
04206         register char *yy_cp;
04207     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04208 
04209         yy_current_state = yyg->yy_start;
04210 
04211         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
04212                 {
04213                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
04214                 if ( yy_accept[yy_current_state] )
04215                         {
04216                         yyg->yy_last_accepting_state = yy_current_state;
04217                         yyg->yy_last_accepting_cpos = yy_cp;
04218                         }
04219                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04220                         {
04221                         yy_current_state = (int) yy_def[yy_current_state];
04222                         if ( yy_current_state >= 2101 )
04223                                 yy_c = yy_meta[(unsigned int) yy_c];
04224                         }
04225                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04226                 }
04227 
04228         return yy_current_state;
04229 }
04230 
04231 /* yy_try_NUL_trans - try to make a transition on the NUL character
04232  *
04233  * synopsis
04234  *      next_state = yy_try_NUL_trans( current_state );
04235  */
04236     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
04237 {
04238         register int yy_is_jam;
04239     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
04240         register char *yy_cp = yyg->yy_c_buf_p;
04241 
04242         register YY_CHAR yy_c = 1;
04243         if ( yy_accept[yy_current_state] )
04244                 {
04245                 yyg->yy_last_accepting_state = yy_current_state;
04246                 yyg->yy_last_accepting_cpos = yy_cp;
04247                 }
04248         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04249                 {
04250                 yy_current_state = (int) yy_def[yy_current_state];
04251                 if ( yy_current_state >= 2101 )
04252                         yy_c = yy_meta[(unsigned int) yy_c];
04253                 }
04254         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04255         yy_is_jam = (yy_current_state == 2100);
04256 
04257         return yy_is_jam ? 0 : yy_current_state;
04258 }
04259 
04260 #ifndef YY_NO_INPUT
04261 #ifdef __cplusplus
04262     static int yyinput (yyscan_t yyscanner)
04263 #else
04264     static int input  (yyscan_t yyscanner)
04265 #endif
04266 
04267 {
04268         int c;
04269     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04270 
04271         *yyg->yy_c_buf_p = yyg->yy_hold_char;
04272 
04273         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
04274                 {
04275                 /* yy_c_buf_p now points to the character we want to return.
04276                  * If this occurs *before* the EOB characters, then it's a
04277                  * valid NUL; if not, then we've hit the end of the buffer.
04278                  */
04279                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
04280                         /* This was really a NUL. */
04281                         *yyg->yy_c_buf_p = '\0';
04282 
04283                 else
04284                         { /* need more input */
04285                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
04286                         ++yyg->yy_c_buf_p;
04287 
04288                         switch ( yy_get_next_buffer( yyscanner ) )
04289                                 {
04290                                 case EOB_ACT_LAST_MATCH:
04291                                         /* This happens because yy_g_n_b()
04292                                          * sees that we've accumulated a
04293                                          * token and flags that we need to
04294                                          * try matching the token before
04295                                          * proceeding.  But for input(),
04296                                          * there's no matching to consider.
04297                                          * So convert the EOB_ACT_LAST_MATCH
04298                                          * to EOB_ACT_END_OF_FILE.
04299                                          */
04300 
04301                                         /* Reset buffer status. */
04302                                         osolrestart(yyin ,yyscanner);
04303 
04304                                         /*FALLTHROUGH*/
04305 
04306                                 case EOB_ACT_END_OF_FILE:
04307                                         {
04308                                         if ( osolwrap(yyscanner ) )
04309                                                 return EOF;
04310 
04311                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
04312                                                 YY_NEW_FILE;
04313 #ifdef __cplusplus
04314                                         return yyinput(yyscanner);
04315 #else
04316                                         return input(yyscanner);
04317 #endif
04318                                         }
04319 
04320                                 case EOB_ACT_CONTINUE_SCAN:
04321                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
04322                                         break;
04323                                 }
04324                         }
04325                 }
04326 
04327         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
04328         *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
04329         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
04330 
04331         if ( c == '\n' )
04332                    
04333     do{ yylineno++;
04334         yycolumn=0;
04335     }while(0)
04336 ;
04337 
04338         return c;
04339 }
04340 #endif  /* ifndef YY_NO_INPUT */
04341 
04347     void osolrestart  (FILE * input_file , yyscan_t yyscanner)
04348 {
04349     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04350 
04351         if ( ! YY_CURRENT_BUFFER ){
04352         osolensure_buffer_stack (yyscanner);
04353                 YY_CURRENT_BUFFER_LVALUE =
04354             osol_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
04355         }
04356 
04357         osol_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
04358         osol_load_buffer_state(yyscanner );
04359 }
04360 
04365     void osol_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
04366 {
04367     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04368 
04369         /* TODO. We should be able to replace this entire function body
04370          * with
04371          *              osolpop_buffer_state();
04372          *              osolpush_buffer_state(new_buffer);
04373      */
04374         osolensure_buffer_stack (yyscanner);
04375         if ( YY_CURRENT_BUFFER == new_buffer )
04376                 return;
04377 
04378         if ( YY_CURRENT_BUFFER )
04379                 {
04380                 /* Flush out information for old buffer. */
04381                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
04382                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
04383                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
04384                 }
04385 
04386         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04387         osol_load_buffer_state(yyscanner );
04388 
04389         /* We don't actually know whether we did this switch during
04390          * EOF (osolwrap()) processing, but the only time this flag
04391          * is looked at is after osolwrap() is called, so it's safe
04392          * to go ahead and always set it.
04393          */
04394         yyg->yy_did_buffer_switch_on_eof = 1;
04395 }
04396 
04397 static void osol_load_buffer_state  (yyscan_t yyscanner)
04398 {
04399     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04400         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
04401         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
04402         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
04403         yyg->yy_hold_char = *yyg->yy_c_buf_p;
04404 }
04405 
04412     YY_BUFFER_STATE osol_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
04413 {
04414         YY_BUFFER_STATE b;
04415     
04416         b = (YY_BUFFER_STATE) osolalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
04417         if ( ! b )
04418                 YY_FATAL_ERROR( "out of dynamic memory in osol_create_buffer()" );
04419 
04420         b->yy_buf_size = size;
04421 
04422         /* yy_ch_buf has to be 2 characters longer than the size given because
04423          * we need to put in 2 end-of-buffer characters.
04424          */
04425         b->yy_ch_buf = (char *) osolalloc(b->yy_buf_size + 2 ,yyscanner );
04426         if ( ! b->yy_ch_buf )
04427                 YY_FATAL_ERROR( "out of dynamic memory in osol_create_buffer()" );
04428 
04429         b->yy_is_our_buffer = 1;
04430 
04431         osol_init_buffer(b,file ,yyscanner);
04432 
04433         return b;
04434 }
04435 
04440     void osol_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
04441 {
04442     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04443 
04444         if ( ! b )
04445                 return;
04446 
04447         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
04448                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
04449 
04450         if ( b->yy_is_our_buffer )
04451                 osolfree((void *) b->yy_ch_buf ,yyscanner );
04452 
04453         osolfree((void *) b ,yyscanner );
04454 }
04455 
04456 #ifndef __cplusplus
04457 extern int isatty (int );
04458 #endif /* __cplusplus */
04459     
04460 /* Initializes or reinitializes a buffer.
04461  * This function is sometimes called more than once on the same buffer,
04462  * such as during a osolrestart() or at EOF.
04463  */
04464     static void osol_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
04465 
04466 {
04467         int oerrno = errno;
04468     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04469 
04470         osol_flush_buffer(b ,yyscanner);
04471 
04472         b->yy_input_file = file;
04473         b->yy_fill_buffer = 1;
04474 
04475     /* If b is the current buffer, then osol_init_buffer was _probably_
04476      * called from osolrestart() or through yy_get_next_buffer.
04477      * In that case, we don't want to reset the lineno or column.
04478      */
04479     if (b != YY_CURRENT_BUFFER){
04480         b->yy_bs_lineno = 1;
04481         b->yy_bs_column = 0;
04482     }
04483 
04484         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
04485     
04486         errno = oerrno;
04487 }
04488 
04493     void osol_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
04494 {
04495     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04496         if ( ! b )
04497                 return;
04498 
04499         b->yy_n_chars = 0;
04500 
04501         /* We always need two end-of-buffer characters.  The first causes
04502          * a transition to the end-of-buffer state.  The second causes
04503          * a jam in that state.
04504          */
04505         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
04506         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
04507 
04508         b->yy_buf_pos = &b->yy_ch_buf[0];
04509 
04510         b->yy_at_bol = 1;
04511         b->yy_buffer_status = YY_BUFFER_NEW;
04512 
04513         if ( b == YY_CURRENT_BUFFER )
04514                 osol_load_buffer_state(yyscanner );
04515 }
04516 
04523 void osolpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
04524 {
04525     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04526         if (new_buffer == NULL)
04527                 return;
04528 
04529         osolensure_buffer_stack(yyscanner);
04530 
04531         /* This block is copied from osol_switch_to_buffer. */
04532         if ( YY_CURRENT_BUFFER )
04533                 {
04534                 /* Flush out information for old buffer. */
04535                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
04536                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
04537                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
04538                 }
04539 
04540         /* Only push if top exists. Otherwise, replace top. */
04541         if (YY_CURRENT_BUFFER)
04542                 yyg->yy_buffer_stack_top++;
04543         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04544 
04545         /* copied from osol_switch_to_buffer. */
04546         osol_load_buffer_state(yyscanner );
04547         yyg->yy_did_buffer_switch_on_eof = 1;
04548 }
04549 
04554 void osolpop_buffer_state (yyscan_t yyscanner)
04555 {
04556     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04557         if (!YY_CURRENT_BUFFER)
04558                 return;
04559 
04560         osol_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
04561         YY_CURRENT_BUFFER_LVALUE = NULL;
04562         if (yyg->yy_buffer_stack_top > 0)
04563                 --yyg->yy_buffer_stack_top;
04564 
04565         if (YY_CURRENT_BUFFER) {
04566                 osol_load_buffer_state(yyscanner );
04567                 yyg->yy_did_buffer_switch_on_eof = 1;
04568         }
04569 }
04570 
04571 /* Allocates the stack if it does not exist.
04572  *  Guarantees space for at least one push.
04573  */
04574 static void osolensure_buffer_stack (yyscan_t yyscanner)
04575 {
04576         int num_to_alloc;
04577     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04578 
04579         if (!yyg->yy_buffer_stack) {
04580 
04581                 /* First allocation is just for 2 elements, since we don't know if this
04582                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
04583                  * immediate realloc on the next call.
04584          */
04585                 num_to_alloc = 1;
04586                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osolalloc
04587                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
04588                                                                 , yyscanner);
04589                 if ( ! yyg->yy_buffer_stack )
04590                         YY_FATAL_ERROR( "out of dynamic memory in osolensure_buffer_stack()" );
04591                                                                   
04592                 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
04593                                 
04594                 yyg->yy_buffer_stack_max = num_to_alloc;
04595                 yyg->yy_buffer_stack_top = 0;
04596                 return;
04597         }
04598 
04599         if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
04600 
04601                 /* Increase the buffer to prepare for a possible push. */
04602                 int grow_size = 8 /* arbitrary grow size */;
04603 
04604                 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
04605                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osolrealloc
04606                                                                 (yyg->yy_buffer_stack,
04607                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
04608                                                                 , yyscanner);
04609                 if ( ! yyg->yy_buffer_stack )
04610                         YY_FATAL_ERROR( "out of dynamic memory in osolensure_buffer_stack()" );
04611 
04612                 /* zero only the new slots.*/
04613                 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
04614                 yyg->yy_buffer_stack_max = num_to_alloc;
04615         }
04616 }
04617 
04624 YY_BUFFER_STATE osol_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
04625 {
04626         YY_BUFFER_STATE b;
04627     
04628         if ( size < 2 ||
04629              base[size-2] != YY_END_OF_BUFFER_CHAR ||
04630              base[size-1] != YY_END_OF_BUFFER_CHAR )
04631                 /* They forgot to leave room for the EOB's. */
04632                 return 0;
04633 
04634         b = (YY_BUFFER_STATE) osolalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
04635         if ( ! b )
04636                 YY_FATAL_ERROR( "out of dynamic memory in osol_scan_buffer()" );
04637 
04638         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
04639         b->yy_buf_pos = b->yy_ch_buf = base;
04640         b->yy_is_our_buffer = 0;
04641         b->yy_input_file = 0;
04642         b->yy_n_chars = b->yy_buf_size;
04643         b->yy_is_interactive = 0;
04644         b->yy_at_bol = 1;
04645         b->yy_fill_buffer = 0;
04646         b->yy_buffer_status = YY_BUFFER_NEW;
04647 
04648         osol_switch_to_buffer(b ,yyscanner );
04649 
04650         return b;
04651 }
04652 
04661 YY_BUFFER_STATE osol_scan_string (yyconst char * yystr , yyscan_t yyscanner)
04662 {
04663     
04664         return osol_scan_bytes(yystr,strlen(yystr) ,yyscanner);
04665 }
04666 
04674 YY_BUFFER_STATE osol_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
04675 {
04676         YY_BUFFER_STATE b;
04677         char *buf;
04678         yy_size_t n;
04679         int i;
04680     
04681         /* Get memory for full buffer, including space for trailing EOB's. */
04682         n = _yybytes_len + 2;
04683         buf = (char *) osolalloc(n ,yyscanner );
04684         if ( ! buf )
04685                 YY_FATAL_ERROR( "out of dynamic memory in osol_scan_bytes()" );
04686 
04687         for ( i = 0; i < _yybytes_len; ++i )
04688                 buf[i] = yybytes[i];
04689 
04690         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
04691 
04692         b = osol_scan_buffer(buf,n ,yyscanner);
04693         if ( ! b )
04694                 YY_FATAL_ERROR( "bad buffer in osol_scan_bytes()" );
04695 
04696         /* It's okay to grow etc. this buffer, and we should throw it
04697          * away when we're done.
04698          */
04699         b->yy_is_our_buffer = 1;
04700 
04701         return b;
04702 }
04703 
04704 #ifndef YY_EXIT_FAILURE
04705 #define YY_EXIT_FAILURE 2
04706 #endif
04707 
04708 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
04709 {
04710         (void) fprintf( stderr, "%s\n", msg );
04711         exit( YY_EXIT_FAILURE );
04712 }
04713 
04714 /* Redefine yyless() so it works in section 3 code. */
04715 
04716 #undef yyless
04717 #define yyless(n) \
04718         do \
04719                 { \
04720                 /* Undo effects of setting up yytext. */ \
04721         int yyless_macro_arg = (n); \
04722         YY_LESS_LINENO(yyless_macro_arg);\
04723                 yytext[yyleng] = yyg->yy_hold_char; \
04724                 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
04725                 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
04726                 *yyg->yy_c_buf_p = '\0'; \
04727                 yyleng = yyless_macro_arg; \
04728                 } \
04729         while ( 0 )
04730 
04731 /* Accessor  methods (get/set functions) to struct members. */
04732 
04736 YY_EXTRA_TYPE osolget_extra  (yyscan_t yyscanner)
04737 {
04738     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04739     return yyextra;
04740 }
04741 
04745 int osolget_lineno  (yyscan_t yyscanner)
04746 {
04747     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04748     
04749         if (! YY_CURRENT_BUFFER)
04750             return 0;
04751     
04752     return yylineno;
04753 }
04754 
04758 int osolget_column  (yyscan_t yyscanner)
04759 {
04760     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04761     
04762         if (! YY_CURRENT_BUFFER)
04763             return 0;
04764     
04765     return yycolumn;
04766 }
04767 
04771 FILE *osolget_in  (yyscan_t yyscanner)
04772 {
04773     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04774     return yyin;
04775 }
04776 
04780 FILE *osolget_out  (yyscan_t yyscanner)
04781 {
04782     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04783     return yyout;
04784 }
04785 
04789 int osolget_leng  (yyscan_t yyscanner)
04790 {
04791     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04792     return yyleng;
04793 }
04794 
04799 char *osolget_text  (yyscan_t yyscanner)
04800 {
04801     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04802     return yytext;
04803 }
04804 
04809 void osolset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
04810 {
04811     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04812     yyextra = user_defined ;
04813 }
04814 
04819 void osolset_lineno (int  line_number , yyscan_t yyscanner)
04820 {
04821     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04822 
04823         /* lineno is only valid if an input buffer exists. */
04824         if (! YY_CURRENT_BUFFER )
04825            yy_fatal_error( "osolset_lineno called with no buffer" , yyscanner); 
04826     
04827     yylineno = line_number;
04828 }
04829 
04834 void osolset_column (int  column_no , yyscan_t yyscanner)
04835 {
04836     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04837 
04838         /* column is only valid if an input buffer exists. */
04839         if (! YY_CURRENT_BUFFER )
04840            yy_fatal_error( "osolset_column called with no buffer" , yyscanner); 
04841     
04842     yycolumn = column_no;
04843 }
04844 
04851 void osolset_in (FILE *  in_str , yyscan_t yyscanner)
04852 {
04853     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04854     yyin = in_str ;
04855 }
04856 
04857 void osolset_out (FILE *  out_str , yyscan_t yyscanner)
04858 {
04859     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04860     yyout = out_str ;
04861 }
04862 
04863 int osolget_debug  (yyscan_t yyscanner)
04864 {
04865     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04866     return yy_flex_debug;
04867 }
04868 
04869 void osolset_debug (int  bdebug , yyscan_t yyscanner)
04870 {
04871     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04872     yy_flex_debug = bdebug ;
04873 }
04874 
04875 /* Accessor methods for yylval and yylloc */
04876 
04877 YYSTYPE * osolget_lval  (yyscan_t yyscanner)
04878 {
04879     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04880     return yylval;
04881 }
04882 
04883 void osolset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
04884 {
04885     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04886     yylval = yylval_param;
04887 }
04888 
04889 YYLTYPE *osolget_lloc  (yyscan_t yyscanner)
04890 {
04891     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04892     return yylloc;
04893 }
04894     
04895 void osolset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
04896 {
04897     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04898     yylloc = yylloc_param;
04899 }
04900     
04901 /* User-visible API */
04902 
04903 /* osollex_init is special because it creates the scanner itself, so it is
04904  * the ONLY reentrant function that doesn't take the scanner as the last argument.
04905  * That's why we explicitly handle the declaration, instead of using our macros.
04906  */
04907 
04908 int osollex_init(yyscan_t* ptr_yy_globals)
04909 
04910 {
04911     if (ptr_yy_globals == NULL){
04912         errno = EINVAL;
04913         return 1;
04914     }
04915 
04916     *ptr_yy_globals = (yyscan_t) osolalloc ( sizeof( struct yyguts_t ), NULL );
04917 
04918     if (*ptr_yy_globals == NULL){
04919         errno = ENOMEM;
04920         return 1;
04921     }
04922 
04923     /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
04924     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
04925 
04926     return yy_init_globals ( *ptr_yy_globals );
04927 }
04928 
04929 /* osollex_init_extra has the same functionality as osollex_init, but follows the
04930  * convention of taking the scanner as the last argument. Note however, that
04931  * this is a *pointer* to a scanner, as it will be allocated by this call (and
04932  * is the reason, too, why this function also must handle its own declaration).
04933  * The user defined value in the first argument will be available to osolalloc in
04934  * the yyextra field.
04935  */
04936 
04937 int osollex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
04938 
04939 {
04940     struct yyguts_t dummy_yyguts;
04941 
04942     osolset_extra (yy_user_defined, &dummy_yyguts);
04943 
04944     if (ptr_yy_globals == NULL){
04945         errno = EINVAL;
04946         return 1;
04947     }
04948         
04949     *ptr_yy_globals = (yyscan_t) osolalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
04950         
04951     if (*ptr_yy_globals == NULL){
04952         errno = ENOMEM;
04953         return 1;
04954     }
04955     
04956     /* By setting to 0xAA, we expose bugs in
04957     yy_init_globals. Leave at 0x00 for releases. */
04958     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
04959     
04960     osolset_extra (yy_user_defined, *ptr_yy_globals);
04961     
04962     return yy_init_globals ( *ptr_yy_globals );
04963 }
04964 
04965 static int yy_init_globals (yyscan_t yyscanner)
04966 {
04967     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04968     /* Initialization is the same as for the non-reentrant scanner.
04969      * This function is called from osollex_destroy(), so don't allocate here.
04970      */
04971 
04972     yyg->yy_buffer_stack = 0;
04973     yyg->yy_buffer_stack_top = 0;
04974     yyg->yy_buffer_stack_max = 0;
04975     yyg->yy_c_buf_p = (char *) 0;
04976     yyg->yy_init = 0;
04977     yyg->yy_start = 0;
04978 
04979     yyg->yy_start_stack_ptr = 0;
04980     yyg->yy_start_stack_depth = 0;
04981     yyg->yy_start_stack =  NULL;
04982 
04983 /* Defined in main.c */
04984 #ifdef YY_STDINIT
04985     yyin = stdin;
04986     yyout = stdout;
04987 #else
04988     yyin = (FILE *) 0;
04989     yyout = (FILE *) 0;
04990 #endif
04991 
04992     /* For future reference: Set errno on error, since we are called by
04993      * osollex_init()
04994      */
04995     return 0;
04996 }
04997 
04998 /* osollex_destroy is for both reentrant and non-reentrant scanners. */
04999 int osollex_destroy  (yyscan_t yyscanner)
05000 {
05001     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
05002 
05003     /* Pop the buffer stack, destroying each element. */
05004         while(YY_CURRENT_BUFFER){
05005                 osol_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
05006                 YY_CURRENT_BUFFER_LVALUE = NULL;
05007                 osolpop_buffer_state(yyscanner);
05008         }
05009 
05010         /* Destroy the stack itself. */
05011         osolfree(yyg->yy_buffer_stack ,yyscanner);
05012         yyg->yy_buffer_stack = NULL;
05013 
05014     /* Destroy the start condition stack. */
05015         osolfree(yyg->yy_start_stack ,yyscanner );
05016         yyg->yy_start_stack = NULL;
05017 
05018     /* Reset the globals. This is important in a non-reentrant scanner so the next time
05019      * osollex() is called, initialization will occur. */
05020     yy_init_globals( yyscanner);
05021 
05022     /* Destroy the main struct (reentrant only). */
05023     osolfree ( yyscanner , yyscanner );
05024     yyscanner = NULL;
05025     return 0;
05026 }
05027 
05028 /*
05029  * Internal utility routines.
05030  */
05031 
05032 #ifndef yytext_ptr
05033 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
05034 {
05035         register int i;
05036         for ( i = 0; i < n; ++i )
05037                 s1[i] = s2[i];
05038 }
05039 #endif
05040 
05041 #ifdef YY_NEED_STRLEN
05042 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
05043 {
05044         register int n;
05045         for ( n = 0; s[n]; ++n )
05046                 ;
05047 
05048         return n;
05049 }
05050 #endif
05051 
05052 void *osolalloc (yy_size_t  size , yyscan_t yyscanner)
05053 {
05054         return (void *) malloc( size );
05055 }
05056 
05057 void *osolrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
05058 {
05059         /* The cast to (char *) in the following accommodates both
05060          * implementations that use char* generic pointers, and those
05061          * that use void* generic pointers.  It works with the latter
05062          * because both ANSI C and C++ allow castless assignment from
05063          * any pointer type to void*, and deal with argument conversions
05064          * as though doing an assignment.
05065          */
05066         return (void *) realloc( (char *) ptr, size );
05067 }
05068 
05069 void osolfree (void * ptr , yyscan_t yyscanner)
05070 {
05071         free( (char *) ptr );   /* see osolrealloc() for (char *) cast */
05072 }
05073 
05074 #define YYTABLES_NAME "yytables"
05075 
05076 #line 444 "/Users/kmartin/coin/os-trunk/OS/src/OSParsers/OSParseosol.l"
05077 
05078 
05079 
05080 
05081 

Generated on Thu Nov 10 03:05:50 2011 by  doxygen 1.4.7