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

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

Generated on Thu Aug 5 03:03:00 2010 by  doxygen 1.4.7