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

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

Generated on Thu Mar 31 03:13:11 2011 by  doxygen 1.4.7