/home/coin/SVN-release/OS-2.3.1/OS/src/OSParsers/OSParseosrl.cpp

Go to the documentation of this file.
00001 #line 2 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.cpp"
00002 
00003 #line 4 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.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 osrlrestart(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 osrllex. 
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 osrlrestart()), 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 osrlrestart (FILE *input_file ,yyscan_t yyscanner );
00303 void osrl_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00304 YY_BUFFER_STATE osrl_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00305 void osrl_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00306 void osrl_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00307 void osrlpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00308 void osrlpop_buffer_state (yyscan_t yyscanner );
00309 
00310 static void osrlensure_buffer_stack (yyscan_t yyscanner );
00311 static void osrl_load_buffer_state (yyscan_t yyscanner );
00312 static void osrl_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00313 
00314 #define YY_FLUSH_BUFFER osrl_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00315 
00316 YY_BUFFER_STATE osrl_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00317 YY_BUFFER_STATE osrl_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00318 YY_BUFFER_STATE osrl_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00319 
00320 void *osrlalloc (yy_size_t ,yyscan_t yyscanner );
00321 void *osrlrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00322 void osrlfree (void * ,yyscan_t yyscanner );
00323 
00324 #define yy_new_buffer osrl_create_buffer
00325 
00326 #define yy_set_interactive(is_interactive) \
00327         { \
00328         if ( ! YY_CURRENT_BUFFER ){ \
00329         osrlensure_buffer_stack (yyscanner); \
00330                 YY_CURRENT_BUFFER_LVALUE =    \
00331             osrl_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         osrlensure_buffer_stack (yyscanner); \
00340                 YY_CURRENT_BUFFER_LVALUE =    \
00341             osrl_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 osrlwrap(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 212
00375 #define YY_END_OF_BUFFER 213
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[1655] =
00384     {   0,
00385         1,    1,  210,  210,  208,  208,  209,  209,    0,    0,
00386         0,    0,    0,    0,    0,    0,    0,    0,  213,  211,
00387         1,    2,  198,    2,  198,    6,  198,    5,  211,    4,
00388       198,  210,  212,  208,  209,  199,  201,  202,  201,  205,
00389       206,  205,    1,  198,  198,    6,  198,    5,    0,    4,
00390       198,  198,  198,  198,  198,  198,  198,  198,  198,  198,
00391       198,    3,    6,    6,  198,    7,    5,    0,    0,  204,
00392         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00393         0,    0,    0,    0,    4,  198,  210,  208,  209,  199,
00394         0,  207,  198,  198,  198,  198,  198,  198,  198,  198,
00395 
00396       198,  198,  198,  198,  198,  198,    6,    0,    0,    0,
00397         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00398         0,    0,    0,    0,    0,    0,    0,    0,    0,  110,
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,    6,  203,  198,  198,  198,  198,  198,
00402       198,  198,  198,  198,  198,  198,  198,  198,  200,    0,
00403         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00404         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00405         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00406 
00407         0,    0,    0,    0,    0,  100,    0,    0,    0,    0,
00408         0,  120,    0,    0,    0,   70,    0,  128,    0,    0,
00409         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00410         0,    0,    0,  192,  198,  198,  198,   28,  198,  198,
00411       198,  198,  198,  198,  198,  198,  198,  198,    0,    0,
00412         0,    0,    0,    0,    0,    0,    0,  111,    0,    0,
00413         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00414         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00415         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00416         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00417 
00418        70,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00419         0,    0,    0,    0,    0,    0,  168,    0,    0,    0,
00420         0,    0,    0,    0,  198,  198,   28,  198,   29,  198,
00421        30,  198,  198,  198,  198,  198,  198,  198,  198,  198,
00422       198,  198,    0,    0,    0,    0,    0,    0,    0,    0,
00423       101,    0,    0,    0,  111,    0,    0,    0,    0,  121,
00424         0,    0,    0,    0,   71,    0,    0,    0,  129,    0,
00425         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00426         0,    0,    0,    0,    0,    0,    0,    0,    0,  193,
00427         0,    0,    0,    0,    0,    0,    0,    0,   94,    0,
00428 
00429         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00430        75,  124,    0,    0,    0,   62,   61,  134,    0,    0,
00431         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00432         0,    0,    0,    0,    0,    0,    0,  198,  198,   29,
00433        30,  198,   43,   44,  198,  198,  198,  198,   47,   48,
00434       198,   51,   52,  198,  198,  198,    0,    0,    0,    0,
00435         0,    0,    0,    0,  101,    0,    0,    0,    0,    0,
00436         0,  121,    0,    0,    0,   76,   71,    0,    0,  129,
00437         0,    0,    0,   63,    0,    0,    0,    0,    0,    0,
00438         0,    0,    0,    0,    0,  169,    0,    0,    0,    0,
00439 
00440         0,    0,    0,    0,  193,    0,    0,    0,    0,    0,
00441         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00442         0,  122,   77,   75,    0,    0,    0,    0,    0,    0,
00443         0,    0,    0,    0,  158,    0,    0,    0,   66,    0,
00444         0,    0,    0,    0,    0,    0,    0,  188,  196,    0,
00445       198,  198,   41,   42,  198,  198,   31,  198,   45,   46,
00446        49,   50,  198,   55,   56,  198,    0,    0,    0,    0,
00447         0,    0,    0,   95,    0,    0,    0,    0,    0,    0,
00448         0,    0,    0,   76,    0,  125,    0,    0,    0,   63,
00449         0,  135,    0,    0,    0,    0,    0,    0,    0,    0,
00450 
00451         0,    0,    0,  169,    0,    0,    0,    0,    0,    0,
00452         0,    0,    0,    0,    0,    0,   80,   82,    0,    0,
00453         0,    0,    0,    0,    0,  112,    0,   64,    0,   77,
00454         0,  126,    0,    0,    0,    0,    0,   68,    0,    0,
00455         0,    0,    0,    0,   66,    0,    0,    0,    0,    0,
00456       178,    0,    0,    0,    0,    0,  198,  198,  198,   31,
00457       198,   53,   54,  198,    0,    0,    0,    0,    0,    0,
00458        95,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00459       123,  125,    0,    0,    0,  135,    0,    0,    0,    0,
00460         0,    0,    0,    0,  159,    0,    0,    0,    0,   67,
00461 
00462         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00463       189,    0,    0,  197,    0,    0,    0,    0,    0,    0,
00464         0,    0,    0,    0,    0,   64,    0,    0,    0,    0,
00465         0,    0,    0,    0,   68,    0,    0,  152,    0,    0,
00466         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00467         0,    0,    0,    0,  198,  198,  198,  198,  198,  198,
00468       198,  198,  198,  198,  198,  198,    0,    0,   81,    0,
00469        83,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00470       113,    0,    0,   65,    0,    0,  123,    0,  127,    0,
00471         0,    0,    0,    0,    0,   69,    0,    0,    0,    0,
00472 
00473         0,  159,    0,    0,    0,   67,    0,    0,    0,    0,
00474         0,    0,  179,    0,    0,    0,    0,  189,    0,  197,
00475         0,    0,    0,   98,    0,    0,    0,    0,    0,    0,
00476         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00477         0,    0,    0,    0,    0,    0,  162,    0,    0,    0,
00478       172,    0,    0,    0,    0,    0,    0,    0,  194,  198,
00479        35,   36,  198,  198,  198,  198,  198,  198,  198,  198,
00480       198,  198,  198,  198,  198,  198,    0,   81,   83,    0,
00481         0,    0,    0,    0,    0,    0,    0,  113,    0,   65,
00482         0,    0,  127,    0,    0,    0,    0,    0,    0,   69,
00483 
00484         0,    0,    0,    0,  153,    0,    0,    0,    0,    0,
00485         0,    0,    0,    0,    0,  179,    0,    0,    0,    0,
00486         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00487         0,  108,    0,    0,    0,    0,  130,    0,    0,    0,
00488         0,    0,    0,  148,    0,    0,    0,  160,  164,    0,
00489         0,    0,    0,    0,    0,    0,  186,    0,   33,   34,
00490       198,  198,  198,   10,  198,  198,  198,  198,  198,  198,
00491       198,  198,  198,  198,  198,    0,    0,    0,    0,    0,
00492        99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00493         0,    0,    0,    0,    0,    0,    0,    0,    0,  153,
00494 
00495         0,    0,    0,    0,  163,    0,    0,    0,    0,  173,
00496         0,    0,    0,    0,    0,    0,    0,    0,  195,    0,
00497         0,    0,    0,    0,   96,  102,    0,    0,  114,    0,
00498         0,    0,    0,    0,    0,    0,    0,  146,    0,    0,
00499         0,    0,    0,    0,    0,    0,    0,    0,    0,  198,
00500       198,  198,    8,  198,   10,  198,  198,   12,  198,  198,
00501        14,  198,  198,  198,  198,  198,  198,  198,   25,  198,
00502       198,  198,  198,    0,    0,    0,    0,   99,    0,    0,
00503         0,    0,    0,    0,  109,    0,    0,    0,    0,  131,
00504         0,    0,    0,    0,    0,    0,    0,  149,    0,    0,
00505 
00506         0,    0,  161,  163,    0,  165,    0,    0,  173,    0,
00507         0,    0,    0,    0,    0,  187,    0,  195,    0,    0,
00508         0,    0,    0,    0,  106,    0,  118,    0,   74,   72,
00509       136,    0,    0,    0,    0,    0,  156,    0,    0,    0,
00510         0,    0,  182,    0,  190,  198,   39,   40,    8,  198,
00511       198,   12,  198,   14,  198,  198,  198,  198,  198,  198,
00512        25,  198,  198,  198,  198,    0,    0,    0,    0,    0,
00513         0,   97,    0,  103,    0,    0,  109,    0,  115,    0,
00514         0,  131,    0,    0,    0,    0,    0,    0,  147,  149,
00515         0,    0,    0,  161,  165,    0,    0,    0,    0,    0,
00516 
00517         0,    0,  187,    0,    0,    0,    0,    0,    0,    0,
00518         0,  116,   74,    0,    0,    0,    0,    0,  154,    0,
00519         0,    0,    0,  180,  184,   37,   38,  198,  198,  198,
00520        13,  198,  198,  198,  198,  198,  198,  198,  198,  198,
00521       198,   24,  198,  198,  198,  198,    0,    0,    0,    0,
00522         0,    0,   97,  103,    0,    0,  107,  115,    0,    0,
00523       119,    0,   73,    0,    0,  137,    0,    0,    0,  147,
00524         0,    0,    0,  157,    0,    0,    0,    0,    0,    0,
00525       183,    0,    0,  191,    0,    0,    0,    0,    0,    0,
00526         0,    0,    0,    0,    0,    0,    0,    0,    0,  176,
00527 
00528       198,  198,   13,  198,  198,  198,  198,  198,  198,  198,
00529       198,  198,   24,  198,   27,  198,  198,  198,    0,    0,
00530         0,    0,    0,    0,    0,  107,    0,  117,  119,   73,
00531         0,  137,    0,    0,    0,    0,    0,  155,  157,    0,
00532         0,    0,    0,    0,  181,  183,    0,  185,  191,   78,
00533         0,    0,    0,   90,    0,  104,    0,    0,    0,    0,
00534         0,    0,    0,    0,  198,  198,  198,  198,  198,  198,
00535       198,  198,  198,  198,  198,   27,  198,  198,  198,    0,
00536         0,    0,    0,    0,    0,    0,  117,    0,    0,    0,
00537         0,    0,  155,    0,    0,    0,    0,  177,  181,  185,
00538 
00539         0,    0,    0,   92,    0,    0,    0,    0,    0,    0,
00540         0,    0,  198,  198,  198,  198,  198,  198,  198,  198,
00541       198,  198,  198,  198,  198,  198,    0,   79,    0,    0,
00542         0,    0,   91,    0,    0,  105,    0,    0,    0,    0,
00543         0,    0,    0,    0,  177,    0,   86,    0,    0,    0,
00544       142,    0,    0,  166,    0,  174,  198,  198,  198,  198,
00545       198,  198,  198,  198,  198,   21,  198,  198,  198,   26,
00546       198,  198,   79,    0,    0,    0,   91,    0,   93,  105,
00547         0,    0,    0,    0,    0,    0,    0,    0,   84,   88,
00548         0,    0,  144,  150,  170,  198,  198,  198,   15,  198,
00549 
00550       198,  198,  198,  198,   21,  198,  198,   26,  198,   32,
00551       198,  198,    0,    0,   87,    0,   93,    0,    0,    0,
00552       143,    0,    0,    0,  167,    0,    0,  175,    0,  138,
00553       198,    9,  198,   15,  198,  198,  198,  198,  198,  198,
00554       198,   23,   32,  198,   59,   60,    0,   85,   87,    0,
00555        89,    0,    0,  143,    0,  145,    0,  151,  167,    0,
00556       171,  175,    0,  140,    9,  198,   11,  198,  198,  198,
00557        18,  198,  198,  198,   23,   57,   58,   85,   89,    0,
00558         0,  139,    0,  145,  151,  171,    0,   11,  198,  198,
00559        18,  198,  198,  198,   22,    0,  139,    0,  141,    0,
00560 
00561       198,  198,  198,  198,   22,    0,  141,    0,  198,  198,
00562       198,  198,    0,    0,  198,  198,  198,  198,    0,    0,
00563       198,  198,  198,  198,    0,  132,  198,  198,  198,  198,
00564         0,  198,  198,  198,  198,    0,  133,  198,  198,  198,
00565        19,  198,   20,  133,  198,  198,   17,   19,   20,  198,
00566        16,   17,   16,    0
00567     } ;
00568 
00569 static yyconst flex_int32_t yy_ec[256] =
00570     {   0,
00571         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00572         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
00573         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00574         1,    2,    4,    5,    6,    6,    1,    1,    7,    1,
00575         1,    6,    8,    6,    9,   10,   11,   12,   12,   12,
00576        12,   13,   12,   14,   12,   12,   12,    6,    1,   15,
00577        16,   17,   18,    6,    6,   19,   20,   21,   22,   23,
00578         6,    6,   24,   25,    6,   26,   27,   28,   29,   30,
00579         6,   31,   32,   33,   34,   35,    6,    6,    6,    6,
00580         1,    1,    1,    1,    6,    1,   36,   37,   38,   39,
00581 
00582        40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
00583        50,   51,    6,   52,   53,   54,   55,   56,   57,   58,
00584        59,   60,    1,    1,    1,    1,    1,    1,    1,    1,
00585         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00586         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00587         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00588         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00589         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00590         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00591         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00592 
00593         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00594         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00595         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00596         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00597         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00598         1,    1,    1,    1,    1
00599     } ;
00600 
00601 static yyconst flex_int32_t yy_meta[61] =
00602     {   0,
00603         1,    2,    2,    1,    3,    2,    4,    2,    2,    2,
00604         2,    2,    2,    2,    5,    2,    6,    1,    2,    2,
00605         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00606         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00607         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00608         2,    2,    2,    2,    2,    2,    2,    2,    2,    2
00609     } ;
00610 
00611 static yyconst flex_int16_t yy_base[1668] =
00612     {   0,
00613         0,   24, 3287, 3286, 3297, 3296, 3293, 3292,    0,    0,
00614         0,    0, 3283, 3282,   13,   37,    3,    5, 3296, 3305,
00615        47, 3290,   15, 3287,   53,   95,   28,  134,  171,   17,
00616        59,    0, 3305,    0,    0,    0, 3305, 3305, 3284, 3305,
00617      3305, 3275,  226,   36,  101,  117,   37,  282,   51,   70,
00618        64,   63,  123,  106,   67,  126,  109,  135,  143,  144,
00619       150, 3305,  170,  246,  187, 3305,  176, 3282,  287, 3305,
00620       130, 3254,   33, 3234,  117, 3248,  193, 3237, 3246,  169,
00621       217,   83,   40, 3249,  103,  239,    0,    0,    0,    0,
00622      3267, 3305,  197,  216,  272,  273,  286,  290,  291,  276,
00623 
00624       295,  283,  300,  299,  304,  337,  353, 3274,  264, 3246,
00625       133, 3226,  156, 3240,  320, 3229, 3238,  324,  341,  126,
00626        41, 3241, 3222,  143, 3239, 3221, 3224, 3220, 3235, 3305,
00627       179, 3221, 3211, 3215, 3244, 3226, 3228, 3211, 3218, 3208,
00628      3209, 3217, 3216, 3206, 3210, 3220,   91, 3202, 3206, 3199,
00629      3206, 3211,  226,  369, 3305,  343,  347,  386,  365,  375,
00630       382,  389,  390,  393,  394,  397,  398,  401, 3305, 3196,
00631       218, 3213, 3195, 3198, 3194, 3209,  421,  381, 3195, 3185,
00632      3189, 3218, 3200, 3202, 3185, 3192, 3182, 3183, 3191, 3190,
00633      3180, 3184, 3194,  382, 3176, 3180, 3173, 3180, 3185,  346,
00634 
00635      3169, 3173, 3171, 3177,  313, 3167, 3167, 3171, 3184, 3168,
00636      3175, 3305, 3160, 3161, 3164,  425, 3158, 3170, 3165, 3161,
00637      3167, 3166, 3149,  142, 3150,  384, 3163, 3148,  269, 3165,
00638      3151, 3160, 3143,  397,  425,  429,  445,  453,  456,  461,
00639       472,  465,  437,  468,  494,  497,  475,  476, 3142, 3146,
00640      3144, 3150,  425,  499, 3141, 3145,  501,  492, 3158, 3142,
00641      3149,  504, 3134, 3135, 3138,  520, 3132,  522, 3140, 3136,
00642      3142, 3141, 3124,  471, 3125,  397, 3138, 3123,  488, 3140,
00643      3126, 3135, 3118,  531, 3136, 3114, 3119, 3122, 3114, 3153,
00644       192, 3112, 3125, 3129, 3119, 3122, 3109, 3124, 3119,  539,
00645 
00646       527, 3137, 3121, 3118, 3107,  543, 3102, 3114, 3108, 3097,
00647      3110, 3094, 3104, 3093, 3094, 3105, 3112, 3094, 3095, 3091,
00648       537, 3100, 3100, 3102,  521,  532,  551,  567,  570,  575,
00649       578,  586,  602,  544,  582,  583,  609,  613,  619,  636,
00650       629,  593, 3101, 3079, 3084, 3087, 3079, 3118,  482,  646,
00651       611, 3077, 3090, 3094,  652, 3084, 3087, 3074,  654,  656,
00652      3089, 3084,  658,  662,  664, 3102, 3086,  666,  670, 3083,
00653      3072,  674, 3067, 3079, 3073, 3062, 3075, 3059, 3069, 3058,
00654      3059, 3070,  678, 3060, 3061, 3057,  665, 3066,  685,  687,
00655      3066, 3068, 3056, 3062, 3061, 3064, 3063, 3085, 3305, 3065,
00656 
00657      3044, 3046, 3058, 3045, 3040, 3055, 3041, 3049,  694, 3071,
00658       691, 3305, 3045, 3032, 3041,  696, 3305,  669, 3029, 3045,
00659      3038, 3029, 3027, 3025, 3042, 3058, 3028,  385, 3033, 3049,
00660      3016, 3042, 3027, 3030, 3016, 3010, 3030,  667,  692,  701,
00661       712,  718, 3061, 3058,  469,  729,  550,  734, 3059, 3056,
00662       745, 3057, 3054,  751,  754,  612, 3013, 3019, 3018, 3021,
00663      3020, 3042,  761, 3022,  770, 3001, 3003, 3015, 3002, 2997,
00664      3012,  772, 2998, 3006,  774,  777,  779,  781, 3003,  783,
00665      2990, 2999,  785,  787,  790, 2987, 3003, 2996, 2987, 2985,
00666      2983, 3000, 3016, 2986,  792,  794,  477, 2991, 3007, 2974,
00667 
00668      3000, 2985, 2988, 2974,  797, 2968, 2988, 2992, 2971, 2970,
00669      2984, 2966, 3000, 2964, 2981, 2962, 2968, 2974, 2977, 2965,
00670      2973, 3305,  801,  803, 2999, 2969, 2964, 2947, 2966, 2955,
00671      2957, 2963, 2952,  688, 3305, 2968, 2946, 2963,  808, 2946,
00672      2961, 2972, 2945, 2945, 2959, 2939, 2943, 2958, 3305, 2942,
00673       711,  797, 3305, 3305,  798,  814,  821,  625, 3305, 3305,
00674      3305, 3305,  838, 2983, 2980,  810, 2954, 2933, 2932, 2946,
00675      2928, 2962,  817,  844, 2926, 2943, 2924, 2930, 2936, 2939,
00676      2927, 2935,  854,  856,  858,  860, 2932, 2927, 2910,  862,
00677       864,  866, 2929, 2918, 2920, 2926, 2915,  804,  870, 2931,
00678 
00679      2909, 2926,  874,  876, 2909, 2924, 2935, 2908, 2908, 2922,
00680      2902, 2906,  880,  882, 2906, 2898, 3305, 3305, 2904, 2895,
00681      2905, 2912, 2903,  362, 2891, 3305, 2891,  886, 2904,  890,
00682      2899, 3305, 2886, 2905, 2887, 2892, 2898,  892, 2888, 2887,
00683      2880, 2890, 2878, 2879,  898, 2882, 2874, 2881, 2879, 2890,
00684      3305,  642, 2880, 2875, 2870, 2883,  900,  889,  907,  906,
00685       835, 3305, 3305,  890, 2868,  908,  911, 2874, 2865, 2875,
00686       932, 2882, 2873,  733, 2861,  935, 2861,  941, 2874,  943,
00687       945,  947,  951, 2857, 2876,  953, 2858, 2863, 2869,  959,
00688      2859, 2858, 2851,  961,  963, 2861, 2849, 2850,  967,  969,
00689 
00690      2853, 2845, 2852, 2850, 2861,  972,  702, 2851, 2846,  977,
00691       979, 2841,  983,  988, 2854, 2857, 2852, 2838, 2841, 2835,
00692      2839, 2837, 2832, 2845, 2840,  993, 2829, 2854, 2827, 2840,
00693      2825, 2823,  942, 2838,  999, 2840,  509, 3305, 2819, 2820,
00694      2825, 2819, 2827, 2829, 2824, 2810, 2813, 2791, 2788, 2741,
00695      2757, 2735, 2734, 2732, 1001, 1004,  820,  942,  993,  997,
00696       998, 1005, 1009,  915, 1008, 1012, 2747, 1028, 1030, 1041,
00697      1035, 2741, 2727, 2728, 2717, 2718, 2714, 2708, 2721, 1044,
00698      1054, 2713, 1060, 1062, 2701, 2724, 1064, 1066, 1068, 2706,
00699      2691, 2683, 1017, 2697, 1072, 1076, 2694,  520, 1078, 2673,
00700 
00701      2672, 1082, 2673, 2658, 2661, 1084, 2660, 2651, 2639, 2640,
00702      2624, 1088, 1090, 2614, 2603, 2616, 2587, 1094, 2583, 1096,
00703      2564, 2556, 1080, 3305, 2568, 2541, 2523, 2537, 2534, 2490,
00704      2475, 2476, 2472, 2458, 2439, 2445, 2436, 2423, 2433, 2435,
00705      2409, 2426, 2403, 2384,   24,  114, 3305,  179,  203,  228,
00706      3305,  227,  296,  315,  336,  380,  420,  499, 3305, 1101,
00707       581,  587, 1094, 1095, 1111, 1100, 1024, 1105, 1104, 1108,
00708       827, 1115,  707, 1114, 1118, 1119,  554, 1135, 1137, 1121,
00709      1144,  597,  595,  624,  671,  702,  687, 1151,  692, 1155,
00710       765,  772, 1157,  773,  804,  807,  832,  850,  864, 1160,
00711 
00712       893,  943,  933, 1165, 1167,  933,  937,  959, 1169,  967,
00713       978,  996, 1171, 1000, 1022, 1173, 1011, 1036, 1037, 1035,
00714      1058, 1175, 1070, 1120, 1121, 1139, 1128, 1128, 1130, 1164,
00715      1131, 3305, 1138, 1135, 1142, 1143, 3305, 1143, 1140, 1151,
00716      1144, 1143, 1158, 3305, 1152, 1154, 1146, 3305, 3305, 1150,
00717      1163, 1152, 1155, 1169, 1167, 1172, 3305, 1160, 3305, 3305,
00718      1208, 1211, 1214, 1217, 1218, 1234, 1223, 1239, 1228, 1229,
00719      1242, 1243, 1272, 1246, 1250, 1158, 1185, 1174, 1181, 1245,
00720      1250, 1170, 1186, 1216, 1250, 1218, 1274, 1224, 1224, 1232,
00721      1290, 1231, 1228, 1242, 1242, 1243, 1258, 1300, 1252, 1302,
00722 
00723      1255, 1251, 1306, 1308, 1310, 1312, 1266, 1279, 1318, 1324,
00724      1270, 1274, 1291, 1290, 1295, 1330, 1285, 1334, 1336, 1307,
00725      1307, 1289, 1295, 1285, 3305, 3305, 1295, 1306, 3305, 1293,
00726      1309, 1350, 1301, 1301, 1305, 1327, 1321, 3305, 1314, 1319,
00727      1306, 1313, 1330, 1315, 1341, 1325, 1327, 1330, 1327, 1368,
00728      1371, 1377, 1387, 1360, 1393, 1382, 1403, 1398, 1392, 1409,
00729      1414, 1406, 1413, 1417, 1418, 1421, 1424, 1440, 1444, 1433,
00730      1434, 1437, 1445, 1339, 1347, 1329, 1339, 1461, 1332, 1465,
00731      1471, 1348, 1363, 1476, 1482, 1484, 1372, 1397, 1487, 1489,
00732      1391, 1400, 1416, 1440, 1440, 1492, 1494, 1496, 1436, 1460,
00733 
00734      1448, 1503, 1505, 1510, 1512, 1514, 1455, 1478, 1516, 1473,
00735      1499, 1483, 1485, 1487, 1524, 1528, 1486, 1530, 1490, 1507,
00736      1490, 1487, 1517, 1485, 3305, 1489, 3305, 1541, 1543, 1515,
00737      3305, 1499, 1494, 1498, 1491, 1513, 3305, 1517, 1500, 1519,
00738      1520, 1505, 3305, 1519, 3305, 1558, 1557, 1557, 1564, 1553,
00739      1554, 1574, 1580, 1583, 1557, 1584, 1563, 1573, 1593, 1615,
00740      1618, 1597, 1607, 1611, 1619, 1540, 1595, 1541, 1542, 1572,
00741      1635, 1600, 1637, 1639, 1539, 1643, 1645, 1647, 1654, 1556,
00742      1659, 1656, 1663, 1666, 1594, 1596, 1601, 1668, 1672, 1675,
00743      1603, 1633, 1679, 1684, 1686, 1643, 1630, 1654, 1655, 1640,
00744 
00745      1691, 1657, 1696, 1698, 1654, 1648, 1653, 1673, 1654, 1671,
00746      1660, 3305, 1708, 1662, 1682, 1660, 1662, 1681, 3305, 1664,
00747      1683, 1666, 1669, 3305, 3305, 3305, 3305, 1707, 1708, 1724,
00748      1730, 1713, 1714, 1719, 1720, 1731, 1734, 1735, 1738, 1744,
00749      1760, 1763, 1771, 1754, 1767, 1774, 1690, 1687, 1703, 1726,
00750      1716, 1736, 1790, 1792, 1730, 1794, 1797, 1800, 1802, 1806,
00751      1810, 1812, 1814, 1733, 1818, 1822, 1759, 1752, 1756, 1824,
00752      1786, 1828, 1830, 1834, 1774, 1798, 1784, 1787, 1838, 1840,
00753      1846, 1848, 1850, 1856, 1804, 1798, 1814, 1805, 1801, 1807,
00754      1808, 1816, 1824, 1815, 1835, 1815, 1826, 1819, 1828, 3305,
00755 
00756      1858, 1859, 1875, 1864, 1865, 1870, 1869, 1874, 1878, 1879,
00757      1882, 1883, 1901, 1908, 1924, 1891, 1918, 1890, 1843, 1840,
00758      1861, 1858, 1853, 1863, 1865, 1941, 1945, 1947, 1949, 1951,
00759      1882, 1953, 1892, 1883, 1903, 1886, 1955, 1957, 1961, 1901,
00760      1909, 1921, 1964, 1966, 1968, 1971, 1973, 1975, 1977, 3305,
00761      1945, 1944, 1949, 3305, 1950, 3305, 1932, 1935, 1934, 1947,
00762      1948, 1943, 1940, 1945, 1981, 1982, 1985, 1986, 1989, 1990,
00763      1993, 1994, 1997, 1998, 2001, 2017, 2006, 2007, 2016, 2025,
00764      1980, 1995, 2000, 2038, 2001, 2041, 2058, 1992, 1996, 1996,
00765      2009, 2013, 2060, 2014, 2011, 2016, 2065, 2067, 2069, 2071,
00766 
00767      2035, 2037, 2039, 3305, 2024, 2024, 2026, 2033, 2033, 2035,
00768      2045, 2037, 2072, 2073, 2076, 2077, 2080, 2081, 2084, 2085,
00769      2117, 2088, 2095, 2134, 2089, 2092, 2113, 2111, 2068, 2072,
00770      2079, 2138, 2122, 2140, 2150, 2156, 2068, 2072, 2090, 2098,
00771      2098, 2105, 2116, 2111, 2159, 2111, 3305, 2124, 2121, 2119,
00772      3305, 2128, 2120, 3305, 2131, 3305, 2156, 2157, 2173, 2162,
00773      2163, 2166, 2167, 2170, 2210, 2193, 2176, 2177, 2219, 2201,
00774      2226, 2230, 2195, 2134, 2198, 2159, 2221, 2235, 2237, 2246,
00775      2158, 2158, 2248, 2179, 2195, 2251, 2216, 2254, 3305, 3305,
00776      2208, 2205, 3305, 3305, 3305, 2258, 2247, 2264, 2267, 2261,
00777 
00778      2268, 2271, 2272, 2276, 2292, 2275, 2299, 2296, 2302, 2318,
00779      2323, 2329, 2325, 2345, 2347, 2349, 2351, 2213, 2218, 2353,
00780      2355, 2357, 2361, 2365, 2369, 2373, 2377, 2381, 2228, 2243,
00781      2383, 2386, 2389, 2393, 2293, 2392, 2409, 2328, 2398, 2399,
00782      2415, 2418, 2425, 2434, 2298, 2299, 2441, 2420, 2443, 2451,
00783      2453, 2281, 2457, 2459, 2461, 2463, 2467, 2469, 2473, 2477,
00784      2479, 2483, 2309, 3305, 2485, 2488, 2494, 2478, 2484, 2504,
00785      2511, 2500, 2501, 2520, 2527, 3305, 3305, 2531, 2536, 2329,
00786      2538, 2543, 2545, 2547, 2549, 2551, 2311, 2554, 2543, 2544,
00787      2561, 2550, 2551, 2570, 2577, 2315, 2579, 2581, 2586, 2337,
00788 
00789      2578, 2584, 2585, 2588, 2604, 2345, 2608, 2333, 2597, 2598,
00790      2601, 2605, 2339, 2342, 2608, 2611, 2612, 2615, 2347, 2366,
00791      2616, 2625, 2619, 2628, 2376, 3305, 2629, 2632, 2635, 2638,
00792      2661, 2650, 2653, 2677, 2681, 2672, 2655, 2670, 2697, 2700,
00793      2705, 2716, 2722, 2707, 2725, 2732, 2741, 2748, 2751, 2757,
00794      2767, 2773, 2776, 3305, 2793, 2799, 2805, 2811, 2817, 2823,
00795      2829, 2835, 2840, 2846, 2851, 2857, 2863
00796     } ;
00797 
00798 static yyconst flex_int16_t yy_def[1668] =
00799     {   0,
00800      1655, 1655, 1656, 1656, 1657, 1657, 1658, 1658, 1659, 1659,
00801      1659, 1659, 1660, 1660, 1661, 1661, 1662, 1662, 1654, 1654,
00802      1663, 1654, 1663, 1654, 1663, 1663, 1663, 1663, 1654, 1654,
00803      1663, 1664, 1654, 1665, 1666, 1667, 1654, 1654, 1654, 1654,
00804      1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,   29, 1654,
00805      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00806      1663, 1654, 1663, 1663, 1663, 1654, 1663, 1654, 1654, 1654,
00807      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00808      1654, 1654, 1654, 1654, 1654, 1663, 1664, 1665, 1666, 1667,
00809      1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00810 
00811      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654,
00812      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00813      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00814      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00815      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00816      1654, 1654, 1654, 1663, 1654, 1663, 1663, 1663, 1663, 1663,
00817      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654,
00818      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00819      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00820      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00821 
00822      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00823      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00824      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00825      1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00826      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654,
00827      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00828      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00829      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00830      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00831      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00832 
00833      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00834      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00835      1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00836      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00837      1663, 1663, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00838      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00839      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00840      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00841      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00842      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00843 
00844      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00845      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00846      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00847      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663,
00848      1663, 1663, 1654, 1654, 1663, 1663, 1663, 1663, 1654, 1654,
00849      1663, 1654, 1654, 1663, 1663, 1663, 1654, 1654, 1654, 1654,
00850      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00851      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00852      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00853      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00854 
00855      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00856      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00857      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00858      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00859      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00860      1663, 1663, 1654, 1654, 1663, 1663, 1663, 1663, 1654, 1654,
00861      1654, 1654, 1663, 1654, 1654, 1663, 1654, 1654, 1654, 1654,
00862      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00863      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00864      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00865 
00866      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00867      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00868      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00869      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00870      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00871      1654, 1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663,
00872      1663, 1654, 1654, 1663, 1654, 1654, 1654, 1654, 1654, 1654,
00873      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00874      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00875      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00876 
00877      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00878      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00879      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00880      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00881      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00882      1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00883      1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654,
00884      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00885      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00886      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00887 
00888      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00889      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00890      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00891      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00892      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00893      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1663,
00894      1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00895      1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654,
00896      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00897      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00898 
00899      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00900      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00901      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00902      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00903      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00904      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00905      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00906      1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654,
00907      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00908      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00909 
00910      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00911      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00912      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00913      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00914      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1663,
00915      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00916      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00917      1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00918      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00919      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00920 
00921      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00922      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00923      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00924      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00925      1654, 1654, 1654, 1654, 1654, 1663, 1654, 1654, 1663, 1663,
00926      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00927      1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654,
00928      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00929      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00930      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00931 
00932      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00933      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00934      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663,
00935      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00936      1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654,
00937      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00938      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00939      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00940      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00941      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00942 
00943      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00944      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654,
00945      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00946      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00947      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00948      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00949      1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00950      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1654,
00951      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00952      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00953 
00954      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00955      1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00956      1663, 1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654,
00957      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00958      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00959      1654, 1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663,
00960      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00961      1663, 1663, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00962      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00963      1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663,
00964 
00965      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00966      1663, 1663, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00967      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00968      1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663, 1663,
00969      1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654, 1654,
00970      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
00971      1654, 1654, 1654, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00972      1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654,
00973      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1663, 1663, 1663,
00974      1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1654, 1654,
00975 
00976      1663, 1663, 1663, 1663, 1663, 1654, 1654, 1654, 1663, 1663,
00977      1663, 1663, 1654, 1654, 1663, 1663, 1663, 1663, 1654, 1654,
00978      1663, 1663, 1663, 1663, 1654, 1654, 1663, 1663, 1663, 1663,
00979      1654, 1663, 1663, 1663, 1663, 1654, 1654, 1663, 1663, 1663,
00980      1663, 1663, 1663, 1654, 1663, 1663, 1663, 1663, 1663, 1663,
00981      1663, 1663, 1663,    0, 1654, 1654, 1654, 1654, 1654, 1654,
00982      1654, 1654, 1654, 1654, 1654, 1654, 1654
00983     } ;
00984 
00985 static yyconst flex_int16_t yy_nxt[3366] =
00986     {   0,
00987        20,   21,   21,   20,   22,   41,   24,   41,   25,   26,
00988        27,   28,   28,   28,   29,   38,   30,   20,   85,   85,
00989        42,   39,   42,   31,   20,   21,   21,   20,   22, 1654,
00990        24, 1654,   25,   26,   27,   28,   28,   28,   29,   38,
00991        30,   20, 1654, 1654,   66,   39, 1654,   31,   43,   43,
00992      1654, 1654, 1654,   66, 1654,   45,   46,   47,   48,   48,
00993        48,   49,   46,   50,   48,   48,   48, 1654, 1654, 1654,
00994        51,   85,   85, 1654,  947, 1654,   51, 1654, 1654, 1654,
00995      1654, 1654,  127, 1654,   52,   53,   86,  128,  151,  198,
00996        54,   86,  152,  199,   55,   56,   63,   63,   93,   57,
00997 
00998        58,   59,   60,   61,   85,   85,   64,   64,   64, 1654,
00999        46, 1654,   48,   48,   48, 1654,   65, 1654,   63,   63,
01000      1654,   97, 1654, 1654,   51, 1654,  149,  226,   64,   64,
01001        64, 1654,  150, 1654,   65,   67,   67, 1654,   65, 1654,
01002      1654,  227, 1654,   46,   95,   48,   48,   48, 1654, 1654,
01003      1654, 1654,  100,  948,   96,   65,   65, 1654, 1654, 1654,
01004      1654,   98,   94,  130, 1654,  131, 1654,  123,  202,  196,
01005       101,   63,   63,   65,   68,  197,  203,   67,   67,  104,
01006        99,   69,  174,  124, 1654,  125, 1654,  175,   70,  105,
01007      1654,  103, 1654,  102,  106,  106,  310,  311,  107,  107,
01008 
01009       107, 1654,  177, 1654,  178,  139,   71,   72,   73,   74,
01010        75, 1654,   76, 1654,   77,   78,  949,  209,   79,  140,
01011        80,  141,  142,   81,   82,   83,   84,   43,   43,  399,
01012      1654,  133, 1654,  210,   45,   46,   47,   48,   48,   48,
01013        49,  134,   50,  250,  400,  135,  136,   63,   63,   51,
01014       156,  251,  950, 1654,  143, 1654,  144,   64,   64,   64,
01015      1654,  154, 1654,   52,   53,  951,  145,   65,  157,   54,
01016       146,  147,  233,   55,   56,  148,  952,  234,   57,   58,
01017        59,   60,   61,   67,   67,   65, 1654, 1654, 1654, 1654,
01018      1654,   46, 1654,   48,   48,   48, 1654, 1654, 1654, 1654,
01019 
01020      1654,  170, 1654,   65, 1654, 1654, 1654, 1654,  317, 1654,
01021       159, 1654,  318, 1654, 1654, 1654, 1654,  171, 1654,  172,
01022      1654,   65,  109,  110,  111,  112,  113,  953,  114,  158,
01023       115,  116,  160,  165,  117,  163,  118,  161,  162,  119,
01024       120,  121,  122,  166,  289,  167,  164,  168,  107,  107,
01025       107, 1654,  290, 1654,   63,   63,  291, 1654,  180, 1654,
01026       186, 1654,  954, 1654,  107,  107,  107, 1654,  181, 1654,
01027        63,   63,  182,  183,  187,  955,  188,  189,  190, 1654,
01028       191, 1654,  235, 1654,  236, 1654,  722,  237,  237, 1654,
01029       192, 1654,  283,  723,  193,  194, 1654,  284, 1654,  195,
01030 
01031      1654,  238, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01032      1654, 1654, 1654, 1654, 1654, 1654,  239, 1654,  276,  259,
01033       323,  241,  257,  257,  540,  242,  301,  301,  240,  243,
01034       956,  313,  277,  245,  244,  260,  314,  258,  541, 1654,
01035       324, 1654,  248, 1654,  379, 1654,  237,  237,  302,  380,
01036       246, 1654,  247, 1654,  327,  327,  347,  328,  328, 1654,
01037       238, 1654,  330,  330,  348,  335,  325, 1654,  349, 1654,
01038      1654,  329, 1654,  332,  332, 1654,  331, 1654,  957, 1654,
01039       326, 1654, 1654, 1654, 1654, 1654, 1654,  333, 1654, 1654,
01040      1654, 1654, 1654,  355,  355,  337,  337,  555,  339,  339,
01041 
01042       350,  350,  257,  257,  334,  359,  359,  336, 1654,  338,
01043      1654, 1654,  340, 1654,  341,  351,  605,  258,  342,  463,
01044       360,  364,  364,  368,  368,  376,  377,  383,  301,  301,
01045       606,  384,  389,  389,  464, 1654,  365, 1654,  369,  842,
01046       409,  409,  958,  366,  416,  416, 1654,  390, 1654,  410,
01047       902,  352,  327,  327,  391,  411,  432,  433, 1654,  417,
01048      1654,  370,  843,  434, 1654, 1654, 1654, 1654,  328,  328,
01049       438,  440,  440,  903,  392,  439,  330,  330,  558,  441,
01050       441, 1654,  329, 1654, 1654,  959, 1654,  332,  332, 1654,
01051       331, 1654, 1654,  960, 1654,  445, 1654, 1654, 1654, 1654,
01052 
01053      1654,  333, 1654,  442,  442,  976,  443, 1654,  444, 1654,
01054       337,  337,  465,  465,  448,  448, 1654,  449, 1654,  450,
01055       339,  339,  446, 1654,  338, 1654, 1654, 1654, 1654, 1654,
01056       454,  454,  982, 1654,  340, 1654,  447,  451,  451, 1654,
01057       452, 1654,  453, 1654,  455, 1654,  456,  350,  350,  983,
01058      1654,  566, 1654,  355,  355,  359,  359,  472,  472,  475,
01059       475,  661,  351,  364,  364,  477,  477,  368,  368,  749,
01060       360,  480,  480,  750,  476,  483,  483,  984,  365,  495,
01061       495, 1654,  369, 1654,  501,  502,  389,  389,  505,  505,
01062       484,  503,  524,  524,  496,  409,  409,  416,  416,  529,
01063 
01064       530,  390,  440,  440,  410,  525, 1654,  985, 1654,  497,
01065       411,  640,  417,  441,  441, 1654,  641, 1654,  551,  442,
01066       442, 1654,  443, 1654,  444, 1654, 1654, 1654, 1654,  814,
01067       556,  556, 1654,  815, 1654,  448,  448,  986,  449,  987,
01068       450,  988,  552, 1654,  557, 1654,  451,  451, 1654,  452,
01069      1654,  453,  454,  454,  972,  563,  563,  777,  564, 1654,
01070       565, 1654,  573,  573,  778, 1654,  455, 1654, 1654,  657,
01071      1654,  465,  465,  472,  472,  475,  475,  574,  584,  584,
01072       477,  477,  585,  585,  480,  480,  483,  483,  590,  590,
01073       476,  591,  591,  495,  495,  604,  604,  586,  505,  505,
01074 
01075       989,  484,  630,  630,  524,  524,  592,  990,  496,  645,
01076       645, 1654, 1654, 1654, 1654,  556,  556,  525,  573,  573,
01077       593,  594,  660,  660, 1654,  991, 1654,  692, 1654,  557,
01078      1654,  646,  693,  574, 1654, 1654, 1654, 1654,  659,  563,
01079       563, 1654,  564, 1654,  565,  671,  671,  992,  664, 1654,
01080       658, 1654, 1654,  993, 1654,  680,  680,  584,  584,  585,
01081       585,  682,  682,  590,  590,  591,  591,  686,  686,  863,
01082       681,  694,  694,  970,  586,  699,  699,  604,  604,  765,
01083       592,  710,  710,  713,  713,  994,  695,  726,  726,  995,
01084       700,  630,  630,  735,  735,  996,  711,  701,  714,  645,
01085 
01086       645,  755,  755, 1654, 1654, 1654, 1654,  660,  660,  768,
01087       768,  712,  770,  770, 1654,  756, 1654,  727,  766,  736,
01088      1654, 1654, 1654, 1654,  769,  737,  758,  771,  759, 1654,
01089       760, 1654,  757,  671,  671,  761,  780,  780,  762,  763,
01090       997,  764,  783,  783,  680,  680,  787,  787,  682,  682,
01091       874,  781,  788,  788,  686,  686, 1654,  784, 1654,  681,
01092       795,  795,  694,  694,  802,  802,  998,  789,  699,  699,
01093       806,  806,  785,  812,  812,  796,  999,  695,  710,  710,
01094       818,  818, 1001,  700,  713,  713,  797, 1002,  813,  820,
01095       820,  864,  798,  711,  726,  726,  838,  839, 1003,  714,
01096 
01097       735,  735,  755,  755, 1006,  860,  860, 1654,  861, 1654,
01098       862, 1654, 1654, 1654, 1654, 1654,  756, 1654, 1654, 1654,
01099      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1007, 1654,  768,
01100       768,  878,  878, 1008,  869,  867,  879,  879, 1654,  865,
01101      1654,  866,  770,  770,  769,  780,  780,  875,  876, 1011,
01102       868,  870,  873, 1012,  871,  888,  888,  771, 1013,  872,
01103       781,  783,  783,  890,  890,  787,  787,  788,  788,  893,
01104       893,  897,  898,  795,  795, 1014,  784,  900,  900,  904,
01105       904,  966,  789,  802,  802,  806,  806, 1015,  796,  812,
01106       812,  916,  916, 1016,  905,  818,  818,  820,  820,  924,
01107 
01108       925, 1017,  860,  860,  813,  861,  926,  862, 1654, 1654,
01109      1654, 1654,  963,  963, 1654, 1654, 1654, 1654, 1654, 1654,
01110      1654, 1654, 1654, 1020, 1654, 1654,  964, 1654, 1654, 1654,
01111      1654, 1654, 1654, 1654, 1654, 1654,  878,  878,  879,  879,
01112       977,  978,  961,  962,  967,  980,  980,  979,  968, 1021,
01113       969,  971,  888,  888,  965,  974,  890,  890,  893,  893,
01114       981,  900,  900,  975, 1022,  973,  904,  904, 1000, 1000,
01115      1004, 1004, 1009, 1009,  916,  916, 1018, 1018, 1023, 1024,
01116      1025,  905, 1026, 1027, 1028, 1005, 1029, 1010, 1030, 1031,
01117      1032, 1019, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
01118 
01119      1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050,
01120      1050, 1074, 1052, 1052, 1075,  963,  963, 1076, 1055, 1055,
01121      1077, 1079, 1654, 1051, 1654, 1654, 1053, 1654, 1654,  964,
01122      1654, 1654, 1654, 1654, 1654, 1057, 1057, 1654, 1080, 1654,
01123      1060, 1060, 1654, 1654, 1654, 1654,  980,  980, 1654, 1058,
01124      1654, 1078, 1078, 1654, 1061, 1654, 1654, 1654, 1654, 1654,
01125      1654,  981, 1654, 1054, 1654, 1056, 1654, 1063, 1081, 1082,
01126      1059, 1083, 1086, 1068, 1068, 1084, 1084, 1087, 1062, 1088,
01127      1091, 1092, 1067, 1064, 1065, 1093, 1654, 1069, 1654, 1073,
01128      1085, 1089, 1089, 1094, 1066, 1070, 1095, 1096, 1099, 1072,
01129 
01130      1100, 1097, 1097, 1000, 1000, 1101, 1090, 1102, 1102, 1004,
01131      1004, 1104, 1104, 1105, 1105, 1071, 1098, 1107, 1108, 1009,
01132      1009, 1110, 1103, 1111, 1005, 1109, 1109, 1112, 1106, 1113,
01133      1114, 1115, 1115, 1117, 1010, 1018, 1018, 1118, 1118, 1119,
01134      1120, 1121, 1122, 1123, 1124, 1125, 1116, 1126, 1127, 1130,
01135      1019, 1128, 1128, 1131, 1132, 1133, 1134, 1135, 1136, 1137,
01136      1138, 1139, 1140, 1141, 1142, 1143, 1129, 1144, 1145, 1050,
01137      1050, 1166, 1146, 1146, 1654, 1147, 1654, 1148, 1052, 1052,
01138      1167, 1168, 1654, 1051, 1654, 1654, 1169, 1654, 1149, 1149,
01139      1170, 1654, 1053, 1654, 1055, 1055, 1654, 1175, 1654, 1152,
01140 
01141      1152, 1654, 1176, 1654, 1057, 1057, 1654, 1654, 1654, 1654,
01142      1060, 1060, 1654, 1150, 1654, 1154, 1154, 1654, 1058, 1654,
01143      1654, 1151, 1654, 1654, 1061, 1654, 1180, 1654, 1654, 1654,
01144      1654, 1654, 1654, 1654, 1654, 1654, 1181, 1654, 1654, 1183,
01145      1654, 1068, 1068, 1155, 1153, 1161, 1161, 1654, 1654, 1654,
01146      1654, 1654, 1184, 1654, 1654, 1069, 1654, 1158, 1654, 1654,
01147      1654, 1654, 1078, 1078, 1156, 1185, 1171, 1171, 1186, 1163,
01148      1157, 1162, 1173, 1173, 1159, 1187, 1160, 1084, 1084, 1191,
01149      1164, 1172, 1165, 1177, 1177, 1178, 1178, 1174, 1089, 1089,
01150      1182, 1182, 1085, 1188, 1188, 1097, 1097, 1190, 1190, 1192,
01151 
01152      1179, 1193, 1196, 1090, 1102, 1102, 1194, 1194, 1189, 1197,
01153      1098, 1104, 1104, 1105, 1105, 1195, 1195, 1109, 1109, 1103,
01154      1198, 1199, 1200, 1201, 1202, 1115, 1115, 1204, 1106, 1203,
01155      1203, 1118, 1118, 1205, 1206, 1208, 1209, 1210, 1207, 1211,
01156      1116, 1212, 1128, 1128, 1213, 1213, 1214, 1215, 1216, 1217,
01157      1218, 1219, 1220, 1221, 1222, 1223, 1224, 1129, 1225, 1146,
01158      1146, 1226, 1147, 1227, 1148, 1149, 1149, 1654, 1654, 1654,
01159      1654, 1654, 1654, 1654, 1654, 1152, 1152, 1654, 1654, 1654,
01160      1654, 1230, 1230, 1247, 1154, 1154, 1250, 1654, 1654, 1654,
01161      1654, 1251, 1252, 1255, 1654, 1231, 1654, 1654, 1654, 1654,
01162 
01163      1654, 1253, 1253, 1233, 1228, 1229, 1238, 1654, 1259, 1654,
01164      1232, 1654, 1234, 1654, 1235, 1236, 1241, 1241, 1237, 1161,
01165      1161, 1654, 1248, 1654, 1239, 1654, 1249, 1654, 1240, 1654,
01166      1242, 1654, 1654, 1654, 1654, 1654, 1171, 1171, 1173, 1173,
01167      1254, 1254, 1267, 1244, 1256, 1256, 1177, 1177, 1178, 1178,
01168      1268, 1172, 1269, 1174, 1243, 1258, 1258, 1182, 1182, 1257,
01169      1260, 1260, 1271, 1179, 1262, 1262, 1245, 1265, 1265, 1188,
01170      1188, 1272, 1246, 1270, 1270, 1261, 1190, 1190, 1275, 1263,
01171      1273, 1273, 1266, 1276, 1189, 1194, 1194, 1195, 1195, 1277,
01172      1278, 1279, 1280, 1280, 1264, 1274, 1282, 1203, 1203, 1283,
01173 
01174      1283, 1285, 1286, 1287, 1288, 1289, 1290, 1281, 1291, 1213,
01175      1213, 1292, 1293, 1294, 1284, 1295, 1296, 1297, 1298, 1299,
01176      1300, 1654, 1654, 1654, 1654, 1230, 1230, 1654, 1654, 1654,
01177      1654, 1303, 1303, 1654, 1654, 1654, 1654, 1319, 1654, 1231,
01178      1654, 1320, 1301, 1302, 1654, 1654, 1654, 1654, 1654, 1654,
01179      1654, 1654, 1654, 1321, 1654, 1306, 1304, 1322, 1654, 1307,
01180      1654, 1241, 1241, 1305, 1313, 1313, 1311, 1323, 1654, 1309,
01181      1654, 1324, 1314, 1314, 1654, 1242, 1654, 1654, 1325, 1654,
01182      1308, 1654, 1331, 1654, 1310, 1654, 1315, 1654, 1654, 1333,
01183      1654, 1253, 1253, 1254, 1254, 1256, 1256, 1312, 1326, 1326,
01184 
01185      1316, 1258, 1258, 1327, 1327, 1334, 1317, 1260, 1260, 1335,
01186      1257, 1329, 1329, 1262, 1262, 1330, 1330, 1318, 1328, 1265,
01187      1265, 1336, 1261, 1332, 1332, 1270, 1270, 1340, 1263, 1337,
01188      1337, 1273, 1273, 1341, 1266, 1339, 1339, 1342, 1343, 1344,
01189      1344, 1280, 1280, 1350, 1338, 1351, 1274, 1346, 1346, 1347,
01190      1347, 1283, 1283, 1352, 1345, 1353, 1281, 1349, 1349, 1354,
01191      1355, 1356, 1357, 1358, 1348, 1359, 1284, 1360, 1361, 1362,
01192      1363, 1364, 1654, 1654, 1654, 1654, 1303, 1303, 1654, 1654,
01193      1654, 1654, 1380, 1654, 1654, 1654, 1654, 1381, 1654, 1654,
01194      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01195 
01196      1382, 1365, 1313, 1313, 1654, 1654, 1654, 1654, 1383, 1314,
01197      1314, 1384, 1366, 1368, 1369, 1654, 1385, 1654, 1386, 1367,
01198      1371, 1370, 1654, 1315, 1654, 1376, 1376, 1373, 1388, 1372,
01199      1377, 1389, 1654, 1390, 1654, 1391, 1374, 1375, 1654, 1392,
01200      1654, 1378, 1326, 1326, 1394, 1379, 1327, 1327, 1387, 1387,
01201      1329, 1329, 1330, 1330, 1332, 1332, 1337, 1337, 1393, 1393,
01202      1395, 1328, 1339, 1339, 1396, 1397, 1397, 1344, 1344, 1399,
01203      1399, 1338, 1346, 1346, 1347, 1347, 1400, 1400, 1349, 1349,
01204      1398, 1401, 1345, 1402, 1403, 1404, 1405, 1406, 1407, 1348,
01205      1408, 1409, 1410, 1411, 1412, 1654, 1654, 1654, 1654, 1654,
01206 
01207      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01208      1654, 1654, 1654, 1654, 1654, 1654, 1429, 1654, 1376, 1376,
01209      1654, 1654, 1654, 1654, 1415, 1414, 1427, 1427, 1417, 1413,
01210      1654, 1654, 1654, 1654, 1430, 1431, 1434, 1420, 1416, 1432,
01211      1432, 1428, 1435, 1435, 1418, 1425, 1437, 1419, 1438, 1421,
01212      1439, 1422, 1440, 1423, 1433, 1426, 1441, 1436, 1424, 1387,
01213      1387, 1393, 1393, 1442, 1443, 1444, 1397, 1397, 1445, 1445,
01214      1399, 1399, 1400, 1400, 1446, 1447, 1448, 1449, 1450, 1451,
01215      1452, 1398, 1453, 1454, 1455, 1456, 1654, 1654, 1654, 1654,
01216      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01217 
01218      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1474, 1654, 1654,
01219      1475, 1654, 1473, 1473, 1427, 1427, 1476, 1461, 1465, 1465,
01220      1464, 1481, 1458, 1477, 1477, 1457, 1482, 1462, 1459, 1428,
01221      1460, 1654, 1466, 1654, 1468, 1469, 1469, 1463, 1467, 1432,
01222      1432, 1478, 1478, 1483, 1472, 1484, 1471, 1485, 1654, 1470,
01223      1654, 1435, 1435, 1486, 1433, 1487, 1479, 1480, 1480, 1488,
01224      1445, 1445, 1489, 1490, 1491, 1492, 1436, 1493, 1494, 1495,
01225      1654, 1654, 1654, 1654, 1498, 1498, 1654, 1654, 1654, 1654,
01226      1654, 1654, 1654, 1654, 1654, 1513, 1654, 1654, 1499, 1654,
01227      1654, 1654, 1654, 1654, 1505, 1505, 1473, 1473, 1516, 1514,
01228 
01229      1514, 1518, 1508, 1508, 1519, 1497, 1504, 1654, 1496, 1654,
01230      1503, 1465, 1465, 1500, 1515, 1654, 1501, 1654, 1522, 1502,
01231      1469, 1469, 1477, 1477, 1654, 1466, 1654, 1509, 1509, 1507,
01232      1506, 1511, 1511, 1654, 1470, 1654, 1478, 1478, 1517, 1517,
01233      1654, 1510, 1654, 1523, 1654, 1512, 1654, 1480, 1480, 1520,
01234      1520, 1479, 1524, 1524, 1526, 1527, 1527, 1529, 1530, 1531,
01235      1531, 1654, 1552, 1654, 1521, 1498, 1498, 1525, 1534, 1534,
01236      1528, 1553, 1654, 1532, 1654, 1654, 1563, 1654, 1654, 1499,
01237      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01238      1654, 1654, 1654, 1505, 1505, 1564, 1535, 1508, 1508, 1533,
01239 
01240      1541, 1541, 1576, 1509, 1509, 1577, 1654, 1654, 1654, 1654,
01241      1654, 1536, 1654, 1654, 1542, 1654, 1654, 1510, 1654, 1543,
01242      1543, 1538, 1539, 1537, 1511, 1511, 1547, 1547, 1540, 1580,
01243      1544, 1544, 1654, 1545, 1654, 1546, 1568, 1654, 1512, 1654,
01244      1587, 1548, 1654, 1654, 1654, 1654, 1514, 1514, 1549, 1549,
01245      1550, 1550, 1517, 1517, 1520, 1520, 1554, 1554, 1555, 1555,
01246      1596, 1515, 1557, 1557, 1600, 1551, 1524, 1524, 1606, 1521,
01247      1559, 1559, 1608, 1556, 1560, 1560, 1572, 1558, 1527, 1527,
01248      1613, 1525, 1562, 1562, 1531, 1531, 1614, 1565, 1565, 1561,
01249      1566, 1566, 1619, 1528, 1534, 1534, 1620, 1654, 1532, 1654,
01250 
01251      1654, 1625, 1654, 1654, 1567, 1654, 1654, 1654, 1654, 1654,
01252      1570, 1570, 1654, 1654, 1654, 1654, 1541, 1541, 1626, 1575,
01253      1575, 1578, 1578, 1654, 1571, 1654, 1543, 1543, 1631, 1654,
01254      1542, 1654, 1654,  946, 1654, 1544, 1544, 1573, 1545, 1654,
01255      1546, 1654, 1547, 1547, 1549, 1549,  945, 1569, 1654,  944,
01256      1654, 1574, 1550, 1550, 1579, 1579,  943, 1548, 1581, 1581,
01257      1554, 1554, 1555, 1555, 1584, 1584,  942, 1551, 1557, 1557,
01258      1585, 1585,  941, 1582, 1559, 1559,  940, 1556, 1560, 1560,
01259      1586, 1586,  939, 1558, 1562, 1562, 1565, 1565,  938, 1566,
01260      1566,  937, 1654, 1561, 1654, 1588, 1588,  936, 1654, 1654,
01261 
01262      1654, 1654, 1654, 1567, 1654, 1570, 1570,  935, 1654, 1583,
01263      1654,  934, 1591, 1591, 1654, 1654, 1654, 1654, 1654, 1571,
01264      1654, 1594, 1594, 1590,  933, 1654, 1589, 1654, 1575, 1575,
01265      1592, 1593, 1578, 1578, 1654, 1595, 1654, 1579, 1579, 1581,
01266      1581, 1654,  932, 1654, 1597, 1597, 1598, 1598, 1584, 1584,
01267      1585, 1585, 1586, 1586, 1582, 1588, 1588, 1654, 1654, 1654,
01268      1654, 1599, 1591, 1591, 1654, 1654, 1654, 1654, 1654,  931,
01269      1654, 1594, 1594,  930, 1602, 1654,  929, 1654, 1605, 1605,
01270      1597, 1597, 1598, 1598, 1654, 1595, 1654, 1607, 1607, 1603,
01271      1604, 1654, 1654, 1654, 1654,  928, 1601, 1599, 1654, 1654,
01272 
01273      1654, 1654, 1654,  927, 1654, 1605, 1605,  923, 1609, 1607,
01274      1607, 1654, 1654, 1654, 1654, 1654,  922, 1654, 1654, 1654,
01275      1654, 1654, 1654, 1610, 1654, 1654, 1654, 1654, 1654, 1654,
01276      1654, 1654, 1654, 1654,  921, 1654, 1615, 1611,  920, 1654,
01277      1612, 1654, 1654, 1654, 1654, 1654, 1654,  919, 1654, 1654,
01278      1616, 1654, 1654,  918, 1654, 1617, 1644, 1644, 1623, 1618,
01279      1621, 1624, 1636, 1636, 1654, 1622, 1654, 1654,  917, 1654,
01280      1627, 1628, 1629, 1636, 1636, 1632,  915, 1637, 1640, 1640,
01281       914, 1630, 1642, 1642, 1654, 1633, 1654, 1634, 1637,  913,
01282      1635, 1654, 1641, 1654,  912, 1654, 1643, 1654, 1646, 1646,
01283 
01284       911, 1640, 1640, 1638,  910, 1639, 1648, 1648, 1644, 1644,
01285       909, 1654, 1647, 1654, 1654, 1641, 1654, 1642, 1642, 1654,
01286       908, 1654, 1645, 1649, 1649,  907, 1650, 1650,  906,  901,
01287      1654, 1643, 1654, 1646, 1646,  899, 1654,  896, 1654, 1654,
01288      1651, 1654, 1652, 1652,  895,  894, 1654, 1647, 1654, 1648,
01289      1648,  892, 1649, 1649,  891, 1654,  889, 1654, 1650, 1650,
01290       887,  886, 1654,  885, 1654, 1654,  884, 1654, 1653, 1653,
01291       883, 1654, 1651, 1654, 1652, 1652,  882, 1653, 1653,  881,
01292       880, 1654,  877, 1654,  859,  858,  857, 1654,  856, 1654,
01293      1654,  855, 1654,   23,   23,   23,   23,   23,   23,   32,
01294 
01295        32,   32,   32,   32,   32,   34,   34,   34,   34,   34,
01296        34,   35,   35,   35,   35,   35,   35,   33,   33,   33,
01297        33,   33,   33,   36,   36,   36,   36,   36,   36,   37,
01298        37,   37,   37,   37,   37,   40,   40,   40,   40,   40,
01299        40,   44,  854,  853,   44,   44,   87,   87,   87,   87,
01300        87,   88,   88,  852,   88,   88,   88,   89,   89,   89,
01301       851,   89,   89,   90,   90,   90,   90,  850,   90,  849,
01302       848,  847,  846,  845,  844,  841,  840,  837,  836,  835,
01303       834,  833,  832,  831,  830,  829,  828,  827,  826,  825,
01304       824,  823,  822,  821,  819,  817,  816,  811,  810,  809,
01305 
01306       808,  807,  805,  804,  803,  801,  800,  799,  794,  793,
01307       792,  791,  790,  786,  782,  779,  776,  775,  774,  773,
01308       772,  767,  754,  753,  752,  751,  748,  747,  746,  745,
01309       744,  743,  742,  741,  740,  739,  738,  734,  733,  732,
01310       731,  730,  729,  728,  725,  724,  721,  720,  719,  718,
01311       717,  716,  715,  709,  708,  707,  706,  705,  704,  703,
01312       702,  698,  697,  696,  691,  690,  689,  688,  687,  685,
01313       684,  683,  679,  678,  677,  676,  675,  674,  673,  672,
01314       670,  669,  668,  667,  666,  665,  663,  662,  656,  655,
01315       654,  653,  652,  651,  650,  649,  648,  647,  644,  643,
01316 
01317       642,  639,  638,  637,  636,  635,  634,  633,  632,  631,
01318       629,  628,  627,  626,  625,  624,  623,  622,  621,  620,
01319       619,  618,  617,  616,  615,  614,  613,  612,  611,  610,
01320       609,  608,  607,  603,  602,  601,  600,  599,  598,  597,
01321       596,  595,  589,  588,  587,  583,  582,  581,  580,  579,
01322       578,  577,  576,  575,  572,  571,  570,  569,  568,  567,
01323       562,  561,  560,  559,  554,  553,  550,  549,  548,  547,
01324       546,  545,  544,  543,  542,  539,  538,  537,  536,  535,
01325       534,  533,  532,  531,  528,  527,  526,  523,  522,  521,
01326       520,  519,  518,  517,  516,  515,  514,  513,  512,  511,
01327 
01328       510,  509,  508,  507,  506,  504,  500,  499,  498,  494,
01329       493,  492,  491,  490,  489,  488,  487,  486,  485,  482,
01330       481,  479,  478,  474,  473,  471,  470,  469,  468,  467,
01331       466,  462,  461,  460,  459,  458,  457,  437,  436,  435,
01332       431,  430,  429,  428,  427,  426,  425,  424,  423,  422,
01333       421,  420,  419,  418,  415,  414,  413,  412,  408,  407,
01334       406,  405,  404,  403,  402,  401,  398,  397,  396,  395,
01335       394,  393,  388,  387,  386,  385,  382,  381,  378,  375,
01336       374,  373,  372,  371,  367,  363,  362,  361,  358,  357,
01337       356,  354,  353,  346,  345,  344,  343,  322,  321,  320,
01338 
01339       319,  316,  315,  312,  309,  308,  307,  306,  305,  304,
01340       303,  300,  299,  298,  297,  296,  295,  294,  293,  292,
01341       288,  287,  286,  285,  282,  281,  280,  279,  278,  275,
01342       274,  273,  272,  271,  270,  269,  268,  267,  266,  265,
01343       264,  263,  262,  261,  256,  255,  254,  253,  252,  249,
01344       232,  231,  230,  229,  228,  225,  224,  223,  222,  221,
01345       220,  219,  218,  217,  216,  215,  214,  213,  212,  211,
01346       208,  207,  206,  205,  204,  201,  200,  185,  184,  179,
01347       176,  173,  169,  155,  153,  138,  137,  132,  129,  126,
01348       108,   92,   91,   62,   62, 1654,   33,   33,   33,   33,
01349 
01350        33,   33,   33,   33,   19, 1654, 1654, 1654, 1654, 1654,
01351      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01352      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01353      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01354      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01355      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01356      1654, 1654, 1654, 1654, 1654
01357     } ;
01358 
01359 static yyconst flex_int16_t yy_chk[3366] =
01360     {   0,
01361         1,    1,    1,    1,    1,   17,    1,   18,    1,    1,
01362         1,    1,    1,    1,    1,   15,    1,    1,   30,   30,
01363        17,   15,   18,    1,    2,    2,    2,    2,    2,   23,
01364         2,   23,    2,    2,    2,    2,    2,    2,    2,   16,
01365         2,    2,   27,    0,   27,   16,    0,    2,   21,   21,
01366        44,   47,   44,   47,   49,   21,   21,   21,   21,   21,
01367        21,   21,   25,   21,   25,   25,   25,   25,   49,   25,
01368        21,   50,   50,   31,  845,   31,   25,   52,   51,   52,
01369        51,   55,   73,   55,   21,   21,   31,   73,   83,  121,
01370        21,   51,   83,  121,   21,   21,   26,   26,   52,   21,
01371 
01372        21,   21,   21,   21,   85,   85,   26,   26,   26,   26,
01373        45,   26,   45,   45,   45,   45,   26,   45,   46,   46,
01374        54,   55,   54,   57,   45,   57,   82,  147,   46,   46,
01375        46,   46,   82,   46,   26,   28,   28,   53,   46,   53,
01376        56,  147,   56,   28,   54,   28,   28,   28,   28,   58,
01377        28,   58,   57,  846,   54,   28,   46,   59,   60,   59,
01378        60,   56,   53,   75,   61,   75,   61,   71,  124,  120,
01379        58,   63,   63,   28,   29,  120,  124,   67,   67,   60,
01380        56,   29,  111,   71,   63,   71,   63,  111,   29,   61,
01381        67,   59,   67,   58,   65,   65,  224,  224,   65,   65,
01382 
01383        65,   65,  113,   65,  113,   80,   29,   29,   29,   29,
01384        29,   93,   29,   93,   29,   29,  848,  131,   29,   80,
01385        29,   80,   80,   29,   29,   29,   29,   43,   43,  291,
01386        94,   77,   94,  131,   43,   43,   43,   43,   43,   43,
01387        43,   77,   43,  171,  291,   77,   77,   64,   64,   43,
01388        93,  171,  849,   86,   81,   86,   81,   64,   64,   64,
01389        64,   86,   64,   43,   43,  850,   81,   64,   94,   43,
01390        81,   81,  153,   43,   43,   81,  852,  153,   43,   43,
01391        43,   43,   43,   48,   48,   64,   95,   96,   95,   96,
01392       100,   48,  100,   48,   48,   48,   48,  102,   48,  102,
01393 
01394        97,  109,   97,   48,   98,   99,   98,   99,  229,  101,
01395        96,  101,  229,  104,  103,  104,  103,  109,  105,  109,
01396       105,   48,   69,   69,   69,   69,   69,  853,   69,   95,
01397        69,   69,   97,  102,   69,  100,   69,   98,   99,   69,
01398        69,   69,   69,  103,  205,  104,  101,  105,  106,  106,
01399       106,  106,  205,  106,  107,  107,  205,  156,  115,  156,
01400       118,  157,  854,  157,  107,  107,  107,  107,  115,  107,
01401       154,  154,  115,  115,  118,  855,  118,  118,  119,  159,
01402       119,  159,  156,  154,  157,  154,  624,  158,  158,  160,
01403       119,  160,  200,  624,  119,  119,  161,  200,  161,  119,
01404 
01405       158,  158,  158,  162,  163,  162,  163,  164,  165,  164,
01406       165,  166,  167,  166,  167,  168,  159,  168,  194,  178,
01407       234,  161,  177,  177,  428,  162,  216,  216,  160,  163,
01408       856,  226,  194,  165,  164,  178,  226,  177,  428,  235,
01409       234,  235,  168,  236,  276,  236,  237,  237,  216,  276,
01410       166,  243,  167,  243,  238,  238,  253,  239,  239,  237,
01411       237,  237,  240,  240,  253,  243,  235,  238,  253,  238,
01412       239,  239,  239,  241,  241,  240,  240,  240,  857,  242,
01413       236,  242,  244,  445,  244,  445,  241,  241,  241,  247,
01414       248,  247,  248,  258,  258,  245,  245,  445,  246,  246,
01415 
01416       254,  254,  257,  257,  242,  262,  262,  244,  245,  245,
01417       245,  246,  246,  246,  247,  254,  497,  257,  248,  349,
01418       262,  266,  266,  268,  268,  274,  274,  279,  301,  301,
01419       497,  279,  284,  284,  349,  325,  266,  325,  268,  737,
01420       300,  300,  858,  266,  306,  306,  326,  284,  326,  300,
01421       798,  254,  327,  327,  284,  300,  321,  321,  334,  306,
01422       334,  268,  737,  321,  447,  327,  447,  327,  328,  328,
01423       325,  329,  329,  798,  284,  326,  330,  330,  447,  331,
01424       331,  328,  328,  328,  329,  861,  329,  332,  332,  330,
01425       330,  330,  331,  862,  331,  334,  335,  336,  335,  336,
01426 
01427       332,  332,  332,  333,  333,  877,  333,  342,  333,  342,
01428       337,  337,  351,  351,  338,  338,  333,  338,  333,  338,
01429       339,  339,  335,  337,  337,  337,  456,  338,  456,  338,
01430       341,  341,  882,  339,  339,  339,  336,  340,  340,  558,
01431       340,  558,  340,  341,  341,  341,  342,  350,  350,  883,
01432       340,  456,  340,  355,  355,  359,  359,  360,  360,  363,
01433       363,  558,  350,  364,  364,  365,  365,  368,  368,  652,
01434       359,  369,  369,  652,  363,  372,  372,  884,  364,  383,
01435       383,  438,  368,  438,  387,  387,  389,  389,  390,  390,
01436       372,  387,  411,  411,  383,  409,  409,  416,  416,  418,
01437 
01438       418,  389,  440,  440,  409,  411,  439,  885,  439,  383,
01439       409,  534,  416,  441,  441,  440,  534,  440,  438,  442,
01440       442,  873,  442,  873,  442,  551,  441,  551,  441,  707,
01441       446,  446,  442,  707,  442,  448,  448,  886,  448,  887,
01442       448,  889,  439,  446,  446,  446,  451,  451,  448,  451,
01443       448,  451,  454,  454,  873,  455,  455,  674,  455,  451,
01444       455,  451,  463,  463,  674,  454,  454,  454,  455,  551,
01445       455,  465,  465,  472,  472,  475,  475,  463,  476,  476,
01446       477,  477,  478,  478,  480,  480,  483,  483,  484,  484,
01447       475,  485,  485,  495,  495,  496,  496,  478,  505,  505,
01448 
01449       891,  483,  523,  523,  524,  524,  485,  892,  495,  539,
01450       539,  552,  555,  552,  555,  556,  556,  524,  573,  573,
01451       485,  485,  557,  557,  566,  894,  566,  598,  556,  556,
01452       556,  539,  598,  573,  757,  557,  757,  557,  555,  563,
01453       563,  871,  563,  871,  563,  574,  574,  895,  566,  661,
01454       552,  661,  563,  896,  563,  583,  583,  584,  584,  585,
01455       585,  586,  586,  590,  590,  591,  591,  592,  592,  757,
01456       583,  599,  599,  871,  585,  603,  603,  604,  604,  661,
01457       591,  613,  613,  614,  614,  897,  599,  628,  628,  898,
01458       603,  630,  630,  638,  638,  899,  613,  603,  614,  645,
01459 
01460       645,  657,  657,  658,  664,  658,  664,  660,  660,  666,
01461       666,  613,  667,  667,  657,  657,  657,  628,  664,  638,
01462       660,  659,  660,  659,  666,  638,  659,  667,  659,  764,
01463       659,  764,  658,  671,  671,  659,  676,  676,  659,  659,
01464       901,  659,  678,  678,  680,  680,  681,  681,  682,  682,
01465       764,  676,  683,  683,  686,  686,  758,  678,  758,  680,
01466       690,  690,  694,  694,  695,  695,  902,  683,  699,  699,
01467       700,  700,  678,  706,  706,  690,  903,  694,  710,  710,
01468       711,  711,  906,  699,  713,  713,  690,  907,  706,  714,
01469       714,  758,  690,  710,  726,  726,  733,  733,  908,  713,
01470 
01471       735,  735,  755,  755,  910,  756,  756,  759,  756,  759,
01472       756,  760,  761,  760,  761,  755,  755,  755,  756,  762,
01473       756,  762,  765,  763,  765,  763,  766,  911,  766,  768,
01474       768,  769,  769,  912,  761,  760,  771,  771,  867,  759,
01475       867,  759,  770,  770,  768,  780,  780,  765,  766,  914,
01476       760,  761,  763,  915,  762,  781,  781,  770,  917,  762,
01477       780,  783,  783,  784,  784,  787,  787,  788,  788,  789,
01478       789,  793,  793,  795,  795,  918,  783,  796,  796,  799,
01479       799,  867,  788,  802,  802,  806,  806,  919,  795,  812,
01480       812,  813,  813,  920,  799,  818,  818,  820,  820,  823,
01481 
01482       823,  921,  860,  860,  812,  860,  823,  860,  863,  864,
01483       863,  864,  865,  865,  866,  860,  866,  860,  869,  868,
01484       869,  868,  870,  923,  870,  865,  865,  865,  874,  872,
01485       874,  872,  875,  876,  875,  876,  878,  878,  879,  879,
01486       880,  880,  863,  864,  868,  881,  881,  880,  869,  924,
01487       870,  872,  888,  888,  866,  875,  890,  890,  893,  893,
01488       881,  900,  900,  876,  925,  874,  904,  904,  905,  905,
01489       909,  909,  913,  913,  916,  916,  922,  922,  926,  927,
01490       928,  904,  929,  930,  931,  909,  933,  913,  934,  935,
01491       936,  922,  938,  939,  940,  941,  942,  943,  945,  946,
01492 
01493       947,  950,  951,  952,  953,  954,  955,  956,  958,  961,
01494       961,  976,  962,  962,  977,  963,  963,  978,  964,  964,
01495       979,  982,  961,  961,  961,  962,  962,  962,  963,  963,
01496       963,  964,  965,  964,  965,  966,  966,  967,  983,  967,
01497       968,  968,  969,  970,  969,  970,  980,  980,  966,  966,
01498       966,  981,  981,  968,  968,  968,  971,  972,  971,  972,
01499       974,  980,  974,  962,  975,  965,  975,  969,  984,  985,
01500       967,  986,  988,  973,  973,  987,  987,  989,  968,  990,
01501       992,  993,  972,  970,  970,  994,  973,  973,  973,  975,
01502       987,  991,  991,  995,  971,  973,  996,  997,  999,  974,
01503 
01504      1001,  998,  998, 1000, 1000, 1002,  991, 1003, 1003, 1004,
01505      1004, 1005, 1005, 1006, 1006,  973,  998, 1007, 1008, 1009,
01506      1009, 1011, 1003, 1012, 1004, 1010, 1010, 1013, 1006, 1014,
01507      1015, 1016, 1016, 1017, 1009, 1018, 1018, 1019, 1019, 1020,
01508      1021, 1022, 1023, 1024, 1027, 1028, 1016, 1030, 1031, 1033,
01509      1018, 1032, 1032, 1034, 1035, 1036, 1037, 1039, 1040, 1041,
01510      1042, 1043, 1044, 1045, 1046, 1047, 1032, 1048, 1049, 1050,
01511      1050, 1074, 1051, 1051, 1054, 1051, 1054, 1051, 1052, 1052,
01512      1075, 1076, 1050, 1050, 1050, 1051, 1077, 1051, 1053, 1053,
01513      1079, 1052, 1052, 1052, 1055, 1055, 1056, 1082, 1056, 1058,
01514 
01515      1058, 1053, 1083, 1053, 1057, 1057, 1059, 1055, 1059, 1055,
01516      1060, 1060, 1058, 1054, 1058, 1061, 1061, 1057, 1057, 1057,
01517      1062, 1056, 1062, 1060, 1060, 1060, 1087, 1063, 1061, 1063,
01518      1061, 1064, 1065, 1064, 1065, 1066, 1088, 1066, 1067, 1091,
01519      1067, 1068, 1068, 1062, 1059, 1069, 1069, 1070, 1071, 1070,
01520      1071, 1072, 1092, 1072, 1068, 1068, 1068, 1065, 1069, 1073,
01521      1069, 1073, 1078, 1078, 1063, 1093, 1080, 1080, 1094, 1071,
01522      1064, 1070, 1081, 1081, 1066, 1095, 1067, 1084, 1084, 1099,
01523      1072, 1080, 1073, 1085, 1085, 1086, 1086, 1081, 1089, 1089,
01524      1090, 1090, 1084, 1096, 1096, 1097, 1097, 1098, 1098, 1100,
01525 
01526      1086, 1101, 1107, 1089, 1102, 1102, 1103, 1103, 1096, 1108,
01527      1097, 1104, 1104, 1105, 1105, 1106, 1106, 1109, 1109, 1102,
01528      1110, 1111, 1112, 1113, 1114, 1115, 1115, 1117, 1105, 1116,
01529      1116, 1118, 1118, 1119, 1120, 1121, 1122, 1123, 1120, 1124,
01530      1115, 1126, 1128, 1128, 1129, 1129, 1130, 1132, 1133, 1134,
01531      1135, 1136, 1138, 1139, 1140, 1141, 1142, 1128, 1144, 1146,
01532      1146, 1147, 1146, 1148, 1146, 1149, 1149, 1150, 1151, 1150,
01533      1151, 1155, 1146, 1155, 1146, 1152, 1152, 1157, 1149, 1157,
01534      1149, 1153, 1153, 1166, 1154, 1154, 1168, 1158, 1152, 1158,
01535      1152, 1169, 1170, 1175, 1153, 1153, 1153, 1154, 1156, 1154,
01536 
01537      1156, 1172, 1172, 1156, 1150, 1151, 1157, 1159, 1180, 1159,
01538      1155, 1162, 1156, 1162, 1156, 1156, 1160, 1160, 1156, 1161,
01539      1161, 1163, 1167, 1163, 1158, 1164, 1167, 1164, 1159, 1160,
01540      1160, 1160, 1161, 1165, 1161, 1165, 1171, 1171, 1173, 1173,
01541      1174, 1174, 1185, 1163, 1176, 1176, 1177, 1177, 1178, 1178,
01542      1186, 1171, 1187, 1173, 1162, 1179, 1179, 1182, 1182, 1176,
01543      1181, 1181, 1191, 1178, 1183, 1183, 1164, 1184, 1184, 1188,
01544      1188, 1192, 1165, 1189, 1189, 1181, 1190, 1190, 1196, 1183,
01545      1193, 1193, 1184, 1197, 1188, 1194, 1194, 1195, 1195, 1198,
01546      1199, 1200, 1201, 1201, 1183, 1193, 1202, 1203, 1203, 1204,
01547 
01548      1204, 1205, 1206, 1207, 1208, 1209, 1210, 1201, 1211, 1213,
01549      1213, 1214, 1215, 1216, 1204, 1217, 1218, 1220, 1221, 1222,
01550      1223, 1228, 1229, 1228, 1229, 1230, 1230, 1232, 1233, 1232,
01551      1233, 1231, 1231, 1234, 1235, 1234, 1235, 1247, 1230, 1230,
01552      1230, 1248, 1228, 1229, 1231, 1236, 1231, 1236, 1237, 1238,
01553      1237, 1238, 1239, 1249, 1239, 1234, 1232, 1250, 1240, 1235,
01554      1240, 1241, 1241, 1233, 1242, 1242, 1239, 1251, 1244, 1237,
01555      1244, 1252, 1243, 1243, 1241, 1241, 1241, 1242, 1255, 1242,
01556      1236, 1245, 1264, 1245, 1238, 1243, 1243, 1243, 1246, 1267,
01557      1246, 1253, 1253, 1254, 1254, 1256, 1256, 1240, 1257, 1257,
01558 
01559      1244, 1258, 1258, 1259, 1259, 1268, 1245, 1260, 1260, 1269,
01560      1256, 1261, 1261, 1262, 1262, 1263, 1263, 1246, 1259, 1265,
01561      1265, 1271, 1260, 1266, 1266, 1270, 1270, 1275, 1262, 1272,
01562      1272, 1273, 1273, 1276, 1265, 1274, 1274, 1277, 1278, 1279,
01563      1279, 1280, 1280, 1285, 1272, 1286, 1273, 1281, 1281, 1282,
01564      1282, 1283, 1283, 1287, 1279, 1288, 1280, 1284, 1284, 1289,
01565      1290, 1291, 1292, 1293, 1282, 1294, 1283, 1295, 1296, 1297,
01566      1298, 1299, 1301, 1302, 1301, 1302, 1303, 1303, 1304, 1305,
01567      1304, 1305, 1319, 1307, 1306, 1307, 1306, 1320, 1308, 1303,
01568      1308, 1303, 1309, 1310, 1309, 1310, 1311, 1312, 1311, 1312,
01569 
01570      1321, 1301, 1313, 1313, 1318, 1316, 1318, 1316, 1322, 1314,
01571      1314, 1323, 1302, 1305, 1306, 1313, 1324, 1313, 1325, 1304,
01572      1308, 1307, 1314, 1314, 1314, 1315, 1315, 1310, 1331, 1309,
01573      1316, 1333, 1317, 1334, 1317, 1335, 1311, 1312, 1315, 1336,
01574      1315, 1317, 1326, 1326, 1340, 1318, 1327, 1327, 1328, 1328,
01575      1329, 1329, 1330, 1330, 1332, 1332, 1337, 1337, 1338, 1338,
01576      1341, 1327, 1339, 1339, 1342, 1343, 1343, 1344, 1344, 1345,
01577      1345, 1337, 1346, 1346, 1347, 1347, 1348, 1348, 1349, 1349,
01578      1343, 1351, 1344, 1352, 1353, 1355, 1357, 1358, 1359, 1347,
01579      1360, 1361, 1362, 1363, 1364, 1365, 1366, 1365, 1366, 1367,
01580 
01581      1368, 1367, 1368, 1369, 1370, 1369, 1370, 1371, 1372, 1371,
01582      1372, 1373, 1374, 1373, 1374, 1375, 1381, 1375, 1376, 1376,
01583      1377, 1378, 1377, 1378, 1367, 1366, 1380, 1380, 1369, 1365,
01584      1379, 1376, 1379, 1376, 1382, 1383, 1385, 1372, 1368, 1384,
01585      1384, 1380, 1386, 1386, 1370, 1378, 1388, 1371, 1389, 1373,
01586      1390, 1374, 1391, 1375, 1384, 1379, 1392, 1386, 1377, 1387,
01587      1387, 1393, 1393, 1394, 1395, 1396, 1397, 1397, 1398, 1398,
01588      1399, 1399, 1400, 1400, 1401, 1402, 1403, 1405, 1406, 1407,
01589      1408, 1397, 1409, 1410, 1411, 1412, 1413, 1414, 1413, 1414,
01590      1415, 1416, 1415, 1416, 1417, 1418, 1417, 1418, 1419, 1420,
01591 
01592      1419, 1420, 1422, 1425, 1422, 1425, 1426, 1429, 1426, 1423,
01593      1430, 1423, 1428, 1428, 1427, 1427, 1431, 1417, 1421, 1421,
01594      1420, 1437, 1414, 1433, 1433, 1413, 1438, 1418, 1415, 1427,
01595      1416, 1421, 1421, 1421, 1423, 1424, 1424, 1419, 1422, 1432,
01596      1432, 1434, 1434, 1439, 1426, 1440, 1425, 1441, 1424, 1424,
01597      1424, 1435, 1435, 1442, 1432, 1443, 1434, 1436, 1436, 1444,
01598      1445, 1445, 1446, 1448, 1449, 1450, 1435, 1452, 1453, 1455,
01599      1457, 1458, 1457, 1458, 1459, 1459, 1460, 1461, 1460, 1461,
01600      1462, 1463, 1462, 1463, 1464, 1474, 1464, 1459, 1459, 1459,
01601      1467, 1468, 1467, 1468, 1466, 1466, 1473, 1473, 1476, 1475,
01602 
01603      1475, 1481, 1470, 1470, 1482, 1458, 1464, 1466, 1457, 1466,
01604      1463, 1465, 1465, 1460, 1475, 1470, 1461, 1470, 1484, 1462,
01605      1469, 1469, 1477, 1477, 1465, 1465, 1465, 1471, 1471, 1468,
01606      1467, 1472, 1472, 1469, 1469, 1469, 1478, 1478, 1479, 1479,
01607      1471, 1471, 1471, 1485, 1472, 1472, 1472, 1480, 1480, 1483,
01608      1483, 1478, 1486, 1486, 1487, 1488, 1488, 1491, 1492, 1496,
01609      1496, 1497, 1518, 1497, 1483, 1498, 1498, 1486, 1499, 1499,
01610      1488, 1519, 1496, 1496, 1496, 1500, 1529, 1500, 1498, 1498,
01611      1498, 1499, 1501, 1499, 1501, 1502, 1503, 1502, 1503, 1506,
01612      1504, 1506, 1504, 1505, 1505, 1530, 1500, 1508, 1508, 1497,
01613 
01614      1507, 1507, 1545, 1509, 1509, 1546, 1505, 1535, 1505, 1535,
01615      1508, 1501, 1508, 1507, 1507, 1507, 1509, 1509, 1509, 1510,
01616      1510, 1503, 1504, 1502, 1511, 1511, 1513, 1513, 1506, 1552,
01617      1512, 1512, 1510, 1512, 1510, 1512, 1535, 1511, 1511, 1511,
01618      1563, 1513, 1538, 1512, 1538, 1512, 1514, 1514, 1515, 1515,
01619      1516, 1516, 1517, 1517, 1520, 1520, 1521, 1521, 1522, 1522,
01620      1580, 1514, 1523, 1523, 1587, 1516, 1524, 1524, 1596, 1520,
01621      1525, 1525, 1600, 1522, 1526, 1526, 1538, 1523, 1527, 1527,
01622      1606, 1524, 1528, 1528, 1531, 1531, 1608, 1532, 1532, 1526,
01623      1533, 1533, 1613, 1527, 1534, 1534, 1614, 1531, 1531, 1531,
01624 
01625      1532, 1619, 1532, 1533, 1533, 1533, 1536, 1534, 1536, 1534,
01626      1537, 1537, 1539, 1540, 1539, 1540, 1541, 1541, 1620, 1542,
01627      1542, 1548, 1548, 1537, 1537, 1537, 1543, 1543, 1625, 1541,
01628      1541, 1541, 1542,  844, 1542, 1544, 1544, 1539, 1544, 1543,
01629      1544, 1543, 1547, 1547, 1549, 1549,  843, 1536, 1544,  842,
01630      1544, 1540, 1550, 1550, 1551, 1551,  841, 1547, 1553, 1553,
01631      1554, 1554, 1555, 1555, 1556, 1556,  840, 1550, 1557, 1557,
01632      1558, 1558,  839, 1553, 1559, 1559,  838, 1555, 1560, 1560,
01633      1561, 1561,  837, 1557, 1562, 1562, 1565, 1565,  836, 1566,
01634      1566,  835, 1568, 1560, 1568, 1567, 1567,  834, 1569, 1565,
01635 
01636      1569, 1565, 1566, 1566, 1566, 1570, 1570,  833, 1567, 1553,
01637      1567,  832, 1571, 1571, 1572, 1573, 1572, 1573, 1570, 1570,
01638      1570, 1574, 1574, 1569,  831, 1571, 1568, 1571, 1575, 1575,
01639      1572, 1573, 1578, 1578, 1574, 1574, 1574, 1579, 1579, 1581,
01640      1581, 1575,  830, 1575, 1582, 1582, 1583, 1583, 1584, 1584,
01641      1585, 1585, 1586, 1586, 1581, 1588, 1588, 1589, 1590, 1589,
01642      1590, 1583, 1591, 1591, 1592, 1593, 1592, 1593, 1588,  829,
01643      1588, 1594, 1594,  828, 1590, 1591,  827, 1591, 1595, 1595,
01644      1597, 1597, 1598, 1598, 1594, 1594, 1594, 1599, 1599, 1592,
01645      1593, 1595, 1601, 1595, 1601,  826, 1589, 1598, 1602, 1603,
01646 
01647      1602, 1603, 1604,  825, 1604, 1605, 1605,  822, 1601, 1607,
01648      1607, 1609, 1610, 1609, 1610, 1611,  821, 1611, 1605, 1612,
01649      1605, 1612, 1615, 1602, 1615, 1616, 1617, 1616, 1617, 1618,
01650      1621, 1618, 1621, 1623,  819, 1623, 1609, 1603,  817, 1622,
01651      1604, 1622, 1624, 1627, 1624, 1627, 1628,  816, 1628, 1629,
01652      1610, 1629, 1630,  815, 1630, 1611, 1637, 1637, 1617, 1612,
01653      1615, 1618, 1631, 1631, 1632, 1616, 1632, 1633,  814, 1633,
01654      1621, 1622, 1623, 1636, 1636, 1627,  811, 1631, 1634, 1634,
01655       810, 1624, 1635, 1635, 1638, 1628, 1638, 1629, 1636,  809,
01656      1630, 1634, 1634, 1634,  808, 1635, 1635, 1635, 1639, 1639,
01657 
01658       807, 1640, 1640, 1632,  805, 1633, 1641, 1641, 1644, 1644,
01659       804, 1639, 1639, 1639, 1640, 1640, 1640, 1642, 1642, 1641,
01660       803, 1641, 1638, 1643, 1643,  801, 1645, 1645,  800,  797,
01661      1642, 1642, 1642, 1646, 1646,  794, 1643,  792, 1643, 1645,
01662      1645, 1645, 1647, 1647,  791,  790, 1646, 1646, 1646, 1648,
01663      1648,  786, 1649, 1649,  785, 1647,  782, 1647, 1650, 1650,
01664       779,  778, 1648,  777, 1648, 1649,  776, 1649, 1651, 1651,
01665       775, 1650, 1650, 1650, 1652, 1652,  774, 1653, 1653,  773,
01666       772, 1651,  767, 1651,  754,  753,  752, 1652,  751, 1652,
01667      1653,  750, 1653, 1655, 1655, 1655, 1655, 1655, 1655, 1656,
01668 
01669      1656, 1656, 1656, 1656, 1656, 1657, 1657, 1657, 1657, 1657,
01670      1657, 1658, 1658, 1658, 1658, 1658, 1658, 1659, 1659, 1659,
01671      1659, 1659, 1659, 1660, 1660, 1660, 1660, 1660, 1660, 1661,
01672      1661, 1661, 1661, 1661, 1661, 1662, 1662, 1662, 1662, 1662,
01673      1662, 1663,  749,  748, 1663, 1663, 1664, 1664, 1664, 1664,
01674      1664, 1665, 1665,  747, 1665, 1665, 1665, 1666, 1666, 1666,
01675       746, 1666, 1666, 1667, 1667, 1667, 1667,  745, 1667,  744,
01676       743,  742,  741,  740,  739,  736,  734,  732,  731,  730,
01677       729,  728,  727,  725,  724,  723,  722,  721,  720,  719,
01678       718,  717,  716,  715,  712,  709,  708,  705,  704,  703,
01679 
01680       702,  701,  698,  697,  696,  693,  692,  691,  689,  688,
01681       687,  685,  684,  679,  677,  675,  673,  672,  670,  669,
01682       668,  665,  656,  655,  654,  653,  650,  649,  648,  647,
01683       646,  644,  643,  642,  641,  640,  639,  637,  636,  635,
01684       634,  633,  631,  629,  627,  625,  623,  622,  621,  620,
01685       619,  616,  615,  612,  611,  610,  609,  608,  607,  606,
01686       605,  602,  601,  600,  597,  596,  595,  594,  593,  589,
01687       588,  587,  582,  581,  580,  579,  578,  577,  576,  575,
01688       572,  571,  570,  569,  568,  567,  565,  564,  550,  548,
01689       547,  546,  545,  544,  543,  542,  541,  540,  538,  537,
01690 
01691       536,  533,  532,  531,  530,  529,  528,  527,  526,  525,
01692       521,  520,  519,  518,  517,  516,  515,  514,  513,  512,
01693       511,  510,  509,  508,  507,  506,  504,  503,  502,  501,
01694       500,  499,  498,  494,  493,  492,  491,  490,  489,  488,
01695       487,  486,  482,  481,  479,  474,  473,  471,  470,  469,
01696       468,  467,  466,  464,  462,  461,  460,  459,  458,  457,
01697       453,  452,  450,  449,  444,  443,  437,  436,  435,  434,
01698       433,  432,  431,  430,  429,  427,  426,  425,  424,  423,
01699       422,  421,  420,  419,  415,  414,  413,  410,  408,  407,
01700       406,  405,  404,  403,  402,  401,  400,  398,  397,  396,
01701 
01702       395,  394,  393,  392,  391,  388,  386,  385,  384,  382,
01703       381,  380,  379,  378,  377,  376,  375,  374,  373,  371,
01704       370,  367,  366,  362,  361,  358,  357,  356,  354,  353,
01705       352,  348,  347,  346,  345,  344,  343,  324,  323,  322,
01706       320,  319,  318,  317,  316,  315,  314,  313,  312,  311,
01707       310,  309,  308,  307,  305,  304,  303,  302,  299,  298,
01708       297,  296,  295,  294,  293,  292,  290,  289,  288,  287,
01709       286,  285,  283,  282,  281,  280,  278,  277,  275,  273,
01710       272,  271,  270,  269,  267,  265,  264,  263,  261,  260,
01711       259,  256,  255,  252,  251,  250,  249,  233,  232,  231,
01712 
01713       230,  228,  227,  225,  223,  222,  221,  220,  219,  218,
01714       217,  215,  214,  213,  211,  210,  209,  208,  207,  206,
01715       204,  203,  202,  201,  199,  198,  197,  196,  195,  193,
01716       192,  191,  190,  189,  188,  187,  186,  185,  184,  183,
01717       182,  181,  180,  179,  176,  175,  174,  173,  172,  170,
01718       152,  151,  150,  149,  148,  146,  145,  144,  143,  142,
01719       141,  140,  139,  138,  137,  136,  135,  134,  133,  132,
01720       129,  128,  127,  126,  125,  123,  122,  117,  116,  114,
01721       112,  110,  108,   91,   84,   79,   78,   76,   74,   72,
01722        68,   42,   39,   24,   22,   19,   14,   13,    8,    7,
01723 
01724         6,    5,    4,    3, 1654, 1654, 1654, 1654, 1654, 1654,
01725      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01726      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01727      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01728      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01729      1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654, 1654,
01730      1654, 1654, 1654, 1654, 1654
01731     } ;
01732 
01733 /* Table of booleans, true if rule could match eol. */
01734 static yyconst flex_int32_t yy_rule_can_match_eol[213] =
01735     {   0,
01736 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01737     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01738     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01739     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01740     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01741     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01742     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01743     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01744     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01745     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01746     0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0,     };
01747 
01748 /* The intent behind this definition is that it'll catch
01749  * any uses of REJECT which flex missed.
01750  */
01751 #define REJECT reject_used_but_not_detected
01752 #define yymore() yymore_used_but_not_detected
01753 #define YY_MORE_ADJ 0
01754 #define YY_RESTORE_YY_MORE_OFFSET
01755 #line 1 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
01756 /* $Id: OSParseosrl.cpp 3830 2010-11-05 03:58:42Z kmartin $ */
01771 #line 17 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
01772 
01773 #include <iostream>
01774 #include "OSGeneral.h"
01775 #include "OSMathUtil.h"
01776 #include "OSConfig.h"
01777 
01778 #ifdef HAVE_CSTDIO
01779 # include <cstdio>
01780 #else
01781 # ifdef HAVE_STDIO_H
01782 #  include <stdio.h>
01783 # else
01784 #  error "don't have header file for stdio"
01785 # endif
01786 #endif
01787 
01788 #ifdef HAVE_CSTRING
01789 # include <cstring>
01790 #else
01791 # ifdef HAVE_STRING_H
01792 #  include <string.h>
01793 # else
01794 #  error "don't have header file for string"
01795 # endif
01796 #endif
01797 
01798 #ifdef HAVE_CMATH
01799 # include <cmath>
01800 #else
01801 # ifdef HAVE_MATH_H
01802 #  include <math.h>
01803 # else
01804 #  error "don't have header file for math"
01805 # endif
01806 #endif
01807  
01808 #include <sstream>  
01809 #include "OSrLParserData.h"
01810 #include "OSErrorClass.h"
01811 #include "OSParseosrl.tab.hpp"
01812 #include "OSResult.h"
01813 
01814 
01815 //#define PARSERDEBUG
01816 
01817 #ifdef PARSERDEBUG
01818         #define YY_PRINT  printf("%s", yytext);
01819 #else     
01820         #define YY_PRINT ;
01821 #endif
01822 
01823 
01824 #ifdef WIN_
01825   #define YY_NO_UNISTD_H
01826   #include <io.h>
01827   #include <process.h>
01828   #ifdef USE_OLD_UNISTD
01829      #include<sys/unistd.h>  
01830   #endif
01831 #endif
01832 
01833 using std::cout;
01834 using std::endl;
01835 using std::ostringstream;
01836      
01837 
01838 
01839 
01840 
01841 
01842 
01843 
01844 
01845 #line 103 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
01846 #define YY_EXTRA_TYPE OSrLParserData*
01847 #line 1848 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.cpp"
01848 
01849 #define INITIAL 0
01850 #define osrlattributetext 1
01851 #define doublequoteattributetext 2
01852 #define singlequoteattributetext 3
01853 #define startelement 4
01854 #define elementtext 5
01855 #define itemtext 6
01856 #define comment 7
01857 #define xmldeclaration 8
01858 
01859 #ifndef YY_NO_UNISTD_H
01860 /* Special case for "unistd.h", since it is non-ANSI. We include it way
01861  * down here because we want the user's section 1 to have been scanned first.
01862  * The user has a chance to override it with an option.
01863  */
01864 #include <unistd.h>
01865 #endif
01866 
01867 #ifndef YY_EXTRA_TYPE
01868 #define YY_EXTRA_TYPE void *
01869 #endif
01870 
01871 /* Holds the entire state of the reentrant scanner. */
01872 struct yyguts_t
01873     {
01874 
01875     /* User-defined. Not touched by flex. */
01876     YY_EXTRA_TYPE yyextra_r;
01877 
01878     /* The rest are the same as the globals declared in the non-reentrant scanner. */
01879     FILE *yyin_r, *yyout_r;
01880     size_t yy_buffer_stack_top; 
01881     size_t yy_buffer_stack_max; 
01882     YY_BUFFER_STATE * yy_buffer_stack; 
01883     char yy_hold_char;
01884     int yy_n_chars;
01885     int yyleng_r;
01886     char *yy_c_buf_p;
01887     int yy_init;
01888     int yy_start;
01889     int yy_did_buffer_switch_on_eof;
01890     int yy_start_stack_ptr;
01891     int yy_start_stack_depth;
01892     int *yy_start_stack;
01893     yy_state_type yy_last_accepting_state;
01894     char* yy_last_accepting_cpos;
01895 
01896     int yylineno_r;
01897     int yy_flex_debug_r;
01898 
01899     char *yytext_r;
01900     int yy_more_flag;
01901     int yy_more_len;
01902 
01903     YYSTYPE * yylval_r;
01904 
01905     YYLTYPE * yylloc_r;
01906 
01907     }; /* end struct yyguts_t */
01908 
01909 static int yy_init_globals (yyscan_t yyscanner );
01910 
01911     /* This must go here because YYSTYPE and YYLTYPE are included
01912      * from bison output in section 1.*/
01913     #    define yylval yyg->yylval_r
01914     
01915     #    define yylloc yyg->yylloc_r
01916     
01917 int osrllex_init (yyscan_t* scanner);
01918 
01919 int osrllex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
01920 
01921 /* Accessor methods to globals.
01922    These are made visible to non-reentrant scanners for convenience. */
01923 
01924 int osrllex_destroy (yyscan_t yyscanner );
01925 
01926 int osrlget_debug (yyscan_t yyscanner );
01927 
01928 void osrlset_debug (int debug_flag ,yyscan_t yyscanner );
01929 
01930 YY_EXTRA_TYPE osrlget_extra (yyscan_t yyscanner );
01931 
01932 void osrlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
01933 
01934 FILE *osrlget_in (yyscan_t yyscanner );
01935 
01936 void osrlset_in  (FILE * in_str ,yyscan_t yyscanner );
01937 
01938 FILE *osrlget_out (yyscan_t yyscanner );
01939 
01940 void osrlset_out  (FILE * out_str ,yyscan_t yyscanner );
01941 
01942 int osrlget_leng (yyscan_t yyscanner );
01943 
01944 char *osrlget_text (yyscan_t yyscanner );
01945 
01946 int osrlget_lineno (yyscan_t yyscanner );
01947 
01948 void osrlset_lineno (int line_number ,yyscan_t yyscanner );
01949 
01950 YYSTYPE * osrlget_lval (yyscan_t yyscanner );
01951 
01952 void osrlset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
01953 
01954        YYLTYPE *osrlget_lloc (yyscan_t yyscanner );
01955     
01956         void osrlset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
01957     
01958 /* Macros after this point can all be overridden by user definitions in
01959  * section 1.
01960  */
01961 
01962 #ifndef YY_SKIP_YYWRAP
01963 #ifdef __cplusplus
01964 extern "C" int osrlwrap (yyscan_t yyscanner );
01965 #else
01966 extern int osrlwrap (yyscan_t yyscanner );
01967 #endif
01968 #endif
01969 
01970 #ifndef yytext_ptr
01971 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
01972 #endif
01973 
01974 #ifdef YY_NEED_STRLEN
01975 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
01976 #endif
01977 
01978 #ifndef YY_NO_INPUT
01979 
01980 #ifdef __cplusplus
01981 static int yyinput (yyscan_t yyscanner );
01982 #else
01983 static int input (yyscan_t yyscanner );
01984 #endif
01985 
01986 #endif
01987 
01988 /* Amount of stuff to slurp up with each read. */
01989 #ifndef YY_READ_BUF_SIZE
01990 #ifdef __ia64__
01991 /* On IA-64, the buffer size is 16k, not 8k */
01992 #define YY_READ_BUF_SIZE 16384
01993 #else
01994 #define YY_READ_BUF_SIZE 8192
01995 #endif /* __ia64__ */
01996 #endif
01997 
01998 /* Copy whatever the last rule matched to the standard output. */
01999 #ifndef ECHO
02000 /* This used to be an fputs(), but since the string might contain NUL's,
02001  * we now use fwrite().
02002  */
02003 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
02004 #endif
02005 
02006 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
02007  * is returned in "result".
02008  */
02009 #ifndef YY_INPUT
02010 #define YY_INPUT(buf,result,max_size) \
02011         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
02012                 { \
02013                 int c = '*'; \
02014                 size_t n; \
02015                 for ( n = 0; n < max_size && \
02016                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
02017                         buf[n] = (char) c; \
02018                 if ( c == '\n' ) \
02019                         buf[n++] = (char) c; \
02020                 if ( c == EOF && ferror( yyin ) ) \
02021                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
02022                 result = n; \
02023                 } \
02024         else \
02025                 { \
02026                 errno=0; \
02027                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
02028                         { \
02029                         if( errno != EINTR) \
02030                                 { \
02031                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
02032                                 break; \
02033                                 } \
02034                         errno=0; \
02035                         clearerr(yyin); \
02036                         } \
02037                 }\
02038 \
02039 
02040 #endif
02041 
02042 /* No semi-colon after return; correct usage is to write "yyterminate();" -
02043  * we don't want an extra ';' after the "return" because that will cause
02044  * some compilers to complain about unreachable statements.
02045  */
02046 #ifndef yyterminate
02047 #define yyterminate() return YY_NULL
02048 #endif
02049 
02050 /* Number of entries by which start-condition stack grows. */
02051 #ifndef YY_START_STACK_INCR
02052 #define YY_START_STACK_INCR 25
02053 #endif
02054 
02055 /* Report a fatal error. */
02056 #ifndef YY_FATAL_ERROR
02057 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
02058 #endif
02059 
02060 /* end tables serialization structures and prototypes */
02061 
02062 /* Default declaration of generated scanner - a define so the user can
02063  * easily add parameters.
02064  */
02065 #ifndef YY_DECL
02066 #define YY_DECL_IS_OURS 1
02067 
02068 extern int osrllex \
02069                (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
02070 
02071 #define YY_DECL int osrllex \
02072                (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
02073 #endif /* !YY_DECL */
02074 
02075 /* Code executed at the beginning of each rule, after yytext and yyleng
02076  * have been set up.
02077  */
02078 #ifndef YY_USER_ACTION
02079 #define YY_USER_ACTION
02080 #endif
02081 
02082 /* Code executed at the end of each rule. */
02083 #ifndef YY_BREAK
02084 #define YY_BREAK break;
02085 #endif
02086 
02087 #define YY_RULE_SETUP \
02088         YY_USER_ACTION
02089 
02092 YY_DECL
02093 {
02094         register yy_state_type yy_current_state;
02095         register char *yy_cp, *yy_bp;
02096         register int yy_act;
02097     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02098 
02099 #line 113 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02100 
02101 
02102 
02103 #line 2104 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.cpp"
02104 
02105     yylval = yylval_param;
02106 
02107     yylloc = yylloc_param;
02108 
02109         if ( !yyg->yy_init )
02110                 {
02111                 yyg->yy_init = 1;
02112 
02113 #ifdef YY_USER_INIT
02114                 YY_USER_INIT;
02115 #endif
02116 
02117                 if ( ! yyg->yy_start )
02118                         yyg->yy_start = 1;      /* first start state */
02119 
02120                 if ( ! yyin )
02121                         yyin = stdin;
02122 
02123                 if ( ! yyout )
02124                         yyout = stdout;
02125 
02126                 if ( ! YY_CURRENT_BUFFER ) {
02127                         osrlensure_buffer_stack (yyscanner);
02128                         YY_CURRENT_BUFFER_LVALUE =
02129                                 osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02130                 }
02131 
02132                 osrl_load_buffer_state(yyscanner );
02133                 }
02134 
02135         while ( 1 )             /* loops until end-of-file is reached */
02136                 {
02137                 yy_cp = yyg->yy_c_buf_p;
02138 
02139                 /* Support of yytext. */
02140                 *yy_cp = yyg->yy_hold_char;
02141 
02142                 /* yy_bp points to the position in yy_ch_buf of the start of
02143                  * the current run.
02144                  */
02145                 yy_bp = yy_cp;
02146 
02147                 yy_current_state = yyg->yy_start;
02148 yy_match:
02149                 do
02150                         {
02151                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
02152                         if ( yy_accept[yy_current_state] )
02153                                 {
02154                                 yyg->yy_last_accepting_state = yy_current_state;
02155                                 yyg->yy_last_accepting_cpos = yy_cp;
02156                                 }
02157                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02158                                 {
02159                                 yy_current_state = (int) yy_def[yy_current_state];
02160                                 if ( yy_current_state >= 1655 )
02161                                         yy_c = yy_meta[(unsigned int) yy_c];
02162                                 }
02163                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02164                         ++yy_cp;
02165                         }
02166                 while ( yy_base[yy_current_state] != 3305 );
02167 
02168 yy_find_action:
02169                 yy_act = yy_accept[yy_current_state];
02170                 if ( yy_act == 0 )
02171                         { /* have to back up */
02172                         yy_cp = yyg->yy_last_accepting_cpos;
02173                         yy_current_state = yyg->yy_last_accepting_state;
02174                         yy_act = yy_accept[yy_current_state];
02175                         }
02176 
02177                 YY_DO_BEFORE_ACTION;
02178 
02179                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
02180                         {
02181                         int yyl;
02182                         for ( yyl = 0; yyl < yyleng; ++yyl )
02183                                 if ( yytext[yyl] == '\n' )
02184                                            
02185     do{ yylineno++;
02186         yycolumn=0;
02187     }while(0)
02188 ;
02189                         }
02190 
02191 do_action:      /* This label is used only to access EOF actions. */
02192 
02193                 switch ( yy_act )
02194         { /* beginning of action switch */
02195                         case 0: /* must back up */
02196                         /* undo the effects of YY_DO_BEFORE_ACTION */
02197                         *yy_cp = yyg->yy_hold_char;
02198                         yy_cp = yyg->yy_last_accepting_cpos;
02199                         yy_current_state = yyg->yy_last_accepting_state;
02200                         goto yy_find_action;
02201 
02202 case 1:
02203 /* rule 1 can match eol */
02204 YY_RULE_SETUP
02205 #line 116 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02206 
02207         YY_BREAK
02208 /* General patterns matched in more than one element */
02209 case 2:
02210 YY_RULE_SETUP
02211 #line 120 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02212 {YY_PRINT;  yylval->sval = yytext; return(QUOTE);}
02213         YY_BREAK
02214 case 3:
02215 YY_RULE_SETUP
02216 #line 121 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02217 {YY_PRINT;  yylval->sval = yytext; return(TWOQUOTES);}
02218         YY_BREAK
02219 case 4:
02220 /* rule 4 can match eol */
02221 YY_RULE_SETUP
02222 #line 122 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02223 { YY_PRINT;     return(GREATERTHAN);}
02224         YY_BREAK
02225 case 5:
02226 /* rule 5 can match eol */
02227 YY_RULE_SETUP
02228 #line 123 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02229 {YY_PRINT; yylval->ival = atoi(yytext); return(INTEGER);}
02230         YY_BREAK
02231 case 6:
02232 /* rule 6 can match eol */
02233 YY_RULE_SETUP
02234 #line 125 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02235 {YY_PRINT; 
02236 char *yytextEnd;
02237 yylval->dval = os_strtod_wrap( yytext, &yytextEnd);
02238         /*
02239         if( (unsigned)(yytextEnd - yytext) != strlen( yytext)){
02240                 std::ostringstream outStr;
02241                 outStr << "encountered a spurious character in the lexer" << endl;
02242                 outStr << "The first character is: ";
02243                 outStr <<  yytext;
02244                 outStr << endl;
02245                 outStr << "See line number: " << yylineno << endl;  
02246                 throw ErrorClass( outStr.str());
02247         }
02248         */
02249 return(DOUBLE);}
02250         YY_BREAK
02251 case 7:
02252 /* rule 7 can match eol */
02253 YY_RULE_SETUP
02254 #line 141 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02255 {YY_PRINT;  return(ENDOFELEMENT);}
02256         YY_BREAK
02257 /* attributes returning numeric values*/
02258 case 8:
02259 /* rule 8 can match eol */
02260 YY_RULE_SETUP
02261 #line 145 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02262 {YY_PRINT; return(NUMBEROFCONATT);}
02263         YY_BREAK
02264 case 9:
02265 /* rule 9 can match eol */
02266 YY_RULE_SETUP
02267 #line 146 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02268 {YY_PRINT; return(NUMBEROFCONSTRAINTSATT);}
02269         YY_BREAK
02270 case 10:
02271 /* rule 10 can match eol */
02272 YY_RULE_SETUP
02273 #line 147 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02274 {YY_PRINT;  return(NUMBEROFELATT);}
02275         YY_BREAK
02276 case 11:
02277 /* rule 11 can match eol */
02278 YY_RULE_SETUP
02279 #line 148 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02280 {YY_PRINT;  return(NUMBEROFENUMERATIONSATT);}
02281         YY_BREAK
02282 case 12:
02283 /* rule 12 can match eol */
02284 YY_RULE_SETUP
02285 #line 149 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02286 {YY_PRINT;  return(NUMBEROFIDXATT);}
02287         YY_BREAK
02288 case 13:
02289 /* rule 13 can match eol */
02290 YY_RULE_SETUP
02291 #line 150 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02292 {YY_PRINT;  return(NUMBEROFITEMSATT);}
02293         YY_BREAK
02294 case 14:
02295 /* rule 14 can match eol */
02296 YY_RULE_SETUP
02297 #line 151 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02298 {YY_PRINT; return(NUMBEROFOBJATT);}
02299         YY_BREAK
02300 case 15:
02301 /* rule 15 can match eol */
02302 YY_RULE_SETUP
02303 #line 152 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02304 {YY_PRINT; return(NUMBEROFOBJECTIVESATT);}
02305         YY_BREAK
02306 case 16:
02307 /* rule 16 can match eol */
02308 YY_RULE_SETUP
02309 #line 153 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02310 {YY_PRINT; return(NUMBEROFOTHERCONSTRAINTRESULTSATT);}
02311         YY_BREAK
02312 case 17:
02313 /* rule 17 can match eol */
02314 YY_RULE_SETUP
02315 #line 154 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02316 {YY_PRINT; return(NUMBEROFOTHEROBJECTIVERESULTSATT);}
02317         YY_BREAK
02318 case 18:
02319 /* rule 18 can match eol */
02320 YY_RULE_SETUP
02321 #line 155 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02322 {YY_PRINT; return(NUMBEROFOTHERRESULTSATT);}
02323         YY_BREAK
02324 case 19:
02325 /* rule 19 can match eol */
02326 YY_RULE_SETUP
02327 #line 156 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02328 {YY_PRINT; return(NUMBEROFOTHERSOLUTIONRESULTSATT);}
02329         YY_BREAK
02330 case 20:
02331 /* rule 20 can match eol */
02332 YY_RULE_SETUP
02333 #line 157 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02334 {YY_PRINT; return(NUMBEROFOTHERVARIABLERESULTSATT);}
02335         YY_BREAK
02336 case 21:
02337 /* rule 21 can match eol */
02338 YY_RULE_SETUP
02339 #line 158 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02340 {YY_PRINT; return(NUMBEROFSOLUTIONSATT);}
02341         YY_BREAK
02342 case 22:
02343 /* rule 22 can match eol */
02344 YY_RULE_SETUP
02345 #line 159 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02346 {YY_PRINT; return(NUMBEROFSOLVEROUTPUTSATT);}
02347         YY_BREAK
02348 case 23:
02349 /* rule 23 can match eol */
02350 YY_RULE_SETUP
02351 #line 160 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02352 {YY_PRINT; return(NUMBEROFSUBSTATUSESATT);}
02353         YY_BREAK
02354 case 24:
02355 /* rule 24 can match eol */
02356 YY_RULE_SETUP
02357 #line 161 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02358 {YY_PRINT; return(NUMBEROFTIMESATT);}
02359         YY_BREAK
02360 case 25:
02361 /* rule 25 can match eol */
02362 YY_RULE_SETUP
02363 #line 162 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02364 {YY_PRINT; return(NUMBEROFVARATT);}
02365         YY_BREAK
02366 case 26:
02367 /* rule 26 can match eol */
02368 YY_RULE_SETUP
02369 #line 163 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02370 {YY_PRINT; return(NUMBEROFVARIABLESATT);}
02371         YY_BREAK
02372 case 27:
02373 /* rule 27 can match eol */
02374 YY_RULE_SETUP
02375 #line 164 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02376 {YY_PRINT; return(NUMBEROFVARIDXATT);}
02377         YY_BREAK
02378 case 28:
02379 /* rule 28 can match eol */
02380 YY_RULE_SETUP
02381 #line 166 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02382 {YY_PRINT; return(IDXATT);}
02383         YY_BREAK
02384 case 29:
02385 /* rule 29 can match eol */
02386 YY_RULE_SETUP
02387 #line 167 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02388 {YY_PRINT; return(INCRATT);}
02389         YY_BREAK
02390 case 30:
02391 /* rule 30 can match eol */
02392 YY_RULE_SETUP
02393 #line 168 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02394 {YY_PRINT; return(MULTATT);}
02395         YY_BREAK
02396 case 31:
02397 /* rule 31 can match eol */
02398 YY_RULE_SETUP
02399 #line 169 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02400 {YY_PRINT; return(SIZEOFATT);}
02401         YY_BREAK
02402 case 32:
02403 /* rule 32 can match eol */
02404 YY_RULE_SETUP
02405 #line 170 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02406 {YY_PRINT; return(TARGETOBJECTIVEIDXATT);}
02407         YY_BREAK
02408 /* attributes returning strings (that are potentially empty)*/
02409 case 33:
02410 /* rule 33 can match eol */
02411 YY_RULE_SETUP
02412 #line 174 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02413 {YY_PRINT; return(EMPTYCATEGORYATT);}
02414         YY_BREAK
02415 case 34:
02416 /* rule 34 can match eol */
02417 YY_RULE_SETUP
02418 #line 175 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02419 {YY_PRINT; return(EMPTYCATEGORYATT);}
02420         YY_BREAK
02421 case 35:
02422 /* rule 35 can match eol */
02423 YY_RULE_SETUP
02424 #line 176 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02425 {YY_PRINT; BEGIN doublequoteattributetext; return(CATEGORYATT);}
02426         YY_BREAK
02427 case 36:
02428 /* rule 36 can match eol */
02429 YY_RULE_SETUP
02430 #line 177 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02431 {YY_PRINT; BEGIN singlequoteattributetext; return(CATEGORYATT);}
02432         YY_BREAK
02433 case 37:
02434 /* rule 37 can match eol */
02435 YY_RULE_SETUP
02436 #line 178 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02437 {YY_PRINT; return(EMPTYDESCRIPTIONATT);}
02438         YY_BREAK
02439 case 38:
02440 /* rule 38 can match eol */
02441 YY_RULE_SETUP
02442 #line 179 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02443 {YY_PRINT; return(EMPTYDESCRIPTIONATT);}
02444         YY_BREAK
02445 case 39:
02446 /* rule 39 can match eol */
02447 YY_RULE_SETUP
02448 #line 180 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02449 {YY_PRINT; BEGIN doublequoteattributetext; return(DESCRIPTIONATT);}
02450         YY_BREAK
02451 case 40:
02452 /* rule 40 can match eol */
02453 YY_RULE_SETUP
02454 #line 181 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02455 {YY_PRINT; BEGIN singlequoteattributetext; return(DESCRIPTIONATT);}
02456         YY_BREAK
02457 case 41:
02458 /* rule 41 can match eol */
02459 YY_RULE_SETUP
02460 #line 182 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02461 {YY_PRINT; return(EMPTYNAMEATT);}
02462         YY_BREAK
02463 case 42:
02464 /* rule 42 can match eol */
02465 YY_RULE_SETUP
02466 #line 183 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02467 {YY_PRINT; return(EMPTYNAMEATT);}
02468         YY_BREAK
02469 case 43:
02470 /* rule 43 can match eol */
02471 YY_RULE_SETUP
02472 #line 184 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02473 {YY_PRINT; BEGIN doublequoteattributetext; return(NAMEATT);}
02474         YY_BREAK
02475 case 44:
02476 /* rule 44 can match eol */
02477 YY_RULE_SETUP
02478 #line 185 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02479 {YY_PRINT; BEGIN singlequoteattributetext; return(NAMEATT);}
02480         YY_BREAK
02481 case 45:
02482 /* rule 45 can match eol */
02483 YY_RULE_SETUP
02484 #line 186 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02485 {YY_PRINT; return(EMPTYTYPEATT);}
02486         YY_BREAK
02487 case 46:
02488 /* rule 46 can match eol */
02489 YY_RULE_SETUP
02490 #line 187 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02491 {YY_PRINT; return(EMPTYTYPEATT);}
02492         YY_BREAK
02493 case 47:
02494 /* rule 47 can match eol */
02495 YY_RULE_SETUP
02496 #line 188 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02497 {YY_PRINT; BEGIN doublequoteattributetext; return(TYPEATT);}
02498         YY_BREAK
02499 case 48:
02500 /* rule 48 can match eol */
02501 YY_RULE_SETUP
02502 #line 189 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02503 {YY_PRINT; BEGIN singlequoteattributetext; return(TYPEATT);}
02504         YY_BREAK
02505 case 49:
02506 /* rule 49 can match eol */
02507 YY_RULE_SETUP
02508 #line 190 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02509 {YY_PRINT; return(EMPTYUNITATT);}
02510         YY_BREAK
02511 case 50:
02512 /* rule 50 can match eol */
02513 YY_RULE_SETUP
02514 #line 191 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02515 {YY_PRINT; return(EMPTYUNITATT);}
02516         YY_BREAK
02517 case 51:
02518 /* rule 51 can match eol */
02519 YY_RULE_SETUP
02520 #line 192 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02521 {YY_PRINT; BEGIN doublequoteattributetext; return(UNITATT);}
02522         YY_BREAK
02523 case 52:
02524 /* rule 52 can match eol */
02525 YY_RULE_SETUP
02526 #line 193 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02527 {YY_PRINT; BEGIN singlequoteattributetext; return(UNITATT);}
02528         YY_BREAK
02529 case 53:
02530 /* rule 53 can match eol */
02531 YY_RULE_SETUP
02532 #line 194 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02533 {YY_PRINT; return(EMPTYVALUEATT);}
02534         YY_BREAK
02535 case 54:
02536 /* rule 54 can match eol */
02537 YY_RULE_SETUP
02538 #line 195 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02539 {YY_PRINT; return(EMPTYVALUEATT);}
02540         YY_BREAK
02541 case 55:
02542 /* rule 55 can match eol */
02543 YY_RULE_SETUP
02544 #line 196 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02545 {YY_PRINT; BEGIN doublequoteattributetext; return(VALUEATT);}
02546         YY_BREAK
02547 case 56:
02548 /* rule 56 can match eol */
02549 YY_RULE_SETUP
02550 #line 197 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02551 {YY_PRINT; BEGIN singlequoteattributetext; return(VALUEATT);}
02552         YY_BREAK
02553 case 57:
02554 /* rule 57 can match eol */
02555 YY_RULE_SETUP
02556 #line 198 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02557 {YY_PRINT; return(EMPTYWEIGHTEDOBJECTIVESATT);}
02558         YY_BREAK
02559 case 58:
02560 /* rule 58 can match eol */
02561 YY_RULE_SETUP
02562 #line 199 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02563 {YY_PRINT; return(EMPTYWEIGHTEDOBJECTIVESATT);}
02564         YY_BREAK
02565 case 59:
02566 /* rule 59 can match eol */
02567 YY_RULE_SETUP
02568 #line 200 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02569 {YY_PRINT; BEGIN doublequoteattributetext; return(WEIGHTEDOBJECTIVESATT);}
02570         YY_BREAK
02571 case 60:
02572 /* rule 60 can match eol */
02573 YY_RULE_SETUP
02574 #line 201 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02575 {YY_PRINT; BEGIN singlequoteattributetext; return(WEIGHTEDOBJECTIVESATT);}
02576         YY_BREAK
02577 /* top level elements */
02578 case 61:
02579 /* rule 61 can match eol */
02580 YY_RULE_SETUP
02581 #line 205 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02582 {return(OSRLSTARTEMPTY);}
02583         YY_BREAK
02584 case 62:
02585 /* rule 62 can match eol */
02586 YY_RULE_SETUP
02587 #line 206 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02588 {YY_PRINT; BEGIN osrlattributetext;  return(OSRLSTART);}
02589         YY_BREAK
02590 case 63:
02591 /* rule 63 can match eol */
02592 YY_RULE_SETUP
02593 #line 207 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02594 {YY_PRINT; return(OSRLEND);}
02595         YY_BREAK
02596 case 64:
02597 /* rule 64 can match eol */
02598 YY_RULE_SETUP
02599 #line 209 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02600 {YY_PRINT; return(GENERALSTART);}
02601         YY_BREAK
02602 case 65:
02603 /* rule 65 can match eol */
02604 YY_RULE_SETUP
02605 #line 210 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02606 {YY_PRINT; return(GENERALEND);}
02607         YY_BREAK
02608 case 66:
02609 /* rule 66 can match eol */
02610 YY_RULE_SETUP
02611 #line 212 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02612 {YY_PRINT; return(SYSTEMSTART);}
02613         YY_BREAK
02614 case 67:
02615 /* rule 67 can match eol */
02616 YY_RULE_SETUP
02617 #line 213 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02618 {YY_PRINT; return(SYSTEMEND);}
02619         YY_BREAK
02620 case 68:
02621 /* rule 68 can match eol */
02622 YY_RULE_SETUP
02623 #line 215 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02624 {YY_PRINT; return(SERVICESTART);}
02625         YY_BREAK
02626 case 69:
02627 /* rule 69 can match eol */
02628 YY_RULE_SETUP
02629 #line 216 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02630 {YY_PRINT; return(SERVICEEND);}
02631         YY_BREAK
02632 case 70:
02633 /* rule 70 can match eol */
02634 YY_RULE_SETUP
02635 #line 218 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02636 {YY_PRINT; return(JOBSTART);}
02637         YY_BREAK
02638 case 71:
02639 /* rule 71 can match eol */
02640 YY_RULE_SETUP
02641 #line 219 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02642 {YY_PRINT; return(JOBEND);}
02643         YY_BREAK
02644 case 72:
02645 /* rule 72 can match eol */
02646 YY_RULE_SETUP
02647 #line 221 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02648 {YY_PRINT; return(OPTIMIZATIONSTART);}
02649         YY_BREAK
02650 case 73:
02651 /* rule 73 can match eol */
02652 YY_RULE_SETUP
02653 #line 222 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02654 {YY_PRINT; return(OPTIMIZATIONEND);}
02655         YY_BREAK
02656 /* The <item> element is treated specially because it may legitimately contain special characters */
02657 case 74:
02658 /* rule 74 can match eol */
02659 YY_RULE_SETUP
02660 #line 227 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02661 {  YY_PRINT;  return(ITEMEMPTY);}
02662         YY_BREAK
02663 case 75:
02664 /* rule 75 can match eol */
02665 YY_RULE_SETUP
02666 #line 228 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02667 { YY_PRINT; BEGIN itemtext; return(ITEMSTART);}
02668         YY_BREAK
02669 case 76:
02670 /* rule 76 can match eol */
02671 YY_RULE_SETUP
02672 #line 229 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02673 { YY_PRINT; return(ITEMEND);}
02674         YY_BREAK
02675 case 77:
02676 /* rule 77 can match eol */
02677 YY_RULE_SETUP
02678 #line 230 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02679 { YY_PRINT; return(ITEMSTARTANDEND);}
02680         YY_BREAK
02681 /* Remaining elements, sorted alpabetically. */
02682 case 78:
02683 /* rule 78 can match eol */
02684 YY_RULE_SETUP
02685 #line 234 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02686 {YY_PRINT;  return(ACTUALSTARTTIMESTART);}
02687         YY_BREAK
02688 case 79:
02689 /* rule 79 can match eol */
02690 YY_RULE_SETUP
02691 #line 235 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02692 {YY_PRINT;  return(ACTUALSTARTTIMEEND);}
02693         YY_BREAK
02694 case 80:
02695 /* rule 80 can match eol */
02696 YY_RULE_SETUP
02697 #line 236 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02698 {YY_PRINT; return(ATLOWERSTART);}
02699         YY_BREAK
02700 case 81:
02701 /* rule 81 can match eol */
02702 YY_RULE_SETUP
02703 #line 237 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02704 {YY_PRINT; return(ATLOWEREND);}
02705         YY_BREAK
02706 case 82:
02707 /* rule 82 can match eol */
02708 YY_RULE_SETUP
02709 #line 238 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02710 {YY_PRINT; return(ATUPPERSTART);}
02711         YY_BREAK
02712 case 83:
02713 /* rule 83 can match eol */
02714 YY_RULE_SETUP
02715 #line 239 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02716 {YY_PRINT; return(ATUPPEREND);}
02717         YY_BREAK
02718 case 84:
02719 /* rule 84 can match eol */
02720 YY_RULE_SETUP
02721 #line 240 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02722 {YY_PRINT;  return(AVAILABLECPUNUMBERSTART);}
02723         YY_BREAK
02724 case 85:
02725 /* rule 85 can match eol */
02726 YY_RULE_SETUP
02727 #line 241 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02728 {YY_PRINT; return(AVAILABLECPUNUMBEREND);}
02729         YY_BREAK
02730 case 86:
02731 /* rule 86 can match eol */
02732 YY_RULE_SETUP
02733 #line 242 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02734 {YY_PRINT;  return(AVAILABLECPUSPEEDSTART);}
02735         YY_BREAK
02736 case 87:
02737 /* rule 87 can match eol */
02738 YY_RULE_SETUP
02739 #line 243 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02740 {YY_PRINT; return(AVAILABLECPUSPEEDEND);}
02741         YY_BREAK
02742 case 88:
02743 /* rule 88 can match eol */
02744 YY_RULE_SETUP
02745 #line 244 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02746 {YY_PRINT;  return(AVAILABLEDISKSPACESTART);}
02747         YY_BREAK
02748 case 89:
02749 /* rule 89 can match eol */
02750 YY_RULE_SETUP
02751 #line 245 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02752 {YY_PRINT; return(AVAILABLEDISKSPACEEND);}
02753         YY_BREAK
02754 case 90:
02755 /* rule 90 can match eol */
02756 YY_RULE_SETUP
02757 #line 246 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02758 {YY_PRINT;  return(AVAILABLEMEMORYSTART);}
02759         YY_BREAK
02760 case 91:
02761 /* rule 91 can match eol */
02762 YY_RULE_SETUP
02763 #line 247 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02764 {YY_PRINT; return(AVAILABLEMEMORYEND);}
02765         YY_BREAK
02766 case 92:
02767 /* rule 92 can match eol */
02768 YY_RULE_SETUP
02769 #line 248 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02770 {YY_PRINT; return(BASE64START);}
02771         YY_BREAK
02772 case 93:
02773 /* rule 93 can match eol */
02774 YY_RULE_SETUP
02775 #line 249 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02776 {YY_PRINT; return(BASE64END);}
02777         YY_BREAK
02778 case 94:
02779 /* rule 94 can match eol */
02780 YY_RULE_SETUP
02781 #line 250 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02782 {YY_PRINT; return(BASICSTART);}
02783         YY_BREAK
02784 case 95:
02785 /* rule 95 can match eol */
02786 YY_RULE_SETUP
02787 #line 251 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02788 {YY_PRINT; return(BASICEND);}
02789         YY_BREAK
02790 case 96:
02791 /* rule 96 can match eol */
02792 YY_RULE_SETUP
02793 #line 252 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02794 {YY_PRINT;  return(BASISSTATUSSTART);}
02795         YY_BREAK
02796 case 97:
02797 /* rule 97 can match eol */
02798 YY_RULE_SETUP
02799 #line 253 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02800 {YY_PRINT; return(BASISSTATUSEND);}
02801         YY_BREAK
02802 case 98:
02803 /* rule 98 can match eol */
02804 YY_RULE_SETUP
02805 #line 254 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02806 {YY_PRINT;  return(BASSTATUSSTART);}
02807         YY_BREAK
02808 case 99:
02809 /* rule 99 can match eol */
02810 YY_RULE_SETUP
02811 #line 255 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02812 {YY_PRINT; return(BASSTATUSEND);}
02813         YY_BREAK
02814 case 100:
02815 /* rule 100 can match eol */
02816 YY_RULE_SETUP
02817 #line 256 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02818 {YY_PRINT; return(CONSTART);}
02819         YY_BREAK
02820 case 101:
02821 /* rule 101 can match eol */
02822 YY_RULE_SETUP
02823 #line 257 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02824 {YY_PRINT; return(CONEND);}
02825         YY_BREAK
02826 case 102:
02827 /* rule 102 can match eol */
02828 YY_RULE_SETUP
02829 #line 258 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02830 {YY_PRINT; return(CONSTRAINTSSTART);}
02831         YY_BREAK
02832 case 103:
02833 /* rule 103 can match eol */
02834 YY_RULE_SETUP
02835 #line 259 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02836 {YY_PRINT; return(CONSTRAINTSEND);}
02837         YY_BREAK
02838 case 104:
02839 /* rule 104 can match eol */
02840 YY_RULE_SETUP
02841 #line 260 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02842 {YY_PRINT;  return(CURRENTJOBCOUNTSTART);}
02843         YY_BREAK
02844 case 105:
02845 /* rule 105 can match eol */
02846 YY_RULE_SETUP
02847 #line 261 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02848 {YY_PRINT;  return(CURRENTJOBCOUNTEND);}
02849         YY_BREAK
02850 case 106:
02851 /* rule 106 can match eol */
02852 YY_RULE_SETUP
02853 #line 262 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02854 {YY_PRINT;  return(CURRENTSTATESTART);}
02855         YY_BREAK
02856 case 107:
02857 /* rule 107 can match eol */
02858 YY_RULE_SETUP
02859 #line 263 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02860 {YY_PRINT;  return(CURRENTSTATEEND);}
02861         YY_BREAK
02862 case 108:
02863 /* rule 108 can match eol */
02864 YY_RULE_SETUP
02865 #line 264 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02866 {YY_PRINT; return(DUALVALUESSTART);}
02867         YY_BREAK
02868 case 109:
02869 /* rule 109 can match eol */
02870 YY_RULE_SETUP
02871 #line 265 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02872 {YY_PRINT; return(DUALVALUESEND);}
02873         YY_BREAK
02874 case 110:
02875 /* rule 110 can match eol */
02876 YY_RULE_SETUP
02877 #line 266 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02878 {YY_PRINT;  return(ELSTART);}
02879         YY_BREAK
02880 case 111:
02881 /* rule 111 can match eol */
02882 YY_RULE_SETUP
02883 #line 267 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02884 {YY_PRINT;  return(ELEND);}
02885         YY_BREAK
02886 case 112:
02887 /* rule 112 can match eol */
02888 YY_RULE_SETUP
02889 #line 268 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02890 {YY_PRINT;  return(ENDTIMESTART);}
02891         YY_BREAK
02892 case 113:
02893 /* rule 113 can match eol */
02894 YY_RULE_SETUP
02895 #line 269 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02896 {YY_PRINT;  return(ENDTIMEEND);}
02897         YY_BREAK
02898 case 114:
02899 /* rule 114 can match eol */
02900 YY_RULE_SETUP
02901 #line 270 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02902 {YY_PRINT;  return(ENUMERATIONSTART);}
02903         YY_BREAK
02904 case 115:
02905 /* rule 115 can match eol */
02906 YY_RULE_SETUP
02907 #line 271 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02908 {YY_PRINT;  return(ENUMERATIONEND);}
02909         YY_BREAK
02910 case 116:
02911 /* rule 116 can match eol */
02912 YY_RULE_SETUP
02913 #line 272 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02914 {YY_PRINT; return(GENERALSTATUSSTART);}
02915         YY_BREAK
02916 case 117:
02917 /* rule 117 can match eol */
02918 YY_RULE_SETUP
02919 #line 273 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02920 {YY_PRINT; return(GENERALSTATUSEND);}
02921         YY_BREAK
02922 case 118:
02923 /* rule 118 can match eol */
02924 YY_RULE_SETUP
02925 #line 274 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02926 {YY_PRINT;  return(INSTANCENAMESTART);}
02927         YY_BREAK
02928 case 119:
02929 /* rule 119 can match eol */
02930 YY_RULE_SETUP
02931 #line 275 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02932 {YY_PRINT;  return(INSTANCENAMEEND);}
02933         YY_BREAK
02934 case 120:
02935 /* rule 120 can match eol */
02936 YY_RULE_SETUP
02937 #line 276 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02938 {YY_PRINT; return(IDXSTART);}
02939         YY_BREAK
02940 case 121:
02941 /* rule 121 can match eol */
02942 YY_RULE_SETUP
02943 #line 277 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02944 {YY_PRINT; return(IDXEND);}
02945         YY_BREAK
02946 case 122:
02947 /* rule 122 can match eol */
02948 YY_RULE_SETUP
02949 #line 278 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02950 {YY_PRINT; return(ISFREESTART);}
02951         YY_BREAK
02952 case 123:
02953 /* rule 123 can match eol */
02954 YY_RULE_SETUP
02955 #line 279 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02956 {YY_PRINT; return(ISFREEEND);}
02957         YY_BREAK
02958 case 124:
02959 /* rule 124 can match eol */
02960 YY_RULE_SETUP
02961 #line 280 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02962 {YY_PRINT;  return(JOBIDSTART);}
02963         YY_BREAK
02964 case 125:
02965 /* rule 125 can match eol */
02966 YY_RULE_SETUP
02967 #line 281 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02968 {YY_PRINT;  return(JOBIDEND);}
02969         YY_BREAK
02970 case 126:
02971 /* rule 126 can match eol */
02972 YY_RULE_SETUP
02973 #line 282 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02974 {YY_PRINT;  return(MESSAGESTART);}
02975         YY_BREAK
02976 case 127:
02977 /* rule 127 can match eol */
02978 YY_RULE_SETUP
02979 #line 283 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02980 {YY_PRINT;  return(MESSAGEEND);}
02981         YY_BREAK
02982 case 128:
02983 /* rule 128 can match eol */
02984 YY_RULE_SETUP
02985 #line 284 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02986 {YY_PRINT; return(OBJSTART);}
02987         YY_BREAK
02988 case 129:
02989 /* rule 129 can match eol */
02990 YY_RULE_SETUP
02991 #line 285 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02992 {YY_PRINT; return(OBJEND);}
02993         YY_BREAK
02994 case 130:
02995 /* rule 130 can match eol */
02996 YY_RULE_SETUP
02997 #line 286 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
02998 {YY_PRINT; return(OBJECTIVESSTART);}
02999         YY_BREAK
03000 case 131:
03001 /* rule 131 can match eol */
03002 YY_RULE_SETUP
03003 #line 287 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03004 {YY_PRINT; return(OBJECTIVESEND);}
03005         YY_BREAK
03006 case 132:
03007 /* rule 132 can match eol */
03008 YY_RULE_SETUP
03009 #line 288 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03010 {YY_PRINT;  return(OPTIMIZATIONSOLUTIONSTATUSSTART);}
03011         YY_BREAK
03012 case 133:
03013 /* rule 133 can match eol */
03014 YY_RULE_SETUP
03015 #line 289 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03016 {YY_PRINT; return(OPTIMIZATIONSOLUTIONSTATUSEND);}
03017         YY_BREAK
03018 case 134:
03019 /* rule 134 can match eol */
03020 YY_RULE_SETUP
03021 #line 290 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03022 {YY_PRINT; return(OTHERSTART);}
03023         YY_BREAK
03024 case 135:
03025 /* rule 135 can match eol */
03026 YY_RULE_SETUP
03027 #line 291 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03028 {YY_PRINT; return(OTHEREND);}
03029         YY_BREAK
03030 case 136:
03031 /* rule 136 can match eol */
03032 YY_RULE_SETUP
03033 #line 292 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03034 {YY_PRINT;  return(OTHERRESULTSSTART);}
03035         YY_BREAK
03036 case 137:
03037 /* rule 137 can match eol */
03038 YY_RULE_SETUP
03039 #line 293 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03040 {YY_PRINT;  return(OTHERRESULTSEND);}
03041         YY_BREAK
03042 case 138:
03043 /* rule 138 can match eol */
03044 YY_RULE_SETUP
03045 #line 294 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03046 {YY_PRINT; return(OTHERSOLUTIONRESULTSTART);}
03047         YY_BREAK
03048 case 139:
03049 /* rule 139 can match eol */
03050 YY_RULE_SETUP
03051 #line 295 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03052 {YY_PRINT;  return(OTHERSOLUTIONRESULTEND);}
03053         YY_BREAK
03054 case 140:
03055 /* rule 140 can match eol */
03056 YY_RULE_SETUP
03057 #line 296 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03058 {YY_PRINT; return(OTHERSOLUTIONRESULTSSTART);}
03059         YY_BREAK
03060 case 141:
03061 /* rule 141 can match eol */
03062 YY_RULE_SETUP
03063 #line 297 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03064 {YY_PRINT; return(OTHERSOLUTIONRESULTSEND);}
03065         YY_BREAK
03066 case 142:
03067 /* rule 142 can match eol */
03068 YY_RULE_SETUP
03069 #line 298 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03070 {YY_PRINT;  return(OTHERSOLVEROUTPUTSTART);}
03071         YY_BREAK
03072 case 143:
03073 /* rule 143 can match eol */
03074 YY_RULE_SETUP
03075 #line 299 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03076 {YY_PRINT;  return(OTHERSOLVEROUTPUTEND);}
03077         YY_BREAK
03078 case 144:
03079 /* rule 144 can match eol */
03080 YY_RULE_SETUP
03081 #line 300 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03082 {YY_PRINT;  return(SCHEDULEDSTARTTIMESTART);}
03083         YY_BREAK
03084 case 145:
03085 /* rule 145 can match eol */
03086 YY_RULE_SETUP
03087 #line 301 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03088 {YY_PRINT;  return(SCHEDULEDSTARTTIMEEND);}
03089         YY_BREAK
03090 case 146:
03091 /* rule 146 can match eol */
03092 YY_RULE_SETUP
03093 #line 302 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03094 {YY_PRINT;  return(SERVICENAMESTART);}
03095         YY_BREAK
03096 case 147:
03097 /* rule 147 can match eol */
03098 YY_RULE_SETUP
03099 #line 303 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03100 {YY_PRINT;  return(SERVICENAMEEND);}
03101         YY_BREAK
03102 case 148:
03103 /* rule 148 can match eol */
03104 YY_RULE_SETUP
03105 #line 304 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03106 {YY_PRINT;  return(SERVICEURISTART);}
03107         YY_BREAK
03108 case 149:
03109 /* rule 149 can match eol */
03110 YY_RULE_SETUP
03111 #line 305 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03112 {YY_PRINT;  return(SERVICEURIEND);}
03113         YY_BREAK
03114 case 150:
03115 /* rule 150 can match eol */
03116 YY_RULE_SETUP
03117 #line 306 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03118 {YY_PRINT;  return(SERVICEUTILIZATIONSTART);}
03119         YY_BREAK
03120 case 151:
03121 /* rule 151 can match eol */
03122 YY_RULE_SETUP
03123 #line 307 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03124 {YY_PRINT;  return(SERVICEUTILIZATIONEND);}
03125         YY_BREAK
03126 case 152:
03127 /* rule 152 can match eol */
03128 YY_RULE_SETUP
03129 #line 308 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03130 {YY_PRINT; return(SOLUTIONSTART);}
03131         YY_BREAK
03132 case 153:
03133 /* rule 153 can match eol */
03134 YY_RULE_SETUP
03135 #line 309 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03136 {YY_PRINT; return(SOLUTIONEND);}
03137         YY_BREAK
03138 case 154:
03139 /* rule 154 can match eol */
03140 YY_RULE_SETUP
03141 #line 310 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03142 {YY_PRINT;  return(SOLVERINVOKEDSTART);}
03143         YY_BREAK
03144 case 155:
03145 /* rule 155 can match eol */
03146 YY_RULE_SETUP
03147 #line 311 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03148 {YY_PRINT;  return(SOLVERINVOKEDEND);}
03149         YY_BREAK
03150 case 156:
03151 /* rule 156 can match eol */
03152 YY_RULE_SETUP
03153 #line 312 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03154 {YY_PRINT;  return(SOLVEROUTPUTSTART);}
03155         YY_BREAK
03156 case 157:
03157 /* rule 157 can match eol */
03158 YY_RULE_SETUP
03159 #line 313 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03160 {YY_PRINT;  return(SOLVEROUTPUTEND);}
03161         YY_BREAK
03162 case 158:
03163 /* rule 158 can match eol */
03164 YY_RULE_SETUP
03165 #line 314 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03166 {YY_PRINT; return(STATUSSTART);}
03167         YY_BREAK
03168 case 159:
03169 /* rule 159 can match eol */
03170 YY_RULE_SETUP
03171 #line 315 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03172 {YY_PRINT; return(STATUSEND);}
03173         YY_BREAK
03174 case 160:
03175 /* rule 160 can match eol */
03176 YY_RULE_SETUP
03177 #line 316 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03178 {YY_PRINT;  return(SUBMITTIMESTART);}
03179         YY_BREAK
03180 case 161:
03181 /* rule 161 can match eol */
03182 YY_RULE_SETUP
03183 #line 317 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03184 {YY_PRINT;  return(SUBMITTIMEEND);}
03185         YY_BREAK
03186 case 162:
03187 /* rule 162 can match eol */
03188 YY_RULE_SETUP
03189 #line 318 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03190 {YY_PRINT;  return(SUBSTATUSSTART);}
03191         YY_BREAK
03192 case 163:
03193 /* rule 163 can match eol */
03194 YY_RULE_SETUP
03195 #line 319 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03196 {YY_PRINT;  return(SUBSTATUSEND);}
03197         YY_BREAK
03198 case 164:
03199 /* rule 164 can match eol */
03200 YY_RULE_SETUP
03201 #line 320 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03202 {YY_PRINT; return(SUPERBASICSTART);}
03203         YY_BREAK
03204 case 165:
03205 /* rule 165 can match eol */
03206 YY_RULE_SETUP
03207 #line 321 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03208 {YY_PRINT; return(SUPERBASICEND);}
03209         YY_BREAK
03210 case 166:
03211 /* rule 166 can match eol */
03212 YY_RULE_SETUP
03213 #line 322 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03214 {YY_PRINT;  return(SYSTEMINFORMATIONSTART);}
03215         YY_BREAK
03216 case 167:
03217 /* rule 167 can match eol */
03218 YY_RULE_SETUP
03219 #line 323 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03220 {YY_PRINT;  return(SYSTEMINFORMATIONEND);}
03221         YY_BREAK
03222 case 168:
03223 /* rule 168 can match eol */
03224 YY_RULE_SETUP
03225 #line 324 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03226 {YY_PRINT;  return(TIMESTART);}
03227         YY_BREAK
03228 case 169:
03229 /* rule 169 can match eol */
03230 YY_RULE_SETUP
03231 #line 325 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03232 {YY_PRINT;  return(TIMEEND);}
03233         YY_BREAK
03234 case 170:
03235 /* rule 170 can match eol */
03236 YY_RULE_SETUP
03237 #line 326 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03238 {YY_PRINT;  return(TIMESERVICESTARTEDSTART);}
03239         YY_BREAK
03240 case 171:
03241 /* rule 171 can match eol */
03242 YY_RULE_SETUP
03243 #line 327 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03244 {YY_PRINT;  return(TIMESERVICESTARTEDEND);}
03245         YY_BREAK
03246 case 172:
03247 /* rule 172 can match eol */
03248 YY_RULE_SETUP
03249 #line 328 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03250 {YY_PRINT;  return(TIMESTAMPSTART);}
03251         YY_BREAK
03252 case 173:
03253 /* rule 173 can match eol */
03254 YY_RULE_SETUP
03255 #line 329 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03256 {YY_PRINT;  return(TIMESTAMPEND);}
03257         YY_BREAK
03258 case 174:
03259 /* rule 174 can match eol */
03260 YY_RULE_SETUP
03261 #line 330 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03262 {YY_PRINT; return(TIMINGINFORMATIONSTART);}
03263         YY_BREAK
03264 case 175:
03265 /* rule 175 can match eol */
03266 YY_RULE_SETUP
03267 #line 331 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03268 {YY_PRINT;  return(TIMINGINFORMATIONEND);}
03269         YY_BREAK
03270 case 176:
03271 /* rule 176 can match eol */
03272 YY_RULE_SETUP
03273 #line 332 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03274 {YY_PRINT;  return(TOTALJOBSSOFARSTART);}
03275         YY_BREAK
03276 case 177:
03277 /* rule 177 can match eol */
03278 YY_RULE_SETUP
03279 #line 333 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03280 {YY_PRINT;  return(TOTALJOBSSOFAREND);}
03281         YY_BREAK
03282 case 178:
03283 /* rule 178 can match eol */
03284 YY_RULE_SETUP
03285 #line 334 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03286 {YY_PRINT; return(UNKNOWNSTART);}
03287         YY_BREAK
03288 case 179:
03289 /* rule 179 can match eol */
03290 YY_RULE_SETUP
03291 #line 335 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03292 {YY_PRINT; return(UNKNOWNEND);}
03293         YY_BREAK
03294 case 180:
03295 /* rule 180 can match eol */
03296 YY_RULE_SETUP
03297 #line 336 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03298 {YY_PRINT;  return(USEDCPUNUMBERSTART);}
03299         YY_BREAK
03300 case 181:
03301 /* rule 181 can match eol */
03302 YY_RULE_SETUP
03303 #line 337 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03304 {YY_PRINT;  return(USEDCPUNUMBEREND);}
03305         YY_BREAK
03306 case 182:
03307 /* rule 182 can match eol */
03308 YY_RULE_SETUP
03309 #line 338 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03310 {YY_PRINT;  return(USEDCPUSPEEDSTART);}
03311         YY_BREAK
03312 case 183:
03313 /* rule 183 can match eol */
03314 YY_RULE_SETUP
03315 #line 339 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03316 {YY_PRINT;  return(USEDCPUSPEEDEND);} 
03317         YY_BREAK
03318 case 184:
03319 /* rule 184 can match eol */
03320 YY_RULE_SETUP
03321 #line 340 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03322 {YY_PRINT;  return(USEDDISKSPACESTART);}
03323         YY_BREAK
03324 case 185:
03325 /* rule 185 can match eol */
03326 YY_RULE_SETUP
03327 #line 341 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03328 {YY_PRINT;  return(USEDDISKSPACEEND);}
03329         YY_BREAK
03330 case 186:
03331 /* rule 186 can match eol */
03332 YY_RULE_SETUP
03333 #line 342 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03334 {YY_PRINT;  return(USEDMEMORYSTART);}
03335         YY_BREAK
03336 case 187:
03337 /* rule 187 can match eol */
03338 YY_RULE_SETUP
03339 #line 343 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03340 {YY_PRINT;  return(USEDMEMORYEND);}
03341         YY_BREAK
03342 case 188:
03343 /* rule 188 can match eol */
03344 YY_RULE_SETUP
03345 #line 344 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03346 {YY_PRINT; return(VALUESSTART);}
03347         YY_BREAK
03348 case 189:
03349 /* rule 189 can match eol */
03350 YY_RULE_SETUP
03351 #line 345 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03352 {YY_PRINT; return(VALUESEND);}
03353         YY_BREAK
03354 case 190:
03355 /* rule 190 can match eol */
03356 YY_RULE_SETUP
03357 #line 346 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03358 {YY_PRINT;  return(VALUESSTRINGSTART);}
03359         YY_BREAK
03360 case 191:
03361 /* rule 191 can match eol */
03362 YY_RULE_SETUP
03363 #line 347 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03364 {YY_PRINT;  return(VALUESSTRINGEND);}
03365         YY_BREAK
03366 case 192:
03367 /* rule 192 can match eol */
03368 YY_RULE_SETUP
03369 #line 348 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03370 {YY_PRINT; return(VARSTART);}
03371         YY_BREAK
03372 case 193:
03373 /* rule 193 can match eol */
03374 YY_RULE_SETUP
03375 #line 349 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03376 {YY_PRINT; return(VAREND);}
03377         YY_BREAK
03378 case 194:
03379 /* rule 194 can match eol */
03380 YY_RULE_SETUP
03381 #line 350 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03382 {YY_PRINT; return(VARIABLESSTART);}
03383         YY_BREAK
03384 case 195:
03385 /* rule 195 can match eol */
03386 YY_RULE_SETUP
03387 #line 351 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03388 {YY_PRINT; return(VARIABLESEND);}
03389         YY_BREAK
03390 case 196:
03391 /* rule 196 can match eol */
03392 YY_RULE_SETUP
03393 #line 352 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03394 {YY_PRINT; return(VARIDXSTART);}
03395         YY_BREAK
03396 case 197:
03397 /* rule 197 can match eol */
03398 YY_RULE_SETUP
03399 #line 353 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03400 {YY_PRINT; return(VARIDXEND);}
03401         YY_BREAK
03402 /* environments and comments */
03403 case 198:
03404 /* rule 198 can match eol */
03405 YY_RULE_SETUP
03406 #line 358 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03407 { YY_PRINT;  yylval->sval = strdup( yytext);   yyextra->errorText = yylval->sval;    /*yylval->sval = yytext;*/  return (ELEMENTTEXT); }
03408         YY_BREAK
03409 case 199:
03410 /* rule 199 can match eol */
03411 YY_RULE_SETUP
03412 #line 359 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03413 { YY_PRINT;  yylval->sval = strdup( yytext); BEGIN 0;  yyextra->errorText = yylval->sval;    /*yylval->sval = yytext;*/  return (ITEMTEXT); }
03414         YY_BREAK
03415 case 200:
03416 YY_RULE_SETUP
03417 #line 361 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03418 BEGIN comment;
03419         YY_BREAK
03420 case 201:
03421 #line 363 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03422 case 202:
03423 /* rule 202 can match eol */
03424 YY_RULE_SETUP
03425 #line 363 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03426 ;
03427         YY_BREAK
03428 case 203:
03429 YY_RULE_SETUP
03430 #line 364 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03431 BEGIN 0;
03432         YY_BREAK
03433 case 204:
03434 YY_RULE_SETUP
03435 #line 366 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03436 BEGIN xmldeclaration;
03437         YY_BREAK
03438 case 205:
03439 #line 368 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03440 case 206:
03441 /* rule 206 can match eol */
03442 YY_RULE_SETUP
03443 #line 368 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03444 ;
03445         YY_BREAK
03446 case 207:
03447 YY_RULE_SETUP
03448 #line 369 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03449 BEGIN 0;
03450         YY_BREAK
03451 case 208:
03452 /* rule 208 can match eol */
03453 YY_RULE_SETUP
03454 #line 372 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03455 {YY_PRINT;  BEGIN 0; yylval->sval = strdup(yytext);  /*yylval->sval = yytext;*/ return(ATTRIBUTETEXT);}
03456         YY_BREAK
03457 case 209:
03458 /* rule 209 can match eol */
03459 YY_RULE_SETUP
03460 #line 373 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03461 {YY_PRINT;  BEGIN 0; yylval->sval = strdup(yytext);   /*yylval->sval = yytext;*/ return(ATTRIBUTETEXT);}
03462         YY_BREAK
03463 case 210:
03464 /* rule 210 can match eol */
03465 YY_RULE_SETUP
03466 #line 374 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03467 {YY_PRINT;  BEGIN 0; /*yylval->sval = strdup(yytext);*/  yylval->sval = yytext; return(OSRLATTRIBUTETEXT);}
03468         YY_BREAK
03469 /* error trap */
03470 case 211:
03471 /* rule 211 can match eol */
03472 YY_RULE_SETUP
03473 #line 378 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03474 { 
03475         std::string error;
03476         std::ostringstream outStr;
03477         outStr << "encountered a spurious character in the lexer" << std::endl;
03478         outStr << "The first character is: ";
03479         outStr <<  yytext;
03480         outStr << std::endl;
03481         outStr << "See line number: " << yylineno << std::endl;  
03482         error = outStr.str();
03483         throw ErrorClass( error);
03484 }
03485         YY_BREAK
03486 case 212:
03487 YY_RULE_SETUP
03488 #line 390 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
03489 ECHO;
03490         YY_BREAK
03491 #line 3492 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.cpp"
03492 case YY_STATE_EOF(INITIAL):
03493 case YY_STATE_EOF(osrlattributetext):
03494 case YY_STATE_EOF(doublequoteattributetext):
03495 case YY_STATE_EOF(singlequoteattributetext):
03496 case YY_STATE_EOF(startelement):
03497 case YY_STATE_EOF(elementtext):
03498 case YY_STATE_EOF(itemtext):
03499 case YY_STATE_EOF(comment):
03500 case YY_STATE_EOF(xmldeclaration):
03501         yyterminate();
03502 
03503         case YY_END_OF_BUFFER:
03504                 {
03505                 /* Amount of text matched not including the EOB char. */
03506                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
03507 
03508                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
03509                 *yy_cp = yyg->yy_hold_char;
03510                 YY_RESTORE_YY_MORE_OFFSET
03511 
03512                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
03513                         {
03514                         /* We're scanning a new file or input source.  It's
03515                          * possible that this happened because the user
03516                          * just pointed yyin at a new source and called
03517                          * osrllex().  If so, then we have to assure
03518                          * consistency between YY_CURRENT_BUFFER and our
03519                          * globals.  Here is the right place to do so, because
03520                          * this is the first action (other than possibly a
03521                          * back-up) that will match for the new input source.
03522                          */
03523                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03524                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
03525                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
03526                         }
03527 
03528                 /* Note that here we test for yy_c_buf_p "<=" to the position
03529                  * of the first EOB in the buffer, since yy_c_buf_p will
03530                  * already have been incremented past the NUL character
03531                  * (since all states make transitions on EOB to the
03532                  * end-of-buffer state).  Contrast this with the test
03533                  * in input().
03534                  */
03535                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
03536                         { /* This was really a NUL. */
03537                         yy_state_type yy_next_state;
03538 
03539                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
03540 
03541                         yy_current_state = yy_get_previous_state( yyscanner );
03542 
03543                         /* Okay, we're now positioned to make the NUL
03544                          * transition.  We couldn't have
03545                          * yy_get_previous_state() go ahead and do it
03546                          * for us because it doesn't know how to deal
03547                          * with the possibility of jamming (and we don't
03548                          * want to build jamming into it because then it
03549                          * will run more slowly).
03550                          */
03551 
03552                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
03553 
03554                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
03555 
03556                         if ( yy_next_state )
03557                                 {
03558                                 /* Consume the NUL. */
03559                                 yy_cp = ++yyg->yy_c_buf_p;
03560                                 yy_current_state = yy_next_state;
03561                                 goto yy_match;
03562                                 }
03563 
03564                         else
03565                                 {
03566                                 yy_cp = yyg->yy_c_buf_p;
03567                                 goto yy_find_action;
03568                                 }
03569                         }
03570 
03571                 else switch ( yy_get_next_buffer( yyscanner ) )
03572                         {
03573                         case EOB_ACT_END_OF_FILE:
03574                                 {
03575                                 yyg->yy_did_buffer_switch_on_eof = 0;
03576 
03577                                 if ( osrlwrap(yyscanner ) )
03578                                         {
03579                                         /* Note: because we've taken care in
03580                                          * yy_get_next_buffer() to have set up
03581                                          * yytext, we can now set up
03582                                          * yy_c_buf_p so that if some total
03583                                          * hoser (like flex itself) wants to
03584                                          * call the scanner after we return the
03585                                          * YY_NULL, it'll still work - another
03586                                          * YY_NULL will get returned.
03587                                          */
03588                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
03589 
03590                                         yy_act = YY_STATE_EOF(YY_START);
03591                                         goto do_action;
03592                                         }
03593 
03594                                 else
03595                                         {
03596                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
03597                                                 YY_NEW_FILE;
03598                                         }
03599                                 break;
03600                                 }
03601 
03602                         case EOB_ACT_CONTINUE_SCAN:
03603                                 yyg->yy_c_buf_p =
03604                                         yyg->yytext_ptr + yy_amount_of_matched_text;
03605 
03606                                 yy_current_state = yy_get_previous_state( yyscanner );
03607 
03608                                 yy_cp = yyg->yy_c_buf_p;
03609                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
03610                                 goto yy_match;
03611 
03612                         case EOB_ACT_LAST_MATCH:
03613                                 yyg->yy_c_buf_p =
03614                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
03615 
03616                                 yy_current_state = yy_get_previous_state( yyscanner );
03617 
03618                                 yy_cp = yyg->yy_c_buf_p;
03619                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
03620                                 goto yy_find_action;
03621                         }
03622                 break;
03623                 }
03624 
03625         default:
03626                 YY_FATAL_ERROR(
03627                         "fatal flex scanner internal error--no action found" );
03628         } /* end of action switch */
03629                 } /* end of scanning one token */
03630 } /* end of osrllex */
03631 
03632 /* yy_get_next_buffer - try to read in a new buffer
03633  *
03634  * Returns a code representing an action:
03635  *      EOB_ACT_LAST_MATCH -
03636  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
03637  *      EOB_ACT_END_OF_FILE - end of file
03638  */
03639 static int yy_get_next_buffer (yyscan_t yyscanner)
03640 {
03641     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03642         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
03643         register char *source = yyg->yytext_ptr;
03644         register int number_to_move, i;
03645         int ret_val;
03646 
03647         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
03648                 YY_FATAL_ERROR(
03649                 "fatal flex scanner internal error--end of buffer missed" );
03650 
03651         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
03652                 { /* Don't try to fill the buffer, so this is an EOF. */
03653                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
03654                         {
03655                         /* We matched a single character, the EOB, so
03656                          * treat this as a final EOF.
03657                          */
03658                         return EOB_ACT_END_OF_FILE;
03659                         }
03660 
03661                 else
03662                         {
03663                         /* We matched some text prior to the EOB, first
03664                          * process it.
03665                          */
03666                         return EOB_ACT_LAST_MATCH;
03667                         }
03668                 }
03669 
03670         /* Try to read more data. */
03671 
03672         /* First move last chars to start of buffer. */
03673         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
03674 
03675         for ( i = 0; i < number_to_move; ++i )
03676                 *(dest++) = *(source++);
03677 
03678         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
03679                 /* don't do the read, it's not guaranteed to return an EOF,
03680                  * just force an EOF
03681                  */
03682                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
03683 
03684         else
03685                 {
03686                         int num_to_read =
03687                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
03688 
03689                 while ( num_to_read <= 0 )
03690                         { /* Not enough room in the buffer - grow it. */
03691 
03692                         /* just a shorter name for the current buffer */
03693                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
03694 
03695                         int yy_c_buf_p_offset =
03696                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
03697 
03698                         if ( b->yy_is_our_buffer )
03699                                 {
03700                                 int new_size = b->yy_buf_size * 2;
03701 
03702                                 if ( new_size <= 0 )
03703                                         b->yy_buf_size += b->yy_buf_size / 8;
03704                                 else
03705                                         b->yy_buf_size *= 2;
03706 
03707                                 b->yy_ch_buf = (char *)
03708                                         /* Include room in for 2 EOB chars. */
03709                                         osrlrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
03710                                 }
03711                         else
03712                                 /* Can't grow it, we don't own it. */
03713                                 b->yy_ch_buf = 0;
03714 
03715                         if ( ! b->yy_ch_buf )
03716                                 YY_FATAL_ERROR(
03717                                 "fatal error - scanner input buffer overflow" );
03718 
03719                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
03720 
03721                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
03722                                                 number_to_move - 1;
03723 
03724                         }
03725 
03726                 if ( num_to_read > YY_READ_BUF_SIZE )
03727                         num_to_read = YY_READ_BUF_SIZE;
03728 
03729                 /* Read in more data. */
03730                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
03731                         yyg->yy_n_chars, (size_t) num_to_read );
03732 
03733                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
03734                 }
03735 
03736         if ( yyg->yy_n_chars == 0 )
03737                 {
03738                 if ( number_to_move == YY_MORE_ADJ )
03739                         {
03740                         ret_val = EOB_ACT_END_OF_FILE;
03741                         osrlrestart(yyin  ,yyscanner);
03742                         }
03743 
03744                 else
03745                         {
03746                         ret_val = EOB_ACT_LAST_MATCH;
03747                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
03748                                 YY_BUFFER_EOF_PENDING;
03749                         }
03750                 }
03751 
03752         else
03753                 ret_val = EOB_ACT_CONTINUE_SCAN;
03754 
03755         if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
03756                 /* Extend the array by 50%, plus the number we really need. */
03757                 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
03758                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osrlrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
03759                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
03760                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
03761         }
03762 
03763         yyg->yy_n_chars += number_to_move;
03764         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
03765         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
03766 
03767         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
03768 
03769         return ret_val;
03770 }
03771 
03772 /* yy_get_previous_state - get the state just before the EOB char was reached */
03773 
03774     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
03775 {
03776         register yy_state_type yy_current_state;
03777         register char *yy_cp;
03778     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03779 
03780         yy_current_state = yyg->yy_start;
03781 
03782         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
03783                 {
03784                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
03785                 if ( yy_accept[yy_current_state] )
03786                         {
03787                         yyg->yy_last_accepting_state = yy_current_state;
03788                         yyg->yy_last_accepting_cpos = yy_cp;
03789                         }
03790                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03791                         {
03792                         yy_current_state = (int) yy_def[yy_current_state];
03793                         if ( yy_current_state >= 1655 )
03794                                 yy_c = yy_meta[(unsigned int) yy_c];
03795                         }
03796                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03797                 }
03798 
03799         return yy_current_state;
03800 }
03801 
03802 /* yy_try_NUL_trans - try to make a transition on the NUL character
03803  *
03804  * synopsis
03805  *      next_state = yy_try_NUL_trans( current_state );
03806  */
03807     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
03808 {
03809         register int yy_is_jam;
03810     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
03811         register char *yy_cp = yyg->yy_c_buf_p;
03812 
03813         register YY_CHAR yy_c = 1;
03814         if ( yy_accept[yy_current_state] )
03815                 {
03816                 yyg->yy_last_accepting_state = yy_current_state;
03817                 yyg->yy_last_accepting_cpos = yy_cp;
03818                 }
03819         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
03820                 {
03821                 yy_current_state = (int) yy_def[yy_current_state];
03822                 if ( yy_current_state >= 1655 )
03823                         yy_c = yy_meta[(unsigned int) yy_c];
03824                 }
03825         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
03826         yy_is_jam = (yy_current_state == 1654);
03827 
03828         return yy_is_jam ? 0 : yy_current_state;
03829 }
03830 
03831 #ifndef YY_NO_INPUT
03832 #ifdef __cplusplus
03833     static int yyinput (yyscan_t yyscanner)
03834 #else
03835     static int input  (yyscan_t yyscanner)
03836 #endif
03837 
03838 {
03839         int c;
03840     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03841 
03842         *yyg->yy_c_buf_p = yyg->yy_hold_char;
03843 
03844         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
03845                 {
03846                 /* yy_c_buf_p now points to the character we want to return.
03847                  * If this occurs *before* the EOB characters, then it's a
03848                  * valid NUL; if not, then we've hit the end of the buffer.
03849                  */
03850                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
03851                         /* This was really a NUL. */
03852                         *yyg->yy_c_buf_p = '\0';
03853 
03854                 else
03855                         { /* need more input */
03856                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
03857                         ++yyg->yy_c_buf_p;
03858 
03859                         switch ( yy_get_next_buffer( yyscanner ) )
03860                                 {
03861                                 case EOB_ACT_LAST_MATCH:
03862                                         /* This happens because yy_g_n_b()
03863                                          * sees that we've accumulated a
03864                                          * token and flags that we need to
03865                                          * try matching the token before
03866                                          * proceeding.  But for input(),
03867                                          * there's no matching to consider.
03868                                          * So convert the EOB_ACT_LAST_MATCH
03869                                          * to EOB_ACT_END_OF_FILE.
03870                                          */
03871 
03872                                         /* Reset buffer status. */
03873                                         osrlrestart(yyin ,yyscanner);
03874 
03875                                         /*FALLTHROUGH*/
03876 
03877                                 case EOB_ACT_END_OF_FILE:
03878                                         {
03879                                         if ( osrlwrap(yyscanner ) )
03880                                                 return EOF;
03881 
03882                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
03883                                                 YY_NEW_FILE;
03884 #ifdef __cplusplus
03885                                         return yyinput(yyscanner);
03886 #else
03887                                         return input(yyscanner);
03888 #endif
03889                                         }
03890 
03891                                 case EOB_ACT_CONTINUE_SCAN:
03892                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
03893                                         break;
03894                                 }
03895                         }
03896                 }
03897 
03898         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
03899         *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
03900         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
03901 
03902         if ( c == '\n' )
03903                    
03904     do{ yylineno++;
03905         yycolumn=0;
03906     }while(0)
03907 ;
03908 
03909         return c;
03910 }
03911 #endif  /* ifndef YY_NO_INPUT */
03912 
03918     void osrlrestart  (FILE * input_file , yyscan_t yyscanner)
03919 {
03920     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03921 
03922         if ( ! YY_CURRENT_BUFFER ){
03923         osrlensure_buffer_stack (yyscanner);
03924                 YY_CURRENT_BUFFER_LVALUE =
03925             osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
03926         }
03927 
03928         osrl_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
03929         osrl_load_buffer_state(yyscanner );
03930 }
03931 
03936     void osrl_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
03937 {
03938     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03939 
03940         /* TODO. We should be able to replace this entire function body
03941          * with
03942          *              osrlpop_buffer_state();
03943          *              osrlpush_buffer_state(new_buffer);
03944      */
03945         osrlensure_buffer_stack (yyscanner);
03946         if ( YY_CURRENT_BUFFER == new_buffer )
03947                 return;
03948 
03949         if ( YY_CURRENT_BUFFER )
03950                 {
03951                 /* Flush out information for old buffer. */
03952                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
03953                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
03954                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
03955                 }
03956 
03957         YY_CURRENT_BUFFER_LVALUE = new_buffer;
03958         osrl_load_buffer_state(yyscanner );
03959 
03960         /* We don't actually know whether we did this switch during
03961          * EOF (osrlwrap()) processing, but the only time this flag
03962          * is looked at is after osrlwrap() is called, so it's safe
03963          * to go ahead and always set it.
03964          */
03965         yyg->yy_did_buffer_switch_on_eof = 1;
03966 }
03967 
03968 static void osrl_load_buffer_state  (yyscan_t yyscanner)
03969 {
03970     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03971         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
03972         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
03973         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
03974         yyg->yy_hold_char = *yyg->yy_c_buf_p;
03975 }
03976 
03983     YY_BUFFER_STATE osrl_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
03984 {
03985         YY_BUFFER_STATE b;
03986     
03987         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
03988         if ( ! b )
03989                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
03990 
03991         b->yy_buf_size = size;
03992 
03993         /* yy_ch_buf has to be 2 characters longer than the size given because
03994          * we need to put in 2 end-of-buffer characters.
03995          */
03996         b->yy_ch_buf = (char *) osrlalloc(b->yy_buf_size + 2 ,yyscanner );
03997         if ( ! b->yy_ch_buf )
03998                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
03999 
04000         b->yy_is_our_buffer = 1;
04001 
04002         osrl_init_buffer(b,file ,yyscanner);
04003 
04004         return b;
04005 }
04006 
04011     void osrl_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
04012 {
04013     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04014 
04015         if ( ! b )
04016                 return;
04017 
04018         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
04019                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
04020 
04021         if ( b->yy_is_our_buffer )
04022                 osrlfree((void *) b->yy_ch_buf ,yyscanner );
04023 
04024         osrlfree((void *) b ,yyscanner );
04025 }
04026 
04027 #ifndef __cplusplus
04028 extern int isatty (int );
04029 #endif /* __cplusplus */
04030     
04031 /* Initializes or reinitializes a buffer.
04032  * This function is sometimes called more than once on the same buffer,
04033  * such as during a osrlrestart() or at EOF.
04034  */
04035     static void osrl_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
04036 
04037 {
04038         int oerrno = errno;
04039     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04040 
04041         osrl_flush_buffer(b ,yyscanner);
04042 
04043         b->yy_input_file = file;
04044         b->yy_fill_buffer = 1;
04045 
04046     /* If b is the current buffer, then osrl_init_buffer was _probably_
04047      * called from osrlrestart() or through yy_get_next_buffer.
04048      * In that case, we don't want to reset the lineno or column.
04049      */
04050     if (b != YY_CURRENT_BUFFER){
04051         b->yy_bs_lineno = 1;
04052         b->yy_bs_column = 0;
04053     }
04054 
04055         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
04056     
04057         errno = oerrno;
04058 }
04059 
04064     void osrl_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
04065 {
04066     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04067         if ( ! b )
04068                 return;
04069 
04070         b->yy_n_chars = 0;
04071 
04072         /* We always need two end-of-buffer characters.  The first causes
04073          * a transition to the end-of-buffer state.  The second causes
04074          * a jam in that state.
04075          */
04076         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
04077         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
04078 
04079         b->yy_buf_pos = &b->yy_ch_buf[0];
04080 
04081         b->yy_at_bol = 1;
04082         b->yy_buffer_status = YY_BUFFER_NEW;
04083 
04084         if ( b == YY_CURRENT_BUFFER )
04085                 osrl_load_buffer_state(yyscanner );
04086 }
04087 
04094 void osrlpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
04095 {
04096     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04097         if (new_buffer == NULL)
04098                 return;
04099 
04100         osrlensure_buffer_stack(yyscanner);
04101 
04102         /* This block is copied from osrl_switch_to_buffer. */
04103         if ( YY_CURRENT_BUFFER )
04104                 {
04105                 /* Flush out information for old buffer. */
04106                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
04107                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
04108                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
04109                 }
04110 
04111         /* Only push if top exists. Otherwise, replace top. */
04112         if (YY_CURRENT_BUFFER)
04113                 yyg->yy_buffer_stack_top++;
04114         YY_CURRENT_BUFFER_LVALUE = new_buffer;
04115 
04116         /* copied from osrl_switch_to_buffer. */
04117         osrl_load_buffer_state(yyscanner );
04118         yyg->yy_did_buffer_switch_on_eof = 1;
04119 }
04120 
04125 void osrlpop_buffer_state (yyscan_t yyscanner)
04126 {
04127     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04128         if (!YY_CURRENT_BUFFER)
04129                 return;
04130 
04131         osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
04132         YY_CURRENT_BUFFER_LVALUE = NULL;
04133         if (yyg->yy_buffer_stack_top > 0)
04134                 --yyg->yy_buffer_stack_top;
04135 
04136         if (YY_CURRENT_BUFFER) {
04137                 osrl_load_buffer_state(yyscanner );
04138                 yyg->yy_did_buffer_switch_on_eof = 1;
04139         }
04140 }
04141 
04142 /* Allocates the stack if it does not exist.
04143  *  Guarantees space for at least one push.
04144  */
04145 static void osrlensure_buffer_stack (yyscan_t yyscanner)
04146 {
04147         int num_to_alloc;
04148     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04149 
04150         if (!yyg->yy_buffer_stack) {
04151 
04152                 /* First allocation is just for 2 elements, since we don't know if this
04153                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
04154                  * immediate realloc on the next call.
04155          */
04156                 num_to_alloc = 1;
04157                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlalloc
04158                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
04159                                                                 , yyscanner);
04160                 if ( ! yyg->yy_buffer_stack )
04161                         YY_FATAL_ERROR( "out of dynamic memory in osrlensure_buffer_stack()" );
04162                                                                   
04163                 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
04164                                 
04165                 yyg->yy_buffer_stack_max = num_to_alloc;
04166                 yyg->yy_buffer_stack_top = 0;
04167                 return;
04168         }
04169 
04170         if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
04171 
04172                 /* Increase the buffer to prepare for a possible push. */
04173                 int grow_size = 8 /* arbitrary grow size */;
04174 
04175                 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
04176                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlrealloc
04177                                                                 (yyg->yy_buffer_stack,
04178                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
04179                                                                 , yyscanner);
04180                 if ( ! yyg->yy_buffer_stack )
04181                         YY_FATAL_ERROR( "out of dynamic memory in osrlensure_buffer_stack()" );
04182 
04183                 /* zero only the new slots.*/
04184                 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
04185                 yyg->yy_buffer_stack_max = num_to_alloc;
04186         }
04187 }
04188 
04195 YY_BUFFER_STATE osrl_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
04196 {
04197         YY_BUFFER_STATE b;
04198     
04199         if ( size < 2 ||
04200              base[size-2] != YY_END_OF_BUFFER_CHAR ||
04201              base[size-1] != YY_END_OF_BUFFER_CHAR )
04202                 /* They forgot to leave room for the EOB's. */
04203                 return 0;
04204 
04205         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
04206         if ( ! b )
04207                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_buffer()" );
04208 
04209         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
04210         b->yy_buf_pos = b->yy_ch_buf = base;
04211         b->yy_is_our_buffer = 0;
04212         b->yy_input_file = 0;
04213         b->yy_n_chars = b->yy_buf_size;
04214         b->yy_is_interactive = 0;
04215         b->yy_at_bol = 1;
04216         b->yy_fill_buffer = 0;
04217         b->yy_buffer_status = YY_BUFFER_NEW;
04218 
04219         osrl_switch_to_buffer(b ,yyscanner );
04220 
04221         return b;
04222 }
04223 
04232 YY_BUFFER_STATE osrl_scan_string (yyconst char * yystr , yyscan_t yyscanner)
04233 {
04234     
04235         return osrl_scan_bytes(yystr,strlen(yystr) ,yyscanner);
04236 }
04237 
04245 YY_BUFFER_STATE osrl_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
04246 {
04247         YY_BUFFER_STATE b;
04248         char *buf;
04249         yy_size_t n;
04250         int i;
04251     
04252         /* Get memory for full buffer, including space for trailing EOB's. */
04253         n = _yybytes_len + 2;
04254         buf = (char *) osrlalloc(n ,yyscanner );
04255         if ( ! buf )
04256                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_bytes()" );
04257 
04258         for ( i = 0; i < _yybytes_len; ++i )
04259                 buf[i] = yybytes[i];
04260 
04261         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
04262 
04263         b = osrl_scan_buffer(buf,n ,yyscanner);
04264         if ( ! b )
04265                 YY_FATAL_ERROR( "bad buffer in osrl_scan_bytes()" );
04266 
04267         /* It's okay to grow etc. this buffer, and we should throw it
04268          * away when we're done.
04269          */
04270         b->yy_is_our_buffer = 1;
04271 
04272         return b;
04273 }
04274 
04275 #ifndef YY_EXIT_FAILURE
04276 #define YY_EXIT_FAILURE 2
04277 #endif
04278 
04279 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
04280 {
04281         (void) fprintf( stderr, "%s\n", msg );
04282         exit( YY_EXIT_FAILURE );
04283 }
04284 
04285 /* Redefine yyless() so it works in section 3 code. */
04286 
04287 #undef yyless
04288 #define yyless(n) \
04289         do \
04290                 { \
04291                 /* Undo effects of setting up yytext. */ \
04292         int yyless_macro_arg = (n); \
04293         YY_LESS_LINENO(yyless_macro_arg);\
04294                 yytext[yyleng] = yyg->yy_hold_char; \
04295                 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
04296                 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
04297                 *yyg->yy_c_buf_p = '\0'; \
04298                 yyleng = yyless_macro_arg; \
04299                 } \
04300         while ( 0 )
04301 
04302 /* Accessor  methods (get/set functions) to struct members. */
04303 
04307 YY_EXTRA_TYPE osrlget_extra  (yyscan_t yyscanner)
04308 {
04309     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04310     return yyextra;
04311 }
04312 
04316 int osrlget_lineno  (yyscan_t yyscanner)
04317 {
04318     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04319     
04320         if (! YY_CURRENT_BUFFER)
04321             return 0;
04322     
04323     return yylineno;
04324 }
04325 
04329 int osrlget_column  (yyscan_t yyscanner)
04330 {
04331     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04332     
04333         if (! YY_CURRENT_BUFFER)
04334             return 0;
04335     
04336     return yycolumn;
04337 }
04338 
04342 FILE *osrlget_in  (yyscan_t yyscanner)
04343 {
04344     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04345     return yyin;
04346 }
04347 
04351 FILE *osrlget_out  (yyscan_t yyscanner)
04352 {
04353     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04354     return yyout;
04355 }
04356 
04360 int osrlget_leng  (yyscan_t yyscanner)
04361 {
04362     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04363     return yyleng;
04364 }
04365 
04370 char *osrlget_text  (yyscan_t yyscanner)
04371 {
04372     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04373     return yytext;
04374 }
04375 
04380 void osrlset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
04381 {
04382     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04383     yyextra = user_defined ;
04384 }
04385 
04390 void osrlset_lineno (int  line_number , yyscan_t yyscanner)
04391 {
04392     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04393 
04394         /* lineno is only valid if an input buffer exists. */
04395         if (! YY_CURRENT_BUFFER )
04396            yy_fatal_error( "osrlset_lineno called with no buffer" , yyscanner); 
04397     
04398     yylineno = line_number;
04399 }
04400 
04405 void osrlset_column (int  column_no , yyscan_t yyscanner)
04406 {
04407     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04408 
04409         /* column is only valid if an input buffer exists. */
04410         if (! YY_CURRENT_BUFFER )
04411            yy_fatal_error( "osrlset_column called with no buffer" , yyscanner); 
04412     
04413     yycolumn = column_no;
04414 }
04415 
04422 void osrlset_in (FILE *  in_str , yyscan_t yyscanner)
04423 {
04424     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04425     yyin = in_str ;
04426 }
04427 
04428 void osrlset_out (FILE *  out_str , yyscan_t yyscanner)
04429 {
04430     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04431     yyout = out_str ;
04432 }
04433 
04434 int osrlget_debug  (yyscan_t yyscanner)
04435 {
04436     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04437     return yy_flex_debug;
04438 }
04439 
04440 void osrlset_debug (int  bdebug , yyscan_t yyscanner)
04441 {
04442     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04443     yy_flex_debug = bdebug ;
04444 }
04445 
04446 /* Accessor methods for yylval and yylloc */
04447 
04448 YYSTYPE * osrlget_lval  (yyscan_t yyscanner)
04449 {
04450     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04451     return yylval;
04452 }
04453 
04454 void osrlset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
04455 {
04456     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04457     yylval = yylval_param;
04458 }
04459 
04460 YYLTYPE *osrlget_lloc  (yyscan_t yyscanner)
04461 {
04462     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04463     return yylloc;
04464 }
04465     
04466 void osrlset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
04467 {
04468     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04469     yylloc = yylloc_param;
04470 }
04471     
04472 /* User-visible API */
04473 
04474 /* osrllex_init is special because it creates the scanner itself, so it is
04475  * the ONLY reentrant function that doesn't take the scanner as the last argument.
04476  * That's why we explicitly handle the declaration, instead of using our macros.
04477  */
04478 
04479 int osrllex_init(yyscan_t* ptr_yy_globals)
04480 
04481 {
04482     if (ptr_yy_globals == NULL){
04483         errno = EINVAL;
04484         return 1;
04485     }
04486 
04487     *ptr_yy_globals = (yyscan_t) osrlalloc ( sizeof( struct yyguts_t ), NULL );
04488 
04489     if (*ptr_yy_globals == NULL){
04490         errno = ENOMEM;
04491         return 1;
04492     }
04493 
04494     /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
04495     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
04496 
04497     return yy_init_globals ( *ptr_yy_globals );
04498 }
04499 
04500 /* osrllex_init_extra has the same functionality as osrllex_init, but follows the
04501  * convention of taking the scanner as the last argument. Note however, that
04502  * this is a *pointer* to a scanner, as it will be allocated by this call (and
04503  * is the reason, too, why this function also must handle its own declaration).
04504  * The user defined value in the first argument will be available to osrlalloc in
04505  * the yyextra field.
04506  */
04507 
04508 int osrllex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
04509 
04510 {
04511     struct yyguts_t dummy_yyguts;
04512 
04513     osrlset_extra (yy_user_defined, &dummy_yyguts);
04514 
04515     if (ptr_yy_globals == NULL){
04516         errno = EINVAL;
04517         return 1;
04518     }
04519         
04520     *ptr_yy_globals = (yyscan_t) osrlalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
04521         
04522     if (*ptr_yy_globals == NULL){
04523         errno = ENOMEM;
04524         return 1;
04525     }
04526     
04527     /* By setting to 0xAA, we expose bugs in
04528     yy_init_globals. Leave at 0x00 for releases. */
04529     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
04530     
04531     osrlset_extra (yy_user_defined, *ptr_yy_globals);
04532     
04533     return yy_init_globals ( *ptr_yy_globals );
04534 }
04535 
04536 static int yy_init_globals (yyscan_t yyscanner)
04537 {
04538     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04539     /* Initialization is the same as for the non-reentrant scanner.
04540      * This function is called from osrllex_destroy(), so don't allocate here.
04541      */
04542 
04543     yyg->yy_buffer_stack = 0;
04544     yyg->yy_buffer_stack_top = 0;
04545     yyg->yy_buffer_stack_max = 0;
04546     yyg->yy_c_buf_p = (char *) 0;
04547     yyg->yy_init = 0;
04548     yyg->yy_start = 0;
04549 
04550     yyg->yy_start_stack_ptr = 0;
04551     yyg->yy_start_stack_depth = 0;
04552     yyg->yy_start_stack =  NULL;
04553 
04554 /* Defined in main.c */
04555 #ifdef YY_STDINIT
04556     yyin = stdin;
04557     yyout = stdout;
04558 #else
04559     yyin = (FILE *) 0;
04560     yyout = (FILE *) 0;
04561 #endif
04562 
04563     /* For future reference: Set errno on error, since we are called by
04564      * osrllex_init()
04565      */
04566     return 0;
04567 }
04568 
04569 /* osrllex_destroy is for both reentrant and non-reentrant scanners. */
04570 int osrllex_destroy  (yyscan_t yyscanner)
04571 {
04572     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
04573 
04574     /* Pop the buffer stack, destroying each element. */
04575         while(YY_CURRENT_BUFFER){
04576                 osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
04577                 YY_CURRENT_BUFFER_LVALUE = NULL;
04578                 osrlpop_buffer_state(yyscanner);
04579         }
04580 
04581         /* Destroy the stack itself. */
04582         osrlfree(yyg->yy_buffer_stack ,yyscanner);
04583         yyg->yy_buffer_stack = NULL;
04584 
04585     /* Destroy the start condition stack. */
04586         osrlfree(yyg->yy_start_stack ,yyscanner );
04587         yyg->yy_start_stack = NULL;
04588 
04589     /* Reset the globals. This is important in a non-reentrant scanner so the next time
04590      * osrllex() is called, initialization will occur. */
04591     yy_init_globals( yyscanner);
04592 
04593     /* Destroy the main struct (reentrant only). */
04594     osrlfree ( yyscanner , yyscanner );
04595     yyscanner = NULL;
04596     return 0;
04597 }
04598 
04599 /*
04600  * Internal utility routines.
04601  */
04602 
04603 #ifndef yytext_ptr
04604 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
04605 {
04606         register int i;
04607         for ( i = 0; i < n; ++i )
04608                 s1[i] = s2[i];
04609 }
04610 #endif
04611 
04612 #ifdef YY_NEED_STRLEN
04613 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
04614 {
04615         register int n;
04616         for ( n = 0; s[n]; ++n )
04617                 ;
04618 
04619         return n;
04620 }
04621 #endif
04622 
04623 void *osrlalloc (yy_size_t  size , yyscan_t yyscanner)
04624 {
04625         return (void *) malloc( size );
04626 }
04627 
04628 void *osrlrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
04629 {
04630         /* The cast to (char *) in the following accommodates both
04631          * implementations that use char* generic pointers, and those
04632          * that use void* generic pointers.  It works with the latter
04633          * because both ANSI C and C++ allow castless assignment from
04634          * any pointer type to void*, and deal with argument conversions
04635          * as though doing an assignment.
04636          */
04637         return (void *) realloc( (char *) ptr, size );
04638 }
04639 
04640 void osrlfree (void * ptr , yyscan_t yyscanner)
04641 {
04642         free( (char *) ptr );   /* see osrlrealloc() for (char *) cast */
04643 }
04644 
04645 #define YYTABLES_NAME "yytables"
04646 
04647 #line 390 "/Users/kmartin/coin/os-nov6/OS/src/OSParsers/OSParseosrl.l"
04648 
04649 
04650 
04651 
04652 

Generated on Sun Jan 2 03:04:45 2011 by  doxygen 1.4.7