/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.cpp

Go to the documentation of this file.
00001 #line 2 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.cpp"
00002 
00003 #line 4 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/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 33
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 __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 #endif /* ! C99 */
00058 
00059 /* Limits of integral types. */
00060 #ifndef INT8_MIN
00061 #define INT8_MIN               (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN              (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN              (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX               (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX              (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX              (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX              (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX             (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX             (4294967295U)
00086 #endif
00087 
00088 #endif /* ! FLEXINT_H */
00089 
00090 #ifdef __cplusplus
00091 
00092 /* The "const" storage-class-modifier is valid. */
00093 #define YY_USE_CONST
00094 
00095 #else   /* ! __cplusplus */
00096 
00097 #if __STDC__
00098 
00099 #define YY_USE_CONST
00100 
00101 #endif  /* __STDC__ */
00102 #endif  /* ! __cplusplus */
00103 
00104 #ifdef YY_USE_CONST
00105 #define yyconst const
00106 #else
00107 #define yyconst
00108 #endif
00109 
00110 /* Returned upon end-of-file. */
00111 #define YY_NULL 0
00112 
00113 /* Promotes a possibly negative, possibly signed char to an unsigned
00114  * integer for use as an array index.  If the signed char is negative,
00115  * we want to instead treat it as an 8-bit unsigned char, hence the
00116  * double cast.
00117  */
00118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00119 
00120 /* An opaque pointer. */
00121 #ifndef YY_TYPEDEF_YY_SCANNER_T
00122 #define YY_TYPEDEF_YY_SCANNER_T
00123 typedef void* yyscan_t;
00124 #endif
00125 
00126 /* For convenience, these vars (plus the bison vars far below)
00127    are macros in the reentrant scanner. */
00128 #define yyin yyg->yyin_r
00129 #define yyout yyg->yyout_r
00130 #define yyextra yyg->yyextra_r
00131 #define yyleng yyg->yyleng_r
00132 #define yytext yyg->yytext_r
00133 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00134 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00135 #define yy_flex_debug yyg->yy_flex_debug_r
00136 
00137 int osrllex_init (yyscan_t* scanner);
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 #define YY_BUF_SIZE 16384
00163 #endif
00164 
00165 /* The state buf must be large enough to hold one state per character in the main buffer.
00166  */
00167 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00168 
00169 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00170 #define YY_TYPEDEF_YY_BUFFER_STATE
00171 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00172 #endif
00173 
00174 #define EOB_ACT_CONTINUE_SCAN 0
00175 #define EOB_ACT_END_OF_FILE 1
00176 #define EOB_ACT_LAST_MATCH 2
00177 
00178     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
00179      *       access to the local variable yy_act. Since yyless() is a macro, it would break
00180      *       existing scanners that call yyless() from OUTSIDE osrllex. 
00181      *       One obvious solution it to make yy_act a global. I tried that, and saw
00182      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
00183      *       normally declared as a register variable-- so it is not worth it.
00184      */
00185     #define  YY_LESS_LINENO(n) \
00186             do { \
00187                 int yyl;\
00188                 for ( yyl = n; yyl < yyleng; ++yyl )\
00189                     if ( yytext[yyl] == '\n' )\
00190                         --yylineno;\
00191             }while(0)
00192     
00193 /* Return all but the first "n" matched characters back to the input stream. */
00194 #define yyless(n) \
00195         do \
00196                 { \
00197                 /* Undo effects of setting up yytext. */ \
00198         int yyless_macro_arg = (n); \
00199         YY_LESS_LINENO(yyless_macro_arg);\
00200                 *yy_cp = yyg->yy_hold_char; \
00201                 YY_RESTORE_YY_MORE_OFFSET \
00202                 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00203                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00204                 } \
00205         while ( 0 )
00206 
00207 #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
00208 
00209 /* The following is because we cannot portably get our hands on size_t
00210  * (without autoconf's help, which isn't available because we want
00211  * flex-generated scanners to compile on their own).
00212  */
00213 
00214 #ifndef YY_TYPEDEF_YY_SIZE_T
00215 #define YY_TYPEDEF_YY_SIZE_T
00216 typedef unsigned int yy_size_t;
00217 #endif
00218 
00219 #ifndef YY_STRUCT_YY_BUFFER_STATE
00220 #define YY_STRUCT_YY_BUFFER_STATE
00221 struct yy_buffer_state
00222         {
00223         FILE *yy_input_file;
00224 
00225         char *yy_ch_buf;                /* input buffer */
00226         char *yy_buf_pos;               /* current position in input buffer */
00227 
00228         /* Size of input buffer in bytes, not including room for EOB
00229          * characters.
00230          */
00231         yy_size_t yy_buf_size;
00232 
00233         /* Number of characters read into yy_ch_buf, not including EOB
00234          * characters.
00235          */
00236         int yy_n_chars;
00237 
00238         /* Whether we "own" the buffer - i.e., we know we created it,
00239          * and can realloc() it to grow it, and should free() it to
00240          * delete it.
00241          */
00242         int yy_is_our_buffer;
00243 
00244         /* Whether this is an "interactive" input source; if so, and
00245          * if we're using stdio for input, then we want to use getc()
00246          * instead of fread(), to make sure we stop fetching input after
00247          * each newline.
00248          */
00249         int yy_is_interactive;
00250 
00251         /* Whether we're considered to be at the beginning of a line.
00252          * If so, '^' rules will be active on the next match, otherwise
00253          * not.
00254          */
00255         int yy_at_bol;
00256 
00257     int yy_bs_lineno; 
00258     int yy_bs_column; 
00260         /* Whether to try to fill the input buffer when we reach the
00261          * end of it.
00262          */
00263         int yy_fill_buffer;
00264 
00265         int yy_buffer_status;
00266 
00267 #define YY_BUFFER_NEW 0
00268 #define YY_BUFFER_NORMAL 1
00269         /* When an EOF's been seen but there's still some text to process
00270          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00271          * shouldn't try reading from the input source any more.  We might
00272          * still have a bunch of tokens to match, though, because of
00273          * possible backing-up.
00274          *
00275          * When we actually see the EOF, we change the status to "new"
00276          * (via osrlrestart()), so that the user can continue scanning by
00277          * just pointing yyin at a new input file.
00278          */
00279 #define YY_BUFFER_EOF_PENDING 2
00280 
00281         };
00282 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00283 
00284 /* We provide macros for accessing buffer states in case in the
00285  * future we want to put the buffer states in a more general
00286  * "scanner state".
00287  *
00288  * Returns the top of the stack, or NULL.
00289  */
00290 #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
00291                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
00292                           : NULL)
00293 
00294 /* Same as previous macro, but useful when we know that the buffer stack is not
00295  * NULL or when we need an lvalue. For internal use only.
00296  */
00297 #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
00298 
00299 void osrlrestart (FILE *input_file ,yyscan_t yyscanner );
00300 void osrl_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00301 YY_BUFFER_STATE osrl_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00302 void osrl_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00303 void osrl_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00304 void osrlpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00305 void osrlpop_buffer_state (yyscan_t yyscanner );
00306 
00307 static void osrlensure_buffer_stack (yyscan_t yyscanner );
00308 static void osrl_load_buffer_state (yyscan_t yyscanner );
00309 static void osrl_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
00310 
00311 #define YY_FLUSH_BUFFER osrl_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
00312 
00313 YY_BUFFER_STATE osrl_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00314 YY_BUFFER_STATE osrl_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00315 YY_BUFFER_STATE osrl_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00316 
00317 void *osrlalloc (yy_size_t ,yyscan_t yyscanner );
00318 void *osrlrealloc (void *,yy_size_t ,yyscan_t yyscanner );
00319 void osrlfree (void * ,yyscan_t yyscanner );
00320 
00321 #define yy_new_buffer osrl_create_buffer
00322 
00323 #define yy_set_interactive(is_interactive) \
00324         { \
00325         if ( ! YY_CURRENT_BUFFER ){ \
00326         osrlensure_buffer_stack (yyscanner); \
00327                 YY_CURRENT_BUFFER_LVALUE =    \
00328             osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00329         } \
00330         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00331         }
00332 
00333 #define yy_set_bol(at_bol) \
00334         { \
00335         if ( ! YY_CURRENT_BUFFER ){\
00336         osrlensure_buffer_stack (yyscanner); \
00337                 YY_CURRENT_BUFFER_LVALUE =    \
00338             osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
00339         } \
00340         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00341         }
00342 
00343 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00344 
00345 /* Begin user sect3 */
00346 
00347 #define osrlwrap(n) 1
00348 #define YY_SKIP_YYWRAP
00349 
00350 typedef unsigned char YY_CHAR;
00351 
00352 typedef int yy_state_type;
00353 
00354 #define yytext_ptr yytext_r
00355 
00356 static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
00357 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  ,yyscan_t yyscanner);
00358 static int yy_get_next_buffer (yyscan_t yyscanner );
00359 static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
00360 
00361 /* Done after the current pattern has been matched and before the
00362  * corresponding action - sets up yytext.
00363  */
00364 #define YY_DO_BEFORE_ACTION \
00365         yyg->yytext_ptr = yy_bp; \
00366         yyleng = (size_t) (yy_cp - yy_bp); \
00367         yyg->yy_hold_char = *yy_cp; \
00368         *yy_cp = '\0'; \
00369         yyg->yy_c_buf_p = yy_cp;
00370 
00371 #define YY_NUM_RULES 81
00372 #define YY_END_OF_BUFFER 82
00373 /* This struct is not used in this scanner,
00374    but its presence is necessary. */
00375 struct yy_trans_info
00376         {
00377         flex_int32_t yy_verify;
00378         flex_int32_t yy_nxt;
00379         };
00380 static yyconst flex_int16_t yy_accept[719] =
00381     {   0,
00382         1,    1,    0,    0,   79,   79,    0,    0,    0,    0,
00383        82,   80,    1,    1,    2,   69,   80,   69,   80,    4,
00384        80,    3,   69,   78,   81,   79,   71,   72,   71,   75,
00385        76,   75,    1,    0,    0,    3,    0,    0,    0,    0,
00386         0,    1,   69,   69,   69,   69,   69,   69,    0,    4,
00387         0,    5,    6,   69,    4,   69,    0,    0,   74,    0,
00388         0,    0,    0,    0,    0,    0,    0,    0,    0,   69,
00389        78,   79,    0,   77,    0,    0,    0,    0,    0,    0,
00390         0,    0,    0,    0,    0,   69,   69,   69,   69,   69,
00391        69,    5,    0,    0,    0,    5,    0,    0,    0,    0,
00392 
00393         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00394         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00395         0,    0,    5,   73,    0,    0,    0,    0,    0,    0,
00396         0,    0,    0,    0,    0,   69,   69,   69,   69,   69,
00397        69,    5,    5,   70,    0,    0,    0,    0,    0,    0,
00398         0,    0,    0,    0,    0,    0,    0,    0,    0,   48,
00399         0,    0,    0,    0,    0,   44,    0,    0,    0,    0,
00400         0,    0,    0,    0,   40,    0,    0,    0,    0,    0,
00401         0,    0,    0,    0,    0,    0,    0,   69,   69,   69,
00402        69,   69,   69,    0,    0,    0,    0,    0,    0,    0,
00403 
00404         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00405         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00406         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00407         0,    0,   59,    0,    0,    0,    0,    0,    0,   69,
00408        69,   69,   69,   69,    0,   50,    0,    0,    0,    0,
00409         0,    0,    0,   46,    0,    0,    0,    0,    0,    0,
00410         0,    0,    0,    0,   42,    0,    0,    0,    0,    0,
00411         0,    0,    0,    0,    7,   52,    0,    0,    0,    0,
00412         0,    0,    0,    0,    0,    0,    0,    0,   59,    0,
00413        62,    0,    0,    0,   60,   69,   69,   69,   50,    0,
00414 
00415         0,    0,    0,    0,    0,   46,    0,    0,    0,    8,
00416         0,    0,    0,    0,    0,    0,   42,    0,    0,    0,
00417         0,    0,    0,    0,   20,    0,    0,    0,    0,    0,
00418         0,   34,   36,    0,    0,    0,    0,    0,    0,    0,
00419        62,    0,    0,   60,   69,   69,   69,    0,    0,    0,
00420         0,    0,   22,    0,    0,    0,    8,    0,   53,    0,
00421         0,    0,    0,    0,    0,    0,    0,    0,    0,   66,
00422        20,   21,    0,    0,    0,    0,    0,    0,    0,    0,
00423         0,    0,    0,    0,    0,    0,    0,   69,   69,   69,
00424         0,    0,    0,    0,   22,    0,    0,    0,   53,    0,
00425 
00426         0,    0,    0,    0,   35,    0,   37,    0,    0,    0,
00427         0,    0,    0,    0,   23,    0,    0,    0,    0,    0,
00428         0,   32,    0,    0,    0,    0,    0,    0,    0,    0,
00429         0,    0,    0,    0,   69,   69,   69,   69,   69,   69,
00430         0,    0,    0,    0,    0,   25,    0,    0,    0,    0,
00431         0,    0,    0,   35,   37,    0,    0,    0,    0,    0,
00432        67,   23,   24,    0,    0,    0,    0,    0,    0,   41,
00433         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00434        69,   69,   69,   69,   69,   69,    0,    0,    0,    0,
00435        25,    0,    0,    0,    0,    0,    0,    0,   33,    0,
00436 
00437         0,   38,    0,    0,   45,    0,    0,    0,    0,    0,
00438         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00439        69,   69,   69,   69,   69,   69,    0,    0,    0,    0,
00440         0,    0,    0,    0,    0,    0,   33,    0,   43,   49,
00441         0,    0,    0,    0,    0,   28,    0,    0,    0,    0,
00442        11,    0,    0,    0,    0,    0,    0,    0,    0,    0,
00443         0,    0,   69,   69,   69,   69,   69,   69,    0,    0,
00444        39,    0,    0,    0,   47,    0,    0,   29,    0,    0,
00445         0,   13,   43,    0,    0,   30,   68,   28,    0,    0,
00446         0,   14,   63,   11,   12,    0,    0,    0,   61,    0,
00447 
00448         0,    0,    0,    0,    0,   69,   69,   69,   69,   69,
00449         0,   51,   39,    0,    0,   47,    0,   29,    0,    0,
00450        16,   13,   26,    0,    0,   17,    0,    9,   64,   14,
00451        15,    0,   61,    0,    0,    0,    0,    0,   58,   69,
00452        69,   69,   69,   51,    0,    0,   19,    0,   31,    0,
00453        10,   16,   65,   17,   18,    9,    0,    0,    0,    0,
00454        58,   69,   69,   69,   69,    0,   27,   19,   31,   10,
00455         0,    0,    0,    0,   69,   69,   69,   69,   27,    0,
00456         0,    0,    0,   69,   69,   69,   69,    0,    0,    0,
00457         0,    0,    0,   69,   69,   69,   69,    0,    0,    0,
00458 
00459         0,   54,    0,   55,   69,   69,    0,    0,    0,   57,
00460        54,   55,   69,    0,   56,   57,   56,    0
00461     } ;
00462 
00463 static yyconst flex_int32_t yy_ec[256] =
00464     {   0,
00465         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00466         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
00467         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00468         1,    4,    5,    6,    7,    7,    1,    1,    8,    1,
00469         1,    7,    9,    1,   10,   11,   12,   13,   13,   13,
00470        13,   13,   13,   13,   13,   13,   13,    7,    1,   14,
00471        15,   16,   17,    7,    7,    7,   18,   19,   20,   21,
00472         7,   22,   23,    7,    7,    7,    7,   24,   25,    7,
00473         7,   26,   27,    7,   28,   29,    7,    7,    1,    1,
00474         1,    1,    1,    1,    7,    1,   30,   31,   32,   33,
00475 
00476        34,   35,   36,   37,   38,   39,    7,   40,   41,   42,
00477        43,   44,    7,   45,   46,   47,   48,   49,    7,   50,
00478        51,   52,    1,    1,    1,    1,    1,    1,    1,    1,
00479         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00480         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00481         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00482         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00483         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00484         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00485         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00486 
00487         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00488         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00489         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00490         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00491         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00492         1,    1,    1,    1,    1
00493     } ;
00494 
00495 static yyconst flex_int32_t yy_meta[53] =
00496     {   0,
00497         1,    2,    2,    2,    1,    3,    2,    3,    1,    1,
00498         2,    2,    2,    2,    1,    4,    1,    2,    2,    2,
00499         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00500         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00501         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00502         2,    2
00503     } ;
00504 
00505 static yyconst flex_int16_t yy_base[727] =
00506     {   0,
00507         0,   23,   12,   13, 1750, 1749,   38,   39,   27,   40,
00508      1764, 1767,   56,  102, 1767,   49,   39,   62, 1747,  148,
00509       178, 1767,   67,    0, 1767,    0, 1767, 1767, 1752, 1767,
00510      1767, 1745,    0, 1744,  216, 1767, 1725, 1725,   23, 1726,
00511      1705,  264,   95,   97,  108,  109,  135,  143, 1742,  113,
00512      1730,   34, 1767,  154,    0,  188, 1743,  280, 1767, 1709,
00513      1703, 1716, 1707, 1705, 1713,   46, 1712,   39, 1715,  159,
00514         0,    0, 1728, 1767, 1701, 1699, 1707, 1706,   53, 1693,
00515      1688, 1696, 1695, 1696, 1690,  192,  219,  222,  230,  259,
00516       270,  117,   75, 1712, 1719,  262, 1721, 1687, 1681, 1694,
00517 
00518      1685, 1683, 1691,  140, 1690,   89, 1693, 1680, 1691, 1678,
00519      1673, 1687, 1671, 1677, 1668, 1669, 1676, 1666, 1666, 1670,
00520      1679,  113,  274, 1767, 1662, 1676, 1660, 1659, 1659, 1671,
00521        52, 1668, 1670, 1666, 1665,  290,  328,  275,  325,  326,
00522       337, 1685, 1767, 1767, 1655, 1666, 1653, 1648, 1662, 1646,
00523      1652, 1643, 1640, 1644, 1601, 1599, 1602, 1595,  133, 1572,
00524      1576, 1572, 1554, 1576, 1552, 1560, 1555, 1545, 1549, 1530,
00525      1522, 1521, 1514, 1509, 1517, 1506, 1529, 1496, 1489, 1486,
00526      1489,  243,  359,  349, 1496, 1497,  366,  362,  374,  389,
00527       374,  386,  407,  410, 1483, 1484, 1454, 1476, 1447,  413,
00528 
00529      1446, 1443, 1440, 1425, 1417, 1416, 1412, 1404,  428, 1404,
00530      1419, 1402, 1414, 1421, 1404, 1401, 1389,  331, 1374, 1370,
00531      1371, 1360, 1348, 1360, 1362, 1359, 1339, 1326, 1310, 1311,
00532      1305,  431,  438,  446,  449, 1287, 1283,  456,  461,  460,
00533       475,  468,  190,  490,  493,  497, 1278, 1294, 1276, 1282,
00534      1291, 1273,  508,  512, 1269, 1247,  515, 1233, 1227, 1228,
00535      1214, 1212, 1218,  518,  523, 1221, 1201, 1215, 1201, 1185,
00536       526, 1179, 1161, 1168,  533, 1767, 1157, 1163, 1153, 1144,
00537      1140, 1153, 1129,  537, 1134, 1121, 1134, 1120,  541,  544,
00538       552, 1128, 1108,  555,  562,  558,  565,  566,  581, 1100,
00539 
00540      1106, 1095, 1082,  584, 1083,  589, 1071, 1072,  592,  595,
00541       603, 1062, 1069, 1062, 1049, 1040,  607, 1054, 1050, 1029,
00542      1026, 1032,  610, 1046,  613, 1027, 1019, 1003,   93, 1014,
00543      1001, 1767, 1767, 1000, 1004,  621,  995,  196,  988,  970,
00544       626,  981,  958,  629,  632,  633,  638,  972,  956,  955,
00545       929,  639,  654,  923,  918,  901,  657,  660,  663,  212,
00546       918,  896,  667,  670,  886,  885,  873,  891,  869, 1767,
00547       678, 1767,  686,  853,  869,  863,  851,  110,  834,  841,
00548       833,  689,  830,  157,  819,  544,  807,  683,  720,  683,
00549       800,  789,  808,  800,  704,  707,  777,  791,  710,  786,
00550 
00551       781,  172,  762,  723,  716,  726,  748,  767,  754,  747,
00552       731,  745,  751,  750,  754,  731,  701,  699,  714,  713,
00553       715, 1767,  694,  713,  757,  688,  703,  705,  681,  673,
00554       684,  661,  671,  677,  751,  759,  764,  763,  769,  794,
00555       642,  644,  630,  651,  784,  788,  619,  604,  592,  608,
00556       606,  595,  806,  809,  816,  574,  571,  557,  571,  559,
00557      1767,  821, 1767,  530,  537,  521,  516,  492,  509, 1767,
00558       493,  478,  466,  480,  446,  444,  446,  443,  436,  442,
00559       816,  819,  820,  831,  832,  835,  426,  422,  424,  416,
00560       860,  399,  405,  408,  403,  387,  404,  870,  876,  879,
00561 
00562       379, 1767,  377,  361, 1767,  357,  885,  364,  361,  888,
00563       343,  903,  349,  906,  909,  334,  345,  326,  334,  316,
00564       913,  918,  836,  920,  924,  925,  312,  939,  308,  313,
00565       944,  306,  947,  313,  307,  963,  967,  970,  974, 1767,
00566       280,  293,  278,  978,  301,  981,  270,  985,  996,  289,
00567       989,  266, 1002, 1007, 1011, 1017, 1022,  252,  260,  244,
00568       259, 1031, 1035, 1029,  882, 1040, 1051, 1056, 1075, 1080,
00569      1071,  236,  243, 1086, 1090,  232, 1095, 1101,  215, 1104,
00570      1110, 1113, 1119,  205, 1125, 1767, 1767, 1128, 1131, 1136,
00571       228, 1140, 1767, 1147, 1767, 1153, 1156, 1159, 1171,  195,
00572 
00573       189,  191,  194, 1174, 1177, 1180, 1185, 1186, 1191, 1214,
00574      1207, 1210, 1217,  174, 1231, 1234, 1237, 1240, 1246, 1252,
00575      1255, 1261, 1767, 1267,  197, 1270, 1273, 1278, 1767, 1283,
00576      1767, 1288, 1291,  179,  169,  148,  149, 1294, 1303, 1297,
00577      1306, 1312, 1317, 1313, 1332, 1335, 1338, 1343, 1350, 1358,
00578      1361, 1364, 1767, 1367, 1767, 1373,  138,  126,  110,   93,
00579      1376, 1370, 1371, 1379, 1377, 1396, 1399, 1402, 1411, 1414,
00580        83,   79,   56,   55, 1411, 1412, 1415, 1416, 1435,   48,
00581        34, 1439, 1453, 1447, 1452, 1473, 1488,   20, 1467, 1493,
00582      1503, 1510, 1513, 1508, 1524, 1529, 1544, 1547, 1561, 1564,
00583 
00584      1571, 1476, 1578, 1585, 1588, 1593, 1608, 1611, 1618, 1625,
00585      1628, 1631, 1634, 1637, 1649, 1652, 1655, 1767, 1659, 1663,
00586      1667, 1671, 1675, 1678, 1682, 1686
00587     } ;
00588 
00589 static yyconst flex_int16_t yy_def[727] =
00590     {   0,
00591       719,  719,  720,  720,  721,  721,  722,  722,  723,  723,
00592       718,  718,  718,  724,  718,  724,  718,  724,  718,  724,
00593       718,  718,  724,  725,  718,  726,  718,  718,  718,  718,
00594       718,  718,   13,  718,  718,  718,  718,  718,  718,  718,
00595       718,  724,  724,   20,   20,   20,   20,   20,  718,  718,
00596       718,   20,  718,   20,   20,   20,  718,  718,  718,  718,
00597       718,  718,  718,  718,  718,  718,  718,  718,  718,   20,
00598       725,  726,  718,  718,  718,  718,  718,  718,  718,  718,
00599       718,  718,  718,  718,  718,   20,   20,   20,   20,   20,
00600        20,  718,  718,  718,  718,   20,  718,  718,  718,  718,
00601 
00602       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00603       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00604       718,  718,   20,  718,  718,  718,  718,  718,  718,  718,
00605       718,  718,  718,  718,  718,   20,  724,   20,   20,   20,
00606        20,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00607       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00608       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00609       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00610       718,  718,  718,  718,  718,  718,  718,   20,  724,  724,
00611        20,   20,  724,  718,  718,  718,  718,  718,  718,  718,
00612 
00613       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00614       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00615       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00616       718,  718,  718,  718,  718,  718,  718,  718,  718,  724,
00617       724,  724,  724,  724,  718,  718,  718,  718,  718,  718,
00618       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00619       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00620       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00621       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00622       718,  718,  718,  718,  718,  724,  724,  724,  718,  718,
00623 
00624       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00625       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00626       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00627       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00628       718,  718,  718,  718,  724,  724,  724,  718,  718,  718,
00629       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00630       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00631       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00632       718,  718,  718,  718,  718,  718,  718,  724,  724,   20,
00633       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00634 
00635       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00636       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00637       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00638       718,  718,  718,  718,   20,   20,   20,   20,   20,   20,
00639       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00640       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00641       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00642       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00643        20,   20,   20,   20,   20,   20,  718,  718,  718,  718,
00644       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00645 
00646       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00647       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00648       724,  724,   20,   20,   20,   20,  718,  718,  718,  718,
00649       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00650       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00651       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00652       718,  718,  724,  724,  724,  724,  724,  724,  718,  718,
00653       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00654       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00655       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00656 
00657       718,  718,  718,  718,  718,  724,  724,  724,  724,  724,
00658       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00659       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00660       718,  718,  718,  718,  718,  718,  718,  718,  718,  724,
00661       724,  724,  724,  718,  718,  718,  718,  718,  718,  718,
00662       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00663       718,  724,  724,  724,   20,  718,  718,  718,  718,  718,
00664       718,  718,  718,  718,   20,   20,   20,   20,  718,  718,
00665       718,  718,  718,   20,   20,  724,  724,  718,  718,  718,
00666       718,  718,  718,  724,  724,  724,  724,  718,  718,  718,
00667 
00668       718,  718,  718,  718,  724,  724,  718,  718,  718,  718,
00669       718,  718,  724,  718,  718,  718,  718,    0,  718,  718,
00670       718,  718,  718,  718,  718,  718
00671     } ;
00672 
00673 static yyconst flex_int16_t yy_nxt[1820] =
00674     {   0,
00675        12,   13,   14,   14,   12,   15,  718,   15,   12,   17,
00676        18,   19,   20,   21,   12,   22,   12,   25,   25,   25,
00677        25,  718,   23,   12,   13,   14,   14,   12,   15,   31,
00678        15,   12,   17,   18,   19,   20,   21,   12,   22,   12,
00679        28,   28,   31,   32,   43,   23,   52,   29,   29,   49,
00680       718,   50,   82,  182,  182,  182,   32,   33,   33,   33,
00681       718,   51,  718,  718,  718,  698,  183,   34,  718,   35,
00682        83,   36,  119,  718,   52,  718,  114,  718,  718,  689,
00683       718,  120,  718,   95,   95,  121,  129,  142,   37,  115,
00684        70,  116,  117,   38,  688,  120,  718,   39,   40,  121,
00685 
00686       683,  682,   41,   33,   42,   42,  718,   43,  718,   43,
00687       718,  376,  681,   34,  377,   35,   43,   36,   43,   43,
00688        43,   43,  156,   49,  680,   50,  674,   43,   43,   92,
00689        86,  157,   93,  420,   44,  158,   93,  421,   88,   45,
00690        87,   43,   43,   46,   47,   43,   93,   43,   48,  718,
00691        93,  673,  174,   43,   43,   43,   89,  175,   54,  718,
00692        55,  718,   43,  718,   43,   90,   52,   56,   43,   43,
00693       151,   43,  208,   43,  672,  671,   43,  209,   43,  123,
00694       427,   56,   57,  152,  428,  153,  154,   43,  660,   58,
00695       659,  718,   43,   91,   59,  451,   95,   95,   43,  452,
00696 
00697        96,  718,   43,  718,   43,  718,  658,   43,  657,   60,
00698        61,   43,  653,   62,  383,   63,   64,  377,   65,  645,
00699        66,   43,   67,   68,  637,   43,   69,   58,  636,   43,
00700       400,   43,   43,  401,   43,  635,  298,  136,   43,  634,
00701        43,   43,   43,  629,  182,  182,  182,   60,   61,   43,
00702       623,   62,   43,   75,   76,   43,   77,  183,   66,  619,
00703        78,   79,  138,   43,   69,   33,   42,   42,  137,   43,
00704       139,   43,   43,  617,   96,   34,  615,   35,   43,   36,
00705        43,   43,   43,  614,   43,   43,   43,   43,  603,   43,
00706       602,  601,   43,   43,   43,   43,   44,  140,  600,  596,
00707 
00708        43,   45,   43,   43,  593,   46,   47,   43,  190,   43,
00709        48,   98,   99,  141,  589,  100,  587,  101,  102,  586,
00710       103,  188,  104,   43,  105,  106,  585,  584,  107,  182,
00711       189,  189,  275,  275,  275,   43,   43,   43,   43,  718,
00712       580,  718,  183,  718,   43,   43,  579,   43,  576,   43,
00713       234,  234,  234,  573,  572,  191,   43,  569,   43,  192,
00714       232,  232,  232,  235,  233,  562,  233,  238,  238,  238,
00715       193,  561,   43,  560,   43,  182,  189,  189,  559,  558,
00716       239,   43,  554,  552,   43,  718,   43,  718,  183,  718,
00717       234,  241,  241,   43,  548,   43,   43,  547,   43,  543,
00718 
00719       718,  542,  718,  235,  718,   43,  240,  242,  238,  244,
00720       244,  245,  245,  245,  253,  253,  253,  243,  718,   43,
00721       718,  239,  718,  541,  540,  246,  536,  535,  254,  264,
00722       264,  264,  232,  232,  232,  534,  233,  533,  233,  289,
00723       289,  289,  532,  265,  531,  530,  255,  234,  234,  234,
00724       290,  290,  290,  529,  291,  247,  291,  238,  238,  238,
00725       235,  718,  294,  294,  294,  266,  295,  528,  295,  718,
00726       239,  718,  527,  718,  520,  718,  234,  241,  241,  718,
00727       519,  718,  518,  718,  517,  516,  718,  515,  718,  235,
00728       718,  238,  244,  244,  245,  245,  245,  296,  299,  299,
00729 
00730       299,  718,  514,  718,  239,  718,  513,  512,  246,  253,
00731       253,  253,  297,  306,  306,  306,  309,  309,  309,  264,
00732       264,  264,  511,  254,  317,  317,  317,  323,  323,  323,
00733       310,  510,  509,  265,  275,  275,  275,  324,  336,  336,
00734       336,  325,  289,  289,  289,  290,  290,  290,  508,  291,
00735       507,  291,  325,  341,  341,  341,  294,  294,  294,  718,
00736       295,  430,  295,  344,  344,  344,  718,  718,  431,  718,
00737       432,  718,  433,  718,  506,  505,  718,  718,  718,  718,
00738       718,  718,  299,  299,  299,  352,  352,  352,  504,  346,
00739       306,  306,  306,  309,  309,  309,  357,  357,  357,  353,
00740 
00741       503,  345,  502,  347,  358,  358,  358,  310,  317,  317,
00742       317,  323,  323,  323,  371,  371,  371,  501,  359,  500,
00743       497,  324,  336,  336,  336,  325,  372,  341,  341,  341,
00744       344,  344,  344,  718,  718,  496,  325,  495,  494,  718,
00745       352,  352,  352,  718,  718,  718,  718,  718,  718,  718,
00746       493,  718,  492,  718,  353,  395,  395,  395,  357,  357,
00747       357,  358,  358,  358,  399,  399,  399,  389,  404,  404,
00748       404,  406,  406,  406,  490,  359,  489,  488,  388,  371,
00749       371,  371,  405,  487,  718,  407,  390,  413,  413,  413,
00750       425,  425,  425,   43,  718,   43,  718,  414,  718,  480,
00751 
00752       479,  415,   43,  478,  415,  395,  395,  395,  445,  445,
00753       445,  399,  399,  399,  477,  476,  440,  454,  454,  454,
00754       435,  718,  446,  475,  404,  404,  404,  406,  406,  406,
00755       474,  718,  473,  718,  472,  718,  471,  436,  405,  470,
00756       469,  407,  468,  467,  437,  466,  438,  465,  439,  455,
00757       455,  455,  413,  413,  413,  462,  462,  462,  425,  425,
00758       425,   43,  414,   43,  464,  461,  415,  463,  460,   43,
00759        43,   43,  415,   43,   43,   43,   43,  459,   43,   43,
00760       458,   43,   43,   43,   43,  445,  445,  445,   43,  491,
00761       491,  491,   43,  481,  483,  457,   43,   43,  485,  446,
00762 
00763       456,  482,   43,  453,   43,  484,   43,  498,  498,  498,
00764       454,  454,  454,   43,  450,  449,  486,  455,  455,  455,
00765       448,  499,  462,  462,  462,  447,   43,   43,   43,   43,
00766        43,   43,   43,  444,  443,   43,  442,  441,   43,   43,
00767       434,   43,   43,   43,   43,   43,   43,   43,   43,   43,
00768        43,   43,   43,   43,   43,   43,  429,  521,  523,  426,
00769       522,  491,  491,  491,   43,   43,  424,  526,   43,  565,
00770       524,  498,  498,  498,  423,  422,  525,  537,  537,  537,
00771       538,  538,  538,  718,  419,  499,  544,  544,  544,  549,
00772       549,  549,  418,  718,  539,  718,  545,  718,  417,  550,
00773 
00774       546,  416,  412,  551,  553,  553,  553,  555,  555,  555,
00775       556,  556,  556,  607,  556,  563,  563,  411,  546,  718,
00776       410,  551,  409,  557,  718,  408,  718,  557,  718,  718,
00777        43,  718,   43,  718,   43,   43,   43,   43,  403,   43,
00778       570,  570,  570,   43,   43,  574,  574,  574,  577,  577,
00779       577,  402,  398,   43,  571,  397,  396,   43,   43,  575,
00780       394,  567,  578,  564,  581,  581,  581,  566,  537,  537,
00781       537,  538,  538,  538,  568,  583,  583,  583,  582,  544,
00782       544,  544,  588,  588,  588,  539,  590,  590,  590,  545,
00783       594,  594,  594,  546,  393,  392,  591,  549,  549,  549,
00784 
00785       592,  391,  595,  553,  553,  553,  387,  550,  597,  597,
00786       597,  551,  555,  555,  555,  386,  385,  546,  556,  556,
00787       556,  384,  592,  598,  598,  598,  551,  599,  382,  599,
00788       718,  557,  604,  604,  604,  381,  556,  563,  563,  380,
00789       718,  718,  718,  379,  718,  605,  718,  378,  718,  557,
00790       718,  718,  718,  718,  375,  718,  374,  604,  610,  610,
00791       373,  370,  718,  369,  718,  368,  718,  718,  367,  718,
00792       605,  718,  613,  613,  613,  606,  611,  611,  611,  366,
00793       609,  570,  570,  570,  365,  364,  608,  574,  574,  574,
00794       612,  616,  616,  616,  363,  571,  577,  577,  577,  362,
00795 
00796       361,  575,  618,  618,  618,  620,  620,  620,  360,  356,
00797       578,  581,  581,  581,  622,  622,  622,  355,  354,  621,
00798       583,  583,  583,  351,  350,  582,  624,  624,  624,  588,
00799       588,  588,  627,  627,  627,  349,  625,  590,  590,  590,
00800       626,  630,  630,  630,  348,  343,  628,  591,  594,  594,
00801       594,  592,  342,  631,  632,  632,  632,  597,  597,  597,
00802       598,  598,  598,  340,  599,  339,  599,  338,  626,  337,
00803       335,  592,  633,  633,  633,  604,  604,  604,  638,  638,
00804       638,  718,  639,  334,  639,  333,  718,  718,  605,  332,
00805       331,  718,  718,  718,  330,  718,  718,  718,  718,  718,
00806 
00807       718,  718,  718,  329,  718,  328,  718,  327,  611,  611,
00808       611,  644,  644,  644,  326,  604,  610,  610,  613,  613,
00809       613,  643,  612,  642,  640,  718,  322,  718,  605,  718,
00810       321,  641,  646,  646,  646,  616,  616,  616,  648,  648,
00811       648,  618,  618,  618,  320,  319,  647,  650,  650,  650,
00812       318,  316,  649,  620,  620,  620,  652,  652,  652,  315,
00813       314,  651,  622,  622,  622,  313,  312,  621,  624,  624,
00814       624,  654,  654,  654,  627,  627,  627,  311,  625,  656,
00815       656,  656,  626,  655,  630,  630,  630,  308,  628,  632,
00816       632,  632,  633,  633,  633,  638,  638,  638,  718,  639,
00817 
00818       307,  639,  305,  626,  661,  661,  661,  718,  718,  304,
00819       718,  303,  718,  718,  644,  644,  644,  718,  718,  718,
00820       302,  718,  301,  718,  300,  718,  662,  718,  718,  293,
00821       718,  292,  718,  666,  666,  666,  646,  646,  646,  668,
00822       668,  668,  288,  663,  648,  648,  648,  667,  287,  286,
00823       647,  669,  669,  669,  664,  285,  665,  284,  649,  650,
00824       650,  650,  670,  670,  670,  652,  652,  652,  654,  654,
00825       654,  718,  718,  651,  656,  656,  656,  661,  661,  661,
00826       718,  718,  718,  718,  718,  718,  718,   43,  283,   43,
00827       718,  282,  718,  281,  718,  280,   43,  666,  666,  666,
00828 
00829       679,  679,  679,  668,  668,  668,  279,  675,  278,  277,
00830       678,  667,  669,  669,  669,  670,  670,  670,  276,  676,
00831       677,   43,   43,   43,   43,   43,   43,   43,   43,  274,
00832        43,   43,  273,  272,   43,   43,  679,  679,  679,  271,
00833       690,  690,  690,  270,   43,  685,  269,  268,   43,   43,
00834       267,  263,  684,  691,  692,  692,  692,   43,  262,   43,
00835       686,  687,   43,  261,   43,  260,   43,  693,  699,  699,
00836       699,   43,  259,  258,  690,  696,  696,  711,  711,  711,
00837        43,  700,  257,  256,  718,   43,  718,  691,  718,  692,
00838       697,  697,  252,  694,  690,  690,  690,  695,  251,  718,
00839 
00840       250,  718,  693,  718,  701,  701,  701,  691,  702,  718,
00841       702,  692,  692,  692,  703,  703,  703,  249,  704,  718,
00842       704,  718,  248,  718,  693,  699,  706,  706,  237,  236,
00843       690,  696,  696,  231,  230,  718,  229,  718,  700,  718,
00844       718,  228,  718,  691,  718,  692,  697,  697,  707,  707,
00845       707,  227,  226,  705,  225,  718,  224,  718,  693,  718,
00846       223,  708,  699,  699,  699,  709,  709,  709,  222,  710,
00847       221,  710,  701,  701,  701,  700,  702,  220,  702,  703,
00848       703,  703,  219,  704,  218,  704,  712,  712,  712,  707,
00849       713,  713,  217,  216,  699,  706,  706,  215,  214,  718,
00850 
00851       213,  718,  708,  718,  718,  212,  718,  700,  718,  707,
00852       707,  707,  714,  714,  714,  211,  715,  210,  715,  709,
00853       709,  709,  708,  710,  207,  710,  716,  716,  716,  711,
00854       711,  711,  712,  712,  712,  707,  713,  713,  714,  714,
00855       714,  206,  715,  205,  715,  718,  204,  718,  708,  718,
00856       717,  717,  717,  716,  716,  716,  717,  717,  717,   16,
00857        16,   16,   16,   24,   24,   24,   24,   26,   26,   26,
00858        26,   27,   27,   27,   27,   30,   30,   30,   30,   43,
00859       203,   43,   71,   71,  202,   71,   72,   72,   72,  201,
00860       200,  199,  198,  197,  196,  195,  194,  142,  187,  186,
00861 
00862       185,  184,  181,  180,  179,  178,  177,  176,  173,  172,
00863       171,  170,  169,  168,  167,  166,  165,  164,  163,  162,
00864       161,  160,  159,  155,  150,  149,  148,  147,  146,  145,
00865       144,  142,  143,  135,  134,  133,  132,  131,  130,  128,
00866       127,  126,  125,  124,  122,  118,  113,  112,  111,  110,
00867       109,  108,   97,   94,   92,   85,   84,   81,   80,   53,
00868        74,   73,   53,  718,   25,   25,   11,  718,  718,  718,
00869       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00870       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00871       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00872 
00873       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
00874       718,  718,  718,  718,  718,  718,  718,  718,  718
00875     } ;
00876 
00877 static yyconst flex_int16_t yy_chk[1820] =
00878     {   0,
00879         1,    1,    1,    1,    1,    1,    0,    1,    1,    1,
00880         1,    1,    1,    1,    1,    1,    1,    3,    4,    3,
00881         4,    0,    1,    2,    2,    2,    2,    2,    2,    9,
00882         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
00883         7,    8,   10,    9,   52,    2,   52,    7,    8,   17,
00884        16,   17,   39,  131,  131,  131,   10,   13,   13,   13,
00885        16,   17,   16,   18,   16,  688,  131,   13,   23,   13,
00886        39,   13,   68,   18,   18,   18,   66,   18,   23,  681,
00887        23,   68,   23,   93,   93,   68,   79,   93,   13,   66,
00888        23,   66,   66,   13,  680,   79,   43,   13,   13,   79,
00889 
00890       674,  673,   13,   14,   14,   14,   43,   44,   43,   44,
00891        43,  329,  672,   14,  329,   14,   44,   14,   45,   46,
00892        45,   46,  106,   50,  671,   50,  660,   45,   46,   92,
00893        44,  106,   50,  378,   14,  106,   92,  378,   46,   14,
00894        45,   45,   46,   14,   14,   47,   50,   47,   14,   20,
00895        92,  659,  122,   48,   47,   48,   46,  122,   20,   20,
00896        20,   20,   48,   20,   54,   47,   54,   20,   47,   70,
00897       104,   70,  159,   54,  658,  657,   48,  159,   70,   70,
00898       384,   20,   21,  104,  384,  104,  104,   54,  637,   21,
00899       636,  243,   70,   48,   21,  402,   56,   56,   56,  402,
00900 
00901        56,  243,   86,  243,   86,  243,  635,   56,  634,   21,
00902        21,   86,  625,   21,  338,   21,   21,  338,   21,  614,
00903        21,   56,   21,   21,  603,   86,   21,   35,  602,   87,
00904       360,   87,   88,  360,   88,  601,  243,   86,   87,  600,
00905        89,   88,   89,  591,  182,  182,  182,   35,   35,   89,
00906       584,   35,   87,   35,   35,   88,   35,  182,   35,  579,
00907        35,   35,   88,   89,   35,   42,   42,   42,   87,   90,
00908        89,   90,   96,  576,   96,   42,  573,   42,   90,   42,
00909        91,   96,   91,  572,  123,  138,  123,  138,  561,   91,
00910       560,  559,   90,  123,  138,   96,   42,   90,  558,  552,
00911 
00912       136,   42,  136,   91,  550,   42,   42,  123,  138,  136,
00913        42,   58,   58,   91,  547,   58,  545,   58,   58,  543,
00914        58,  136,   58,  136,   58,   58,  542,  541,   58,  137,
00915       137,  137,  218,  218,  218,  139,  140,  139,  140,  137,
00916       535,  137,  137,  137,  139,  140,  534,  141,  532,  141,
00917       184,  184,  184,  530,  529,  139,  141,  527,  139,  140,
00918       183,  183,  183,  184,  183,  520,  183,  187,  187,  187,
00919       141,  519,  188,  518,  188,  189,  189,  189,  517,  516,
00920       187,  188,  513,  511,  191,  189,  191,  189,  189,  189,
00921       190,  190,  190,  191,  509,  188,  192,  508,  192,  506,
00922 
00923       190,  504,  190,  190,  190,  192,  188,  191,  193,  193,
00924       193,  194,  194,  194,  200,  200,  200,  192,  193,  192,
00925       193,  193,  193,  503,  501,  194,  497,  496,  200,  209,
00926       209,  209,  232,  232,  232,  495,  232,  494,  232,  233,
00927       233,  233,  493,  209,  492,  490,  200,  234,  234,  234,
00928       235,  235,  235,  489,  235,  194,  235,  238,  238,  238,
00929       234,  240,  239,  239,  239,  209,  239,  488,  239,  242,
00930       238,  240,  487,  240,  480,  240,  241,  241,  241,  242,
00931       479,  242,  478,  242,  477,  476,  241,  475,  241,  241,
00932       241,  244,  244,  244,  245,  245,  245,  240,  246,  246,
00933 
00934       246,  244,  474,  244,  244,  244,  473,  472,  245,  253,
00935       253,  253,  242,  254,  254,  254,  257,  257,  257,  264,
00936       264,  264,  471,  253,  265,  265,  265,  271,  271,  271,
00937       257,  469,  468,  264,  275,  275,  275,  271,  284,  284,
00938       284,  271,  289,  289,  289,  290,  290,  290,  467,  290,
00939       466,  290,  284,  291,  291,  291,  294,  294,  294,  296,
00940       294,  386,  294,  295,  295,  295,  297,  298,  386,  296,
00941       386,  296,  386,  296,  465,  464,  297,  298,  297,  298,
00942       297,  298,  299,  299,  299,  304,  304,  304,  460,  297,
00943       306,  306,  306,  309,  309,  309,  310,  310,  310,  304,
00944 
00945       459,  296,  458,  298,  311,  311,  311,  309,  317,  317,
00946       317,  323,  323,  323,  325,  325,  325,  457,  311,  456,
00947       452,  323,  336,  336,  336,  323,  325,  341,  341,  341,
00948       344,  344,  344,  345,  346,  451,  336,  450,  449,  347,
00949       352,  352,  352,  345,  346,  345,  346,  345,  346,  347,
00950       448,  347,  447,  347,  352,  353,  353,  353,  357,  357,
00951       357,  358,  358,  358,  359,  359,  359,  346,  363,  363,
00952       363,  364,  364,  364,  444,  358,  443,  442,  345,  371,
00953       371,  371,  363,  441,  388,  364,  347,  373,  373,  373,
00954       382,  382,  382,  390,  388,  390,  388,  373,  388,  434,
00955 
00956       433,  373,  390,  432,  382,  395,  395,  395,  396,  396,
00957       396,  399,  399,  399,  431,  430,  390,  405,  405,  405,
00958       388,  389,  396,  429,  404,  404,  404,  406,  406,  406,
00959       428,  389,  427,  389,  426,  389,  424,  389,  404,  423,
00960       421,  406,  420,  419,  389,  418,  389,  417,  389,  407,
00961       407,  407,  413,  413,  413,  415,  415,  415,  425,  425,
00962       425,  435,  413,  435,  416,  414,  413,  415,  412,  436,
00963       435,  436,  425,  438,  437,  438,  437,  411,  436,  439,
00964       410,  439,  438,  437,  435,  445,  445,  445,  439,  446,
00965       446,  446,  436,  435,  437,  409,  438,  437,  439,  445,
00966 
00967       408,  436,  439,  403,  440,  438,  440,  453,  453,  453,
00968       454,  454,  454,  440,  401,  400,  440,  455,  455,  455,
00969       398,  453,  462,  462,  462,  397,  481,  440,  481,  482,
00970       483,  482,  483,  394,  393,  481,  392,  391,  482,  483,
00971       387,  484,  485,  484,  485,  486,  523,  486,  523,  481,
00972       484,  485,  482,  483,  486,  523,  385,  481,  483,  383,
00973       482,  491,  491,  491,  484,  485,  381,  486,  486,  523,
00974       484,  498,  498,  498,  380,  379,  485,  499,  499,  499,
00975       500,  500,  500,  565,  377,  498,  507,  507,  507,  510,
00976       510,  510,  376,  565,  500,  565,  507,  565,  375,  510,
00977 
00978       507,  374,  369,  510,  512,  512,  512,  514,  514,  514,
00979       515,  515,  515,  565,  521,  521,  521,  368,  512,  522,
00980       367,  514,  366,  515,  521,  365,  521,  521,  521,  522,
00981       524,  522,  524,  522,  525,  526,  525,  526,  362,  524,
00982       528,  528,  528,  525,  526,  531,  531,  531,  533,  533,
00983       533,  361,  356,  524,  528,  355,  354,  525,  526,  531,
00984       351,  525,  533,  522,  536,  536,  536,  524,  537,  537,
00985       537,  538,  538,  538,  526,  539,  539,  539,  536,  544,
00986       544,  544,  546,  546,  546,  538,  548,  548,  548,  544,
00987       551,  551,  551,  544,  350,  349,  548,  549,  549,  549,
00988 
00989       548,  348,  551,  553,  553,  553,  343,  549,  554,  554,
00990       554,  549,  555,  555,  555,  342,  340,  553,  556,  556,
00991       556,  339,  554,  557,  557,  557,  555,  557,  337,  557,
00992       564,  556,  562,  562,  562,  335,  563,  563,  563,  334,
00993       564,  566,  564,  331,  564,  562,  563,  330,  563,  563,
00994       563,  566,  567,  566,  328,  566,  327,  568,  568,  568,
00995       326,  324,  567,  322,  567,  321,  567,  568,  320,  568,
00996       568,  568,  571,  571,  571,  564,  569,  569,  569,  319,
00997       567,  570,  570,  570,  318,  316,  566,  574,  574,  574,
00998       569,  575,  575,  575,  315,  570,  577,  577,  577,  314,
00999 
01000       313,  574,  578,  578,  578,  580,  580,  580,  312,  308,
01001       577,  581,  581,  581,  582,  582,  582,  307,  305,  580,
01002       583,  583,  583,  303,  302,  581,  585,  585,  585,  588,
01003       588,  588,  589,  589,  589,  301,  585,  590,  590,  590,
01004       585,  592,  592,  592,  300,  293,  589,  590,  594,  594,
01005       594,  590,  292,  592,  596,  596,  596,  597,  597,  597,
01006       598,  598,  598,  288,  598,  287,  598,  286,  596,  285,
01007       283,  597,  599,  599,  599,  604,  604,  604,  605,  605,
01008       605,  606,  605,  282,  605,  281,  607,  608,  604,  280,
01009       279,  606,  609,  606,  278,  606,  607,  608,  607,  608,
01010 
01011       607,  608,  609,  277,  609,  274,  609,  273,  611,  611,
01012       611,  612,  612,  612,  272,  610,  610,  610,  613,  613,
01013       613,  609,  611,  608,  606,  610,  270,  610,  610,  610,
01014       269,  607,  615,  615,  615,  616,  616,  616,  617,  617,
01015       617,  618,  618,  618,  268,  267,  615,  619,  619,  619,
01016       266,  263,  617,  620,  620,  620,  621,  621,  621,  262,
01017       261,  619,  622,  622,  622,  260,  259,  620,  624,  624,
01018       624,  626,  626,  626,  627,  627,  627,  258,  624,  628,
01019       628,  628,  624,  626,  630,  630,  630,  256,  627,  632,
01020       632,  632,  633,  633,  633,  638,  638,  638,  640,  638,
01021 
01022       255,  638,  252,  632,  639,  639,  639,  641,  640,  251,
01023       640,  250,  640,  642,  644,  644,  644,  641,  643,  641,
01024       249,  641,  248,  642,  247,  642,  640,  642,  643,  237,
01025       643,  236,  643,  645,  645,  645,  646,  646,  646,  647,
01026       647,  647,  231,  641,  648,  648,  648,  645,  230,  229,
01027       646,  649,  649,  649,  642,  228,  643,  227,  648,  650,
01028       650,  650,  651,  651,  651,  652,  652,  652,  654,  654,
01029       654,  662,  663,  650,  656,  656,  656,  661,  661,  661,
01030       664,  662,  663,  662,  663,  662,  663,  665,  226,  665,
01031       664,  225,  664,  224,  664,  223,  665,  666,  666,  666,
01032 
01033       667,  667,  667,  668,  668,  668,  222,  662,  221,  220,
01034       665,  666,  669,  669,  669,  670,  670,  670,  219,  663,
01035       664,  675,  676,  675,  676,  677,  678,  677,  678,  217,
01036       675,  676,  216,  215,  677,  678,  679,  679,  679,  214,
01037       682,  682,  682,  213,  675,  676,  212,  211,  677,  678,
01038       210,  208,  675,  682,  683,  683,  683,  684,  207,  684,
01039       677,  678,  685,  206,  685,  205,  684,  683,  689,  689,
01040       689,  685,  204,  203,  686,  686,  686,  702,  702,  702,
01041       684,  689,  202,  201,  686,  685,  686,  686,  686,  687,
01042       687,  687,  199,  684,  690,  690,  690,  685,  198,  687,
01043 
01044       197,  687,  687,  687,  691,  691,  691,  690,  691,  694,
01045       691,  692,  692,  692,  693,  693,  693,  196,  693,  694,
01046       693,  694,  195,  694,  692,  695,  695,  695,  186,  185,
01047       696,  696,  696,  181,  180,  695,  179,  695,  695,  695,
01048       696,  178,  696,  696,  696,  697,  697,  697,  698,  698,
01049       698,  177,  176,  694,  175,  697,  174,  697,  697,  697,
01050       173,  698,  699,  699,  699,  700,  700,  700,  172,  700,
01051       171,  700,  701,  701,  701,  699,  701,  170,  701,  703,
01052       703,  703,  169,  703,  168,  703,  704,  704,  704,  705,
01053       705,  705,  167,  166,  706,  706,  706,  165,  164,  705,
01054 
01055       163,  705,  705,  705,  706,  162,  706,  706,  706,  707,
01056       707,  707,  708,  708,  708,  161,  708,  160,  708,  709,
01057       709,  709,  707,  709,  158,  709,  710,  710,  710,  711,
01058       711,  711,  712,  712,  712,  713,  713,  713,  714,  714,
01059       714,  157,  714,  156,  714,  713,  155,  713,  713,  713,
01060       715,  715,  715,  716,  716,  716,  717,  717,  717,  719,
01061       719,  719,  719,  720,  720,  720,  720,  721,  721,  721,
01062       721,  722,  722,  722,  722,  723,  723,  723,  723,  724,
01063       154,  724,  725,  725,  153,  725,  726,  726,  726,  152,
01064       151,  150,  149,  148,  147,  146,  145,  142,  135,  134,
01065 
01066       133,  132,  130,  129,  128,  127,  126,  125,  121,  120,
01067       119,  118,  117,  116,  115,  114,  113,  112,  111,  110,
01068       109,  108,  107,  105,  103,  102,  101,  100,   99,   98,
01069        97,   95,   94,   85,   84,   83,   82,   81,   80,   78,
01070        77,   76,   75,   73,   69,   67,   65,   64,   63,   62,
01071        61,   60,   57,   51,   49,   41,   40,   38,   37,   34,
01072        32,   29,   19,   11,    6,    5,  718,  718,  718,  718,
01073       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
01074       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
01075       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
01076 
01077       718,  718,  718,  718,  718,  718,  718,  718,  718,  718,
01078       718,  718,  718,  718,  718,  718,  718,  718,  718
01079     } ;
01080 
01081 /* Table of booleans, true if rule could match eol. */
01082 static yyconst flex_int32_t yy_rule_can_match_eol[82] =
01083     {   0,
01084 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01085     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01086     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
01087     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 
01088     1, 0,     };
01089 
01090 /* The intent behind this definition is that it'll catch
01091  * any uses of REJECT which flex missed.
01092  */
01093 #define REJECT reject_used_but_not_detected
01094 #define yymore() yymore_used_but_not_detected
01095 #define YY_MORE_ADJ 0
01096 #define YY_RESTORE_YY_MORE_OFFSET
01097 #line 1 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01098 
01112 #line 16 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01113 
01114 #include <iostream>
01115 #include "OSConfig.h"
01116 
01117 
01118 #ifdef HAVE_CSTDIO
01119 # include <cstdio>
01120 #else
01121 # ifdef HAVE_STDIO_H
01122 #  include <stdio.h>
01123 # else
01124 #  error "don't have header file for stdio"
01125 # endif
01126 #endif
01127 
01128 #ifdef HAVE_CSTRING
01129 # include <cstring>
01130 #else
01131 # ifdef HAVE_STRING_H
01132 #  include <string.h>
01133 # else
01134 #  error "don't have header file for string"
01135 # endif
01136 #endif
01137 
01138 
01139 
01140 
01141 #include <sstream>  
01142 #include "OSErrorClass.h"
01143 #include "OSrLParserData.h"
01144 #ifdef PARSERDEBUG
01145         #define YY_PRINT  printf("%s", yytext);
01146 #else     
01147         #define YY_PRINT ;
01148 #endif
01149 
01150 #ifdef WIN_
01151   #define YY_NO_UNISTD_H
01152   #include <io.h>
01153   #include <process.h>
01154   #ifdef USE_OLD_UNISTD
01155      #include<sys/unistd.h>  
01156   #endif
01157 #endif
01158 
01159 #include "OSParseosrl.tab.hpp"
01160 
01161 
01162      
01163 
01164 
01165 
01166 
01167 #line 82 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01168 #define YY_EXTRA_TYPE OSrLParserData*
01169 #line 1170 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.cpp"
01170 
01171 #define INITIAL 0
01172 #define attributetext 1
01173 #define osrlattributetext 2
01174 #define comment 3
01175 #define xmldeclaration 4
01176 
01177 #ifndef YY_NO_UNISTD_H
01178 /* Special case for "unistd.h", since it is non-ANSI. We include it way
01179  * down here because we want the user's section 1 to have been scanned first.
01180  * The user has a chance to override it with an option.
01181  */
01182 #include <unistd.h>
01183 #endif
01184 
01185 #ifndef YY_EXTRA_TYPE
01186 #define YY_EXTRA_TYPE void *
01187 #endif
01188 
01189 /* Holds the entire state of the reentrant scanner. */
01190 struct yyguts_t
01191     {
01192 
01193     /* User-defined. Not touched by flex. */
01194     YY_EXTRA_TYPE yyextra_r;
01195 
01196     /* The rest are the same as the globals declared in the non-reentrant scanner. */
01197     FILE *yyin_r, *yyout_r;
01198     size_t yy_buffer_stack_top; 
01199     size_t yy_buffer_stack_max; 
01200     YY_BUFFER_STATE * yy_buffer_stack; 
01201     char yy_hold_char;
01202     int yy_n_chars;
01203     int yyleng_r;
01204     char *yy_c_buf_p;
01205     int yy_init;
01206     int yy_start;
01207     int yy_did_buffer_switch_on_eof;
01208     int yy_start_stack_ptr;
01209     int yy_start_stack_depth;
01210     int *yy_start_stack;
01211     yy_state_type yy_last_accepting_state;
01212     char* yy_last_accepting_cpos;
01213 
01214     int yylineno_r;
01215     int yy_flex_debug_r;
01216 
01217     char *yytext_r;
01218     int yy_more_flag;
01219     int yy_more_len;
01220 
01221     YYSTYPE * yylval_r;
01222 
01223     YYLTYPE * yylloc_r;
01224 
01225     }; /* end struct yyguts_t */
01226 
01227 static int yy_init_globals (yyscan_t yyscanner );
01228 
01229     /* This must go here because YYSTYPE and YYLTYPE are included
01230      * from bison output in section 1.*/
01231     #    define yylval yyg->yylval_r
01232     
01233     #    define yylloc yyg->yylloc_r
01234     
01235 /* Accessor methods to globals.
01236    These are made visible to non-reentrant scanners for convenience. */
01237 
01238 int osrllex_destroy (yyscan_t yyscanner );
01239 
01240 int osrlget_debug (yyscan_t yyscanner );
01241 
01242 void osrlset_debug (int debug_flag ,yyscan_t yyscanner );
01243 
01244 YY_EXTRA_TYPE osrlget_extra (yyscan_t yyscanner );
01245 
01246 void osrlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
01247 
01248 FILE *osrlget_in (yyscan_t yyscanner );
01249 
01250 void osrlset_in  (FILE * in_str ,yyscan_t yyscanner );
01251 
01252 FILE *osrlget_out (yyscan_t yyscanner );
01253 
01254 void osrlset_out  (FILE * out_str ,yyscan_t yyscanner );
01255 
01256 int osrlget_leng (yyscan_t yyscanner );
01257 
01258 char *osrlget_text (yyscan_t yyscanner );
01259 
01260 int osrlget_lineno (yyscan_t yyscanner );
01261 
01262 void osrlset_lineno (int line_number ,yyscan_t yyscanner );
01263 
01264 YYSTYPE * osrlget_lval (yyscan_t yyscanner );
01265 
01266 void osrlset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
01267 
01268        YYLTYPE *osrlget_lloc (yyscan_t yyscanner );
01269     
01270         void osrlset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
01271     
01272 /* Macros after this point can all be overridden by user definitions in
01273  * section 1.
01274  */
01275 
01276 #ifndef YY_SKIP_YYWRAP
01277 #ifdef __cplusplus
01278 extern "C" int osrlwrap (yyscan_t yyscanner );
01279 #else
01280 extern int osrlwrap (yyscan_t yyscanner );
01281 #endif
01282 #endif
01283 
01284     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
01285     
01286 #ifndef yytext_ptr
01287 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
01288 #endif
01289 
01290 #ifdef YY_NEED_STRLEN
01291 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
01292 #endif
01293 
01294 #ifndef YY_NO_INPUT
01295 
01296 #ifdef __cplusplus
01297 static int yyinput (yyscan_t yyscanner );
01298 #else
01299 static int input (yyscan_t yyscanner );
01300 #endif
01301 
01302 #endif
01303 
01304 /* Amount of stuff to slurp up with each read. */
01305 #ifndef YY_READ_BUF_SIZE
01306 #define YY_READ_BUF_SIZE 8192
01307 #endif
01308 
01309 /* Copy whatever the last rule matched to the standard output. */
01310 #ifndef ECHO
01311 /* This used to be an fputs(), but since the string might contain NUL's,
01312  * we now use fwrite().
01313  */
01314 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
01315 #endif
01316 
01317 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
01318  * is returned in "result".
01319  */
01320 #ifndef YY_INPUT
01321 #define YY_INPUT(buf,result,max_size) \
01322         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01323                 { \
01324                 int c = '*'; \
01325                 size_t n; \
01326                 for ( n = 0; n < max_size && \
01327                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01328                         buf[n] = (char) c; \
01329                 if ( c == '\n' ) \
01330                         buf[n++] = (char) c; \
01331                 if ( c == EOF && ferror( yyin ) ) \
01332                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
01333                 result = n; \
01334                 } \
01335         else \
01336                 { \
01337                 errno=0; \
01338                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01339                         { \
01340                         if( errno != EINTR) \
01341                                 { \
01342                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01343                                 break; \
01344                                 } \
01345                         errno=0; \
01346                         clearerr(yyin); \
01347                         } \
01348                 }\
01349 \
01350 
01351 #endif
01352 
01353 /* No semi-colon after return; correct usage is to write "yyterminate();" -
01354  * we don't want an extra ';' after the "return" because that will cause
01355  * some compilers to complain about unreachable statements.
01356  */
01357 #ifndef yyterminate
01358 #define yyterminate() return YY_NULL
01359 #endif
01360 
01361 /* Number of entries by which start-condition stack grows. */
01362 #ifndef YY_START_STACK_INCR
01363 #define YY_START_STACK_INCR 25
01364 #endif
01365 
01366 /* Report a fatal error. */
01367 #ifndef YY_FATAL_ERROR
01368 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01369 #endif
01370 
01371 /* end tables serialization structures and prototypes */
01372 
01373 /* Default declaration of generated scanner - a define so the user can
01374  * easily add parameters.
01375  */
01376 #ifndef YY_DECL
01377 #define YY_DECL_IS_OURS 1
01378 
01379 extern int osrllex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
01380 
01381 #define YY_DECL int osrllex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
01382 #endif /* !YY_DECL */
01383 
01384 /* Code executed at the beginning of each rule, after yytext and yyleng
01385  * have been set up.
01386  */
01387 #ifndef YY_USER_ACTION
01388 #define YY_USER_ACTION
01389 #endif
01390 
01391 /* Code executed at the end of each rule. */
01392 #ifndef YY_BREAK
01393 #define YY_BREAK break;
01394 #endif
01395 
01396 #define YY_RULE_SETUP \
01397         YY_USER_ACTION
01398 
01401 YY_DECL
01402 {
01403         register yy_state_type yy_current_state;
01404         register char *yy_cp, *yy_bp;
01405         register int yy_act;
01406     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01407 
01408 #line 92 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01409 
01410 
01411 
01412 #line 1413 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.cpp"
01413 
01414     yylval = yylval_param;
01415 
01416     yylloc = yylloc_param;
01417 
01418         if ( !yyg->yy_init )
01419                 {
01420                 yyg->yy_init = 1;
01421 
01422 #ifdef YY_USER_INIT
01423                 YY_USER_INIT;
01424 #endif
01425 
01426                 if ( ! yyg->yy_start )
01427                         yyg->yy_start = 1;      /* first start state */
01428 
01429                 if ( ! yyin )
01430                         yyin = stdin;
01431 
01432                 if ( ! yyout )
01433                         yyout = stdout;
01434 
01435                 if ( ! YY_CURRENT_BUFFER ) {
01436                         osrlensure_buffer_stack (yyscanner);
01437                         YY_CURRENT_BUFFER_LVALUE =
01438                                 osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01439                 }
01440 
01441                 osrl_load_buffer_state(yyscanner );
01442                 }
01443 
01444         while ( 1 )             /* loops until end-of-file is reached */
01445                 {
01446                 yy_cp = yyg->yy_c_buf_p;
01447 
01448                 /* Support of yytext. */
01449                 *yy_cp = yyg->yy_hold_char;
01450 
01451                 /* yy_bp points to the position in yy_ch_buf of the start of
01452                  * the current run.
01453                  */
01454                 yy_bp = yy_cp;
01455 
01456                 yy_current_state = yyg->yy_start;
01457 yy_match:
01458                 do
01459                         {
01460                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01461                         if ( yy_accept[yy_current_state] )
01462                                 {
01463                                 yyg->yy_last_accepting_state = yy_current_state;
01464                                 yyg->yy_last_accepting_cpos = yy_cp;
01465                                 }
01466                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01467                                 {
01468                                 yy_current_state = (int) yy_def[yy_current_state];
01469                                 if ( yy_current_state >= 719 )
01470                                         yy_c = yy_meta[(unsigned int) yy_c];
01471                                 }
01472                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01473                         ++yy_cp;
01474                         }
01475                 while ( yy_base[yy_current_state] != 1767 );
01476 
01477 yy_find_action:
01478                 yy_act = yy_accept[yy_current_state];
01479                 if ( yy_act == 0 )
01480                         { /* have to back up */
01481                         yy_cp = yyg->yy_last_accepting_cpos;
01482                         yy_current_state = yyg->yy_last_accepting_state;
01483                         yy_act = yy_accept[yy_current_state];
01484                         }
01485 
01486                 YY_DO_BEFORE_ACTION;
01487 
01488                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
01489                         {
01490                         int yyl;
01491                         for ( yyl = 0; yyl < yyleng; ++yyl )
01492                                 if ( yytext[yyl] == '\n' )
01493                                            
01494     do{ yylineno++;
01495         yycolumn=0;
01496     }while(0)
01497 ;
01498                         }
01499 
01500 do_action:      /* This label is used only to access EOF actions. */
01501 
01502                 switch ( yy_act )
01503         { /* beginning of action switch */
01504                         case 0: /* must back up */
01505                         /* undo the effects of YY_DO_BEFORE_ACTION */
01506                         *yy_cp = yyg->yy_hold_char;
01507                         yy_cp = yyg->yy_last_accepting_cpos;
01508                         yy_current_state = yyg->yy_last_accepting_state;
01509                         goto yy_find_action;
01510 
01511 case 1:
01512 /* rule 1 can match eol */
01513 YY_RULE_SETUP
01514 #line 95 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01515 {printf("HERE IS WHITESPACE\n");}
01516         YY_BREAK
01517 case 2:
01518 YY_RULE_SETUP
01519 #line 98 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01520 {YY_PRINT; return(QUOTE);}
01521         YY_BREAK
01522 case 3:
01523 /* rule 3 can match eol */
01524 YY_RULE_SETUP
01525 #line 99 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01526 {YY_PRINT;     return(GREATERTHAN);}
01527         YY_BREAK
01528 case 4:
01529 YY_RULE_SETUP
01530 #line 100 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01531 {YY_PRINT; yylval->ival = atoi( yytext); return(INTEGER);}
01532         YY_BREAK
01533 case 5:
01534 YY_RULE_SETUP
01535 #line 101 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01536 {YY_PRINT; yylval->dval = atof( yytext); return(DOUBLE);}
01537         YY_BREAK
01538 case 6:
01539 /* rule 6 can match eol */
01540 YY_RULE_SETUP
01541 #line 102 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01542 {YY_PRINT;  return(ENDOFELEMENT);}
01543         YY_BREAK
01544 case 7:
01545 /* rule 7 can match eol */
01546 YY_RULE_SETUP
01547 #line 105 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01548 {YY_PRINT; BEGIN osrlattributetext;  return(OSRLSTART);}
01549         YY_BREAK
01550 case 8:
01551 /* rule 8 can match eol */
01552 YY_RULE_SETUP
01553 #line 106 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01554 {YY_PRINT; return(OSRLEND);}
01555         YY_BREAK
01556 case 9:
01557 /* rule 9 can match eol */
01558 YY_RULE_SETUP
01559 #line 107 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01560 {YY_PRINT; return(RESULTHEADERSTART);}
01561         YY_BREAK
01562 case 10:
01563 /* rule 10 can match eol */
01564 YY_RULE_SETUP
01565 #line 108 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01566 {YY_PRINT; return(RESULTHEADEREND);}
01567         YY_BREAK
01568 case 11:
01569 /* rule 11 can match eol */
01570 YY_RULE_SETUP
01571 #line 109 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01572 {YY_PRINT;  return(SERVICEURISTART);}
01573         YY_BREAK
01574 case 12:
01575 /* rule 12 can match eol */
01576 YY_RULE_SETUP
01577 #line 110 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01578 {YY_PRINT; unput('<'); return(SERVICEURISTART);}
01579         YY_BREAK
01580 case 13:
01581 /* rule 13 can match eol */
01582 YY_RULE_SETUP
01583 #line 111 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01584 {YY_PRINT;  return(SERVICEURIEND);}
01585         YY_BREAK
01586 case 14:
01587 /* rule 14 can match eol */
01588 YY_RULE_SETUP
01589 #line 112 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01590 {YY_PRINT;  return(SERVICENAMESTART);}
01591         YY_BREAK
01592 case 15:
01593 /* rule 15 can match eol */
01594 YY_RULE_SETUP
01595 #line 113 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01596 {YY_PRINT; unput('<'); return(SERVICENAMESTART);}
01597         YY_BREAK
01598 case 16:
01599 /* rule 16 can match eol */
01600 YY_RULE_SETUP
01601 #line 114 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01602 {YY_PRINT;  return(SERVICENAMEEND);}
01603         YY_BREAK
01604 case 17:
01605 /* rule 17 can match eol */
01606 YY_RULE_SETUP
01607 #line 115 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01608 {YY_PRINT;  return(INSTANCENAMESTART);}
01609         YY_BREAK
01610 case 18:
01611 /* rule 18 can match eol */
01612 YY_RULE_SETUP
01613 #line 116 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01614 {YY_PRINT; unput('<'); return(INSTANCENAMESTART);}
01615         YY_BREAK
01616 case 19:
01617 /* rule 19 can match eol */
01618 YY_RULE_SETUP
01619 #line 117 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01620 {YY_PRINT;  return(INSTANCENAMEEND);}
01621         YY_BREAK
01622 case 20:
01623 /* rule 20 can match eol */
01624 YY_RULE_SETUP
01625 #line 118 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01626 {YY_PRINT;  return(JOBIDSTART);}
01627         YY_BREAK
01628 case 21:
01629 /* rule 21 can match eol */
01630 YY_RULE_SETUP
01631 #line 119 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01632 {YY_PRINT; unput('<'); return(JOBIDSTART);}
01633         YY_BREAK
01634 case 22:
01635 /* rule 22 can match eol */
01636 YY_RULE_SETUP
01637 #line 120 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01638 {YY_PRINT;  return(JOBIDEND);}
01639         YY_BREAK
01640 case 23:
01641 /* rule 23 can match eol */
01642 YY_RULE_SETUP
01643 #line 121 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01644 {YY_PRINT;  return(MESSAGESTART);}
01645         YY_BREAK
01646 case 24:
01647 /* rule 24 can match eol */
01648 YY_RULE_SETUP
01649 #line 122 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01650 {YY_PRINT; unput('<'); return(MESSAGESTART);}
01651         YY_BREAK
01652 case 25:
01653 /* rule 25 can match eol */
01654 YY_RULE_SETUP
01655 #line 123 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01656 {YY_PRINT;  return(MESSAGEEND);}
01657         YY_BREAK
01658 case 26:
01659 /* rule 26 can match eol */
01660 YY_RULE_SETUP
01661 #line 125 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01662 {YY_PRINT; return(GENERALSTATUSSTART);}
01663         YY_BREAK
01664 case 27:
01665 /* rule 27 can match eol */
01666 YY_RULE_SETUP
01667 #line 126 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01668 {YY_PRINT; return(GENERALSTATUSEND);}
01669         YY_BREAK
01670 case 28:
01671 /* rule 28 can match eol */
01672 YY_RULE_SETUP
01673 #line 128 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01674 {YY_PRINT; return(RESULTDATASTART);}
01675         YY_BREAK
01676 case 29:
01677 /* rule 29 can match eol */
01678 YY_RULE_SETUP
01679 #line 129 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01680 {YY_PRINT; return(RESULTDATAEND);}
01681         YY_BREAK
01682 case 30:
01683 /* rule 30 can match eol */
01684 YY_RULE_SETUP
01685 #line 131 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01686 {YY_PRINT; return(OPTIMIZATIONSTART);}
01687         YY_BREAK
01688 case 31:
01689 /* rule 31 can match eol */
01690 YY_RULE_SETUP
01691 #line 132 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01692 {YY_PRINT; return(OPTIMIZATIONEND);}
01693         YY_BREAK
01694 case 32:
01695 /* rule 32 can match eol */
01696 YY_RULE_SETUP
01697 #line 134 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01698 {YY_PRINT; return(SOLUTIONSTART);}
01699         YY_BREAK
01700 case 33:
01701 /* rule 33 can match eol */
01702 YY_RULE_SETUP
01703 #line 135 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01704 {YY_PRINT; return(SOLUTIONEND);}
01705         YY_BREAK
01706 case 34:
01707 /* rule 34 can match eol */
01708 YY_RULE_SETUP
01709 #line 137 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01710 {YY_PRINT; return(STATUSSTART);}
01711         YY_BREAK
01712 case 35:
01713 /* rule 35 can match eol */
01714 YY_RULE_SETUP
01715 #line 138 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01716 {YY_PRINT; return(STATUSEND);}
01717         YY_BREAK
01718 case 36:
01719 /* rule 36 can match eol */
01720 YY_RULE_SETUP
01721 #line 140 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01722 {YY_PRINT; return(VALUESSTART);}
01723         YY_BREAK
01724 case 37:
01725 /* rule 37 can match eol */
01726 YY_RULE_SETUP
01727 #line 141 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01728 {YY_PRINT; return(VALUESEND);}
01729         YY_BREAK
01730 case 38:
01731 /* rule 38 can match eol */
01732 YY_RULE_SETUP
01733 #line 143 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01734 {YY_PRINT; return(DUALVALUESSTART);}
01735         YY_BREAK
01736 case 39:
01737 /* rule 39 can match eol */
01738 YY_RULE_SETUP
01739 #line 144 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01740 {YY_PRINT; return(DUALVALUESEND);}
01741         YY_BREAK
01742 case 40:
01743 /* rule 40 can match eol */
01744 YY_RULE_SETUP
01745 #line 146 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01746 {YY_PRINT; return(VARSTART);}
01747         YY_BREAK
01748 case 41:
01749 /* rule 41 can match eol */
01750 YY_RULE_SETUP
01751 #line 147 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01752 {YY_PRINT; return(VARIABLESSTART);}
01753         YY_BREAK
01754 case 42:
01755 /* rule 42 can match eol */
01756 YY_RULE_SETUP
01757 #line 148 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01758 {YY_PRINT; return(VAREND);}
01759         YY_BREAK
01760 case 43:
01761 /* rule 43 can match eol */
01762 YY_RULE_SETUP
01763 #line 149 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01764 {YY_PRINT; return(VARIABLESEND);}
01765         YY_BREAK
01766 case 44:
01767 /* rule 44 can match eol */
01768 YY_RULE_SETUP
01769 #line 151 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01770 {YY_PRINT; return(OBJSTART);}
01771         YY_BREAK
01772 case 45:
01773 /* rule 45 can match eol */
01774 YY_RULE_SETUP
01775 #line 152 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01776 {YY_PRINT; return(OBJECTIVESSTART);}
01777         YY_BREAK
01778 case 46:
01779 /* rule 46 can match eol */
01780 YY_RULE_SETUP
01781 #line 153 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01782 {YY_PRINT; return(OBJEND);}
01783         YY_BREAK
01784 case 47:
01785 /* rule 47 can match eol */
01786 YY_RULE_SETUP
01787 #line 154 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01788 {YY_PRINT; return(OBJECTIVESEND);}
01789         YY_BREAK
01790 case 48:
01791 /* rule 48 can match eol */
01792 YY_RULE_SETUP
01793 #line 156 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01794 {YY_PRINT; return(CONSTART);}
01795         YY_BREAK
01796 case 49:
01797 /* rule 49 can match eol */
01798 YY_RULE_SETUP
01799 #line 157 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01800 {YY_PRINT; return(CONSTRAINTSSTART);}
01801         YY_BREAK
01802 case 50:
01803 /* rule 50 can match eol */
01804 YY_RULE_SETUP
01805 #line 158 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01806 {YY_PRINT; return(CONEND);}
01807         YY_BREAK
01808 case 51:
01809 /* rule 51 can match eol */
01810 YY_RULE_SETUP
01811 #line 159 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01812 {YY_PRINT; return(CONSTRAINTSEND);}
01813         YY_BREAK
01814 case 52:
01815 /* rule 52 can match eol */
01816 YY_RULE_SETUP
01817 #line 162 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01818 {YY_PRINT; return(OTHERSTART);}
01819         YY_BREAK
01820 case 53:
01821 /* rule 53 can match eol */
01822 YY_RULE_SETUP
01823 #line 163 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01824 {YY_PRINT; return(OTHEREND);}
01825         YY_BREAK
01826 case 54:
01827 /* rule 54 can match eol */
01828 YY_RULE_SETUP
01829 #line 165 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01830 {YY_PRINT; return(NUMBEROFSOLUTIONSATT);}
01831         YY_BREAK
01832 case 55:
01833 /* rule 55 can match eol */
01834 YY_RULE_SETUP
01835 #line 166 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01836 {YY_PRINT; return(NUMBEROFVARIABLESATT);}
01837         YY_BREAK
01838 case 56:
01839 /* rule 56 can match eol */
01840 YY_RULE_SETUP
01841 #line 167 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01842 {YY_PRINT; return(NUMBEROFCONSTRAINTSATT);}
01843         YY_BREAK
01844 case 57:
01845 /* rule 57 can match eol */
01846 YY_RULE_SETUP
01847 #line 168 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01848 {YY_PRINT; return(NUMBEROFOBJECTIVESATT);}
01849         YY_BREAK
01850 case 58:
01851 /* rule 58 can match eol */
01852 YY_RULE_SETUP
01853 #line 169 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01854 {YY_PRINT; return(OBJECTIVEIDXATT);}
01855         YY_BREAK
01856 case 59:
01857 /* rule 59 can match eol */
01858 YY_RULE_SETUP
01859 #line 170 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01860 {YY_PRINT; return(IDXATT);}
01861         YY_BREAK
01862 case 60:
01863 /* rule 60 can match eol */
01864 YY_RULE_SETUP
01865 #line 171 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01866 {YY_PRINT; BEGIN attributetext; return(TYPEATT);}
01867         YY_BREAK
01868 case 61:
01869 /* rule 61 can match eol */
01870 YY_RULE_SETUP
01871 #line 172 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01872 {YY_PRINT; BEGIN attributetext; return(DESCRIPTIONATT);}
01873         YY_BREAK
01874 case 62:
01875 /* rule 62 can match eol */
01876 YY_RULE_SETUP
01877 #line 173 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01878 {YY_PRINT; BEGIN attributetext; return(NAMEATT);}
01879         YY_BREAK
01880 case 63:
01881 /* rule 63 can match eol */
01882 YY_RULE_SETUP
01883 #line 175 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01884 {YY_PRINT;  return(SERVICEURISTARTANDEND);}
01885         YY_BREAK
01886 case 64:
01887 /* rule 64 can match eol */
01888 YY_RULE_SETUP
01889 #line 176 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01890 {YY_PRINT;  return(SERVICENAMESTARTANDEND);}
01891         YY_BREAK
01892 case 65:
01893 /* rule 65 can match eol */
01894 YY_RULE_SETUP
01895 #line 177 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01896 {YY_PRINT;  return(INSTANCENAMESTARTANDEND);}
01897         YY_BREAK
01898 case 66:
01899 /* rule 66 can match eol */
01900 YY_RULE_SETUP
01901 #line 178 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01902 {YY_PRINT;  return(JOBIDSTARTANDEND);}
01903         YY_BREAK
01904 case 67:
01905 /* rule 67 can match eol */
01906 YY_RULE_SETUP
01907 #line 179 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01908 {YY_PRINT;  return(MESSAGESTARTANDEND);}
01909         YY_BREAK
01910 case 68:
01911 /* rule 68 can match eol */
01912 YY_RULE_SETUP
01913 #line 180 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01914 {YY_PRINT;  return(RESULTDATASTARTANDEND);}
01915         YY_BREAK
01916 case 69:
01917 /* rule 69 can match eol */
01918 YY_RULE_SETUP
01919 #line 185 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01920 { YY_PRINT;  yylval->charval = strdup( yytext);   yyextra->errorText = yylval->charval;    /*yylval->charval = yytext;*/  return (ELEMENTTEXT); }
01921         YY_BREAK
01922 case 70:
01923 YY_RULE_SETUP
01924 #line 187 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01925 BEGIN comment;
01926         YY_BREAK
01927 case 71:
01928 #line 189 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01929 case 72:
01930 /* rule 72 can match eol */
01931 YY_RULE_SETUP
01932 #line 189 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01933 ;
01934         YY_BREAK
01935 case 73:
01936 YY_RULE_SETUP
01937 #line 190 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01938 BEGIN 0;
01939         YY_BREAK
01940 case 74:
01941 YY_RULE_SETUP
01942 #line 192 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01943 BEGIN xmldeclaration;
01944         YY_BREAK
01945 case 75:
01946 #line 194 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01947 case 76:
01948 /* rule 76 can match eol */
01949 YY_RULE_SETUP
01950 #line 194 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01951 ;
01952         YY_BREAK
01953 case 77:
01954 YY_RULE_SETUP
01955 #line 196 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01956 BEGIN 0;
01957         YY_BREAK
01958 case 78:
01959 /* rule 78 can match eol */
01960 YY_RULE_SETUP
01961 #line 202 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01962 {YY_PRINT;    /*yylval->charval = strdup(yytext);*/ yylval->charval = yytext;
01963                                                         BEGIN 0;  return(ATTRIBUTETEXT);}
01964         YY_BREAK
01965 case 79:
01966 /* rule 79 can match eol */
01967 YY_RULE_SETUP
01968 #line 205 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01969 {YY_PRINT;  BEGIN 0; /*yylval->charval = strdup(yytext);*/  yylval->charval = yytext; return(OSRLATTRIBUTETEXT);}
01970         YY_BREAK
01971 case 80:
01972 /* rule 80 can match eol */
01973 YY_RULE_SETUP
01974 #line 208 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01975 { 
01976         std::string error;
01977         std::ostringstream outStr;
01978         outStr << "ecountered a spurious character in the lexer" << std::endl;
01979         outStr << "The first character is: ";
01980         outStr <<  yytext;
01981         outStr << std::endl;
01982         outStr << "See line number: " << yylineno << std::endl;  
01983         error = outStr.str();
01984         throw ErrorClass( error);
01985 }
01986         YY_BREAK
01987 case 81:
01988 YY_RULE_SETUP
01989 #line 223 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
01990 ECHO;
01991         YY_BREAK
01992 #line 1993 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.cpp"
01993 case YY_STATE_EOF(INITIAL):
01994 case YY_STATE_EOF(attributetext):
01995 case YY_STATE_EOF(osrlattributetext):
01996 case YY_STATE_EOF(comment):
01997 case YY_STATE_EOF(xmldeclaration):
01998         yyterminate();
01999 
02000         case YY_END_OF_BUFFER:
02001                 {
02002                 /* Amount of text matched not including the EOB char. */
02003                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
02004 
02005                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
02006                 *yy_cp = yyg->yy_hold_char;
02007                 YY_RESTORE_YY_MORE_OFFSET
02008 
02009                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
02010                         {
02011                         /* We're scanning a new file or input source.  It's
02012                          * possible that this happened because the user
02013                          * just pointed yyin at a new source and called
02014                          * osrllex().  If so, then we have to assure
02015                          * consistency between YY_CURRENT_BUFFER and our
02016                          * globals.  Here is the right place to do so, because
02017                          * this is the first action (other than possibly a
02018                          * back-up) that will match for the new input source.
02019                          */
02020                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02021                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
02022                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
02023                         }
02024 
02025                 /* Note that here we test for yy_c_buf_p "<=" to the position
02026                  * of the first EOB in the buffer, since yy_c_buf_p will
02027                  * already have been incremented past the NUL character
02028                  * (since all states make transitions on EOB to the
02029                  * end-of-buffer state).  Contrast this with the test
02030                  * in input().
02031                  */
02032                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02033                         { /* This was really a NUL. */
02034                         yy_state_type yy_next_state;
02035 
02036                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
02037 
02038                         yy_current_state = yy_get_previous_state( yyscanner );
02039 
02040                         /* Okay, we're now positioned to make the NUL
02041                          * transition.  We couldn't have
02042                          * yy_get_previous_state() go ahead and do it
02043                          * for us because it doesn't know how to deal
02044                          * with the possibility of jamming (and we don't
02045                          * want to build jamming into it because then it
02046                          * will run more slowly).
02047                          */
02048 
02049                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
02050 
02051                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02052 
02053                         if ( yy_next_state )
02054                                 {
02055                                 /* Consume the NUL. */
02056                                 yy_cp = ++yyg->yy_c_buf_p;
02057                                 yy_current_state = yy_next_state;
02058                                 goto yy_match;
02059                                 }
02060 
02061                         else
02062                                 {
02063                                 yy_cp = yyg->yy_c_buf_p;
02064                                 goto yy_find_action;
02065                                 }
02066                         }
02067 
02068                 else switch ( yy_get_next_buffer( yyscanner ) )
02069                         {
02070                         case EOB_ACT_END_OF_FILE:
02071                                 {
02072                                 yyg->yy_did_buffer_switch_on_eof = 0;
02073 
02074                                 if ( osrlwrap(yyscanner ) )
02075                                         {
02076                                         /* Note: because we've taken care in
02077                                          * yy_get_next_buffer() to have set up
02078                                          * yytext, we can now set up
02079                                          * yy_c_buf_p so that if some total
02080                                          * hoser (like flex itself) wants to
02081                                          * call the scanner after we return the
02082                                          * YY_NULL, it'll still work - another
02083                                          * YY_NULL will get returned.
02084                                          */
02085                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
02086 
02087                                         yy_act = YY_STATE_EOF(YY_START);
02088                                         goto do_action;
02089                                         }
02090 
02091                                 else
02092                                         {
02093                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
02094                                                 YY_NEW_FILE;
02095                                         }
02096                                 break;
02097                                 }
02098 
02099                         case EOB_ACT_CONTINUE_SCAN:
02100                                 yyg->yy_c_buf_p =
02101                                         yyg->yytext_ptr + yy_amount_of_matched_text;
02102 
02103                                 yy_current_state = yy_get_previous_state( yyscanner );
02104 
02105                                 yy_cp = yyg->yy_c_buf_p;
02106                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02107                                 goto yy_match;
02108 
02109                         case EOB_ACT_LAST_MATCH:
02110                                 yyg->yy_c_buf_p =
02111                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
02112 
02113                                 yy_current_state = yy_get_previous_state( yyscanner );
02114 
02115                                 yy_cp = yyg->yy_c_buf_p;
02116                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02117                                 goto yy_find_action;
02118                         }
02119                 break;
02120                 }
02121 
02122         default:
02123                 YY_FATAL_ERROR(
02124                         "fatal flex scanner internal error--no action found" );
02125         } /* end of action switch */
02126                 } /* end of scanning one token */
02127 } /* end of osrllex */
02128 
02129 /* yy_get_next_buffer - try to read in a new buffer
02130  *
02131  * Returns a code representing an action:
02132  *      EOB_ACT_LAST_MATCH -
02133  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
02134  *      EOB_ACT_END_OF_FILE - end of file
02135  */
02136 static int yy_get_next_buffer (yyscan_t yyscanner)
02137 {
02138     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02139         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02140         register char *source = yyg->yytext_ptr;
02141         register int number_to_move, i;
02142         int ret_val;
02143 
02144         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
02145                 YY_FATAL_ERROR(
02146                 "fatal flex scanner internal error--end of buffer missed" );
02147 
02148         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02149                 { /* Don't try to fill the buffer, so this is an EOF. */
02150                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
02151                         {
02152                         /* We matched a single character, the EOB, so
02153                          * treat this as a final EOF.
02154                          */
02155                         return EOB_ACT_END_OF_FILE;
02156                         }
02157 
02158                 else
02159                         {
02160                         /* We matched some text prior to the EOB, first
02161                          * process it.
02162                          */
02163                         return EOB_ACT_LAST_MATCH;
02164                         }
02165                 }
02166 
02167         /* Try to read more data. */
02168 
02169         /* First move last chars to start of buffer. */
02170         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
02171 
02172         for ( i = 0; i < number_to_move; ++i )
02173                 *(dest++) = *(source++);
02174 
02175         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02176                 /* don't do the read, it's not guaranteed to return an EOF,
02177                  * just force an EOF
02178                  */
02179                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
02180 
02181         else
02182                 {
02183                         int num_to_read =
02184                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02185 
02186                 while ( num_to_read <= 0 )
02187                         { /* Not enough room in the buffer - grow it. */
02188 
02189                         /* just a shorter name for the current buffer */
02190                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02191 
02192                         int yy_c_buf_p_offset =
02193                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
02194 
02195                         if ( b->yy_is_our_buffer )
02196                                 {
02197                                 int new_size = b->yy_buf_size * 2;
02198 
02199                                 if ( new_size <= 0 )
02200                                         b->yy_buf_size += b->yy_buf_size / 8;
02201                                 else
02202                                         b->yy_buf_size *= 2;
02203 
02204                                 b->yy_ch_buf = (char *)
02205                                         /* Include room in for 2 EOB chars. */
02206                                         osrlrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
02207                                 }
02208                         else
02209                                 /* Can't grow it, we don't own it. */
02210                                 b->yy_ch_buf = 0;
02211 
02212                         if ( ! b->yy_ch_buf )
02213                                 YY_FATAL_ERROR(
02214                                 "fatal error - scanner input buffer overflow" );
02215 
02216                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
02217 
02218                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02219                                                 number_to_move - 1;
02220 
02221                         }
02222 
02223                 if ( num_to_read > YY_READ_BUF_SIZE )
02224                         num_to_read = YY_READ_BUF_SIZE;
02225 
02226                 /* Read in more data. */
02227                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02228                         yyg->yy_n_chars, num_to_read );
02229 
02230                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02231                 }
02232 
02233         if ( yyg->yy_n_chars == 0 )
02234                 {
02235                 if ( number_to_move == YY_MORE_ADJ )
02236                         {
02237                         ret_val = EOB_ACT_END_OF_FILE;
02238                         osrlrestart(yyin  ,yyscanner);
02239                         }
02240 
02241                 else
02242                         {
02243                         ret_val = EOB_ACT_LAST_MATCH;
02244                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02245                                 YY_BUFFER_EOF_PENDING;
02246                         }
02247                 }
02248 
02249         else
02250                 ret_val = EOB_ACT_CONTINUE_SCAN;
02251 
02252         yyg->yy_n_chars += number_to_move;
02253         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02254         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02255 
02256         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02257 
02258         return ret_val;
02259 }
02260 
02261 /* yy_get_previous_state - get the state just before the EOB char was reached */
02262 
02263     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02264 {
02265         register yy_state_type yy_current_state;
02266         register char *yy_cp;
02267     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02268 
02269         yy_current_state = yyg->yy_start;
02270 
02271         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02272                 {
02273                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02274                 if ( yy_accept[yy_current_state] )
02275                         {
02276                         yyg->yy_last_accepting_state = yy_current_state;
02277                         yyg->yy_last_accepting_cpos = yy_cp;
02278                         }
02279                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02280                         {
02281                         yy_current_state = (int) yy_def[yy_current_state];
02282                         if ( yy_current_state >= 719 )
02283                                 yy_c = yy_meta[(unsigned int) yy_c];
02284                         }
02285                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02286                 }
02287 
02288         return yy_current_state;
02289 }
02290 
02291 /* yy_try_NUL_trans - try to make a transition on the NUL character
02292  *
02293  * synopsis
02294  *      next_state = yy_try_NUL_trans( current_state );
02295  */
02296     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
02297 {
02298         register int yy_is_jam;
02299     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
02300         register char *yy_cp = yyg->yy_c_buf_p;
02301 
02302         register YY_CHAR yy_c = 1;
02303         if ( yy_accept[yy_current_state] )
02304                 {
02305                 yyg->yy_last_accepting_state = yy_current_state;
02306                 yyg->yy_last_accepting_cpos = yy_cp;
02307                 }
02308         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02309                 {
02310                 yy_current_state = (int) yy_def[yy_current_state];
02311                 if ( yy_current_state >= 719 )
02312                         yy_c = yy_meta[(unsigned int) yy_c];
02313                 }
02314         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02315         yy_is_jam = (yy_current_state == 718);
02316 
02317         return yy_is_jam ? 0 : yy_current_state;
02318 }
02319 
02320     static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
02321 {
02322         register char *yy_cp;
02323     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02324 
02325     yy_cp = yyg->yy_c_buf_p;
02326 
02327         /* undo effects of setting up yytext */
02328         *yy_cp = yyg->yy_hold_char;
02329 
02330         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02331                 { /* need to shift things up to make room */
02332                 /* +2 for EOB chars. */
02333                 register int number_to_move = yyg->yy_n_chars + 2;
02334                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
02335                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
02336                 register char *source =
02337                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
02338 
02339                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02340                         *--dest = *--source;
02341 
02342                 yy_cp += (int) (dest - source);
02343                 yy_bp += (int) (dest - source);
02344                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
02345                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
02346 
02347                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02348                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
02349                 }
02350 
02351         *--yy_cp = (char) c;
02352 
02353     if ( c == '\n' ){
02354         --yylineno;
02355     }
02356 
02357         yyg->yytext_ptr = yy_bp;
02358         yyg->yy_hold_char = *yy_cp;
02359         yyg->yy_c_buf_p = yy_cp;
02360 }
02361 
02362 #ifndef YY_NO_INPUT
02363 #ifdef __cplusplus
02364     static int yyinput (yyscan_t yyscanner)
02365 #else
02366     static int input  (yyscan_t yyscanner)
02367 #endif
02368 
02369 {
02370         int c;
02371     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02372 
02373         *yyg->yy_c_buf_p = yyg->yy_hold_char;
02374 
02375         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02376                 {
02377                 /* yy_c_buf_p now points to the character we want to return.
02378                  * If this occurs *before* the EOB characters, then it's a
02379                  * valid NUL; if not, then we've hit the end of the buffer.
02380                  */
02381                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02382                         /* This was really a NUL. */
02383                         *yyg->yy_c_buf_p = '\0';
02384 
02385                 else
02386                         { /* need more input */
02387                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02388                         ++yyg->yy_c_buf_p;
02389 
02390                         switch ( yy_get_next_buffer( yyscanner ) )
02391                                 {
02392                                 case EOB_ACT_LAST_MATCH:
02393                                         /* This happens because yy_g_n_b()
02394                                          * sees that we've accumulated a
02395                                          * token and flags that we need to
02396                                          * try matching the token before
02397                                          * proceeding.  But for input(),
02398                                          * there's no matching to consider.
02399                                          * So convert the EOB_ACT_LAST_MATCH
02400                                          * to EOB_ACT_END_OF_FILE.
02401                                          */
02402 
02403                                         /* Reset buffer status. */
02404                                         osrlrestart(yyin ,yyscanner);
02405 
02406                                         /*FALLTHROUGH*/
02407 
02408                                 case EOB_ACT_END_OF_FILE:
02409                                         {
02410                                         if ( osrlwrap(yyscanner ) )
02411                                                 return EOF;
02412 
02413                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
02414                                                 YY_NEW_FILE;
02415 #ifdef __cplusplus
02416                                         return yyinput(yyscanner);
02417 #else
02418                                         return input(yyscanner);
02419 #endif
02420                                         }
02421 
02422                                 case EOB_ACT_CONTINUE_SCAN:
02423                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02424                                         break;
02425                                 }
02426                         }
02427                 }
02428 
02429         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
02430         *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
02431         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02432 
02433         if ( c == '\n' )
02434                    
02435     do{ yylineno++;
02436         yycolumn=0;
02437     }while(0)
02438 ;
02439 
02440         return c;
02441 }
02442 #endif  /* ifndef YY_NO_INPUT */
02443 
02449     void osrlrestart  (FILE * input_file , yyscan_t yyscanner)
02450 {
02451     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02452 
02453         if ( ! YY_CURRENT_BUFFER ){
02454         osrlensure_buffer_stack (yyscanner);
02455                 YY_CURRENT_BUFFER_LVALUE =
02456             osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02457         }
02458 
02459         osrl_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02460         osrl_load_buffer_state(yyscanner );
02461 }
02462 
02467     void osrl_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
02468 {
02469     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02470 
02471         /* TODO. We should be able to replace this entire function body
02472          * with
02473          *              osrlpop_buffer_state();
02474          *              osrlpush_buffer_state(new_buffer);
02475      */
02476         osrlensure_buffer_stack (yyscanner);
02477         if ( YY_CURRENT_BUFFER == new_buffer )
02478                 return;
02479 
02480         if ( YY_CURRENT_BUFFER )
02481                 {
02482                 /* Flush out information for old buffer. */
02483                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02484                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02485                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02486                 }
02487 
02488         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02489         osrl_load_buffer_state(yyscanner );
02490 
02491         /* We don't actually know whether we did this switch during
02492          * EOF (osrlwrap()) processing, but the only time this flag
02493          * is looked at is after osrlwrap() is called, so it's safe
02494          * to go ahead and always set it.
02495          */
02496         yyg->yy_did_buffer_switch_on_eof = 1;
02497 }
02498 
02499 static void osrl_load_buffer_state  (yyscan_t yyscanner)
02500 {
02501     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02502         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02503         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02504         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02505         yyg->yy_hold_char = *yyg->yy_c_buf_p;
02506 }
02507 
02514     YY_BUFFER_STATE osrl_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
02515 {
02516         YY_BUFFER_STATE b;
02517     
02518         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02519         if ( ! b )
02520                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
02521 
02522         b->yy_buf_size = size;
02523 
02524         /* yy_ch_buf has to be 2 characters longer than the size given because
02525          * we need to put in 2 end-of-buffer characters.
02526          */
02527         b->yy_ch_buf = (char *) osrlalloc(b->yy_buf_size + 2 ,yyscanner );
02528         if ( ! b->yy_ch_buf )
02529                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
02530 
02531         b->yy_is_our_buffer = 1;
02532 
02533         osrl_init_buffer(b,file ,yyscanner);
02534 
02535         return b;
02536 }
02537 
02542     void osrl_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
02543 {
02544     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02545 
02546         if ( ! b )
02547                 return;
02548 
02549         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
02550                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02551 
02552         if ( b->yy_is_our_buffer )
02553                 osrlfree((void *) b->yy_ch_buf ,yyscanner );
02554 
02555         osrlfree((void *) b ,yyscanner );
02556 }
02557 
02558 #ifndef __cplusplus
02559 extern int isatty (int );
02560 #endif /* __cplusplus */
02561     
02562 /* Initializes or reinitializes a buffer.
02563  * This function is sometimes called more than once on the same buffer,
02564  * such as during a osrlrestart() or at EOF.
02565  */
02566     static void osrl_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
02567 
02568 {
02569         int oerrno = errno;
02570     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02571 
02572         osrl_flush_buffer(b ,yyscanner);
02573 
02574         b->yy_input_file = file;
02575         b->yy_fill_buffer = 1;
02576 
02577     /* If b is the current buffer, then osrl_init_buffer was _probably_
02578      * called from osrlrestart() or through yy_get_next_buffer.
02579      * In that case, we don't want to reset the lineno or column.
02580      */
02581     if (b != YY_CURRENT_BUFFER){
02582         b->yy_bs_lineno = 1;
02583         b->yy_bs_column = 0;
02584     }
02585 
02586         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02587     
02588         errno = oerrno;
02589 }
02590 
02595     void osrl_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
02596 {
02597     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02598         if ( ! b )
02599                 return;
02600 
02601         b->yy_n_chars = 0;
02602 
02603         /* We always need two end-of-buffer characters.  The first causes
02604          * a transition to the end-of-buffer state.  The second causes
02605          * a jam in that state.
02606          */
02607         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02608         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02609 
02610         b->yy_buf_pos = &b->yy_ch_buf[0];
02611 
02612         b->yy_at_bol = 1;
02613         b->yy_buffer_status = YY_BUFFER_NEW;
02614 
02615         if ( b == YY_CURRENT_BUFFER )
02616                 osrl_load_buffer_state(yyscanner );
02617 }
02618 
02625 void osrlpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02626 {
02627     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02628         if (new_buffer == NULL)
02629                 return;
02630 
02631         osrlensure_buffer_stack(yyscanner);
02632 
02633         /* This block is copied from osrl_switch_to_buffer. */
02634         if ( YY_CURRENT_BUFFER )
02635                 {
02636                 /* Flush out information for old buffer. */
02637                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02638                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02639                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02640                 }
02641 
02642         /* Only push if top exists. Otherwise, replace top. */
02643         if (YY_CURRENT_BUFFER)
02644                 yyg->yy_buffer_stack_top++;
02645         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02646 
02647         /* copied from osrl_switch_to_buffer. */
02648         osrl_load_buffer_state(yyscanner );
02649         yyg->yy_did_buffer_switch_on_eof = 1;
02650 }
02651 
02656 void osrlpop_buffer_state (yyscan_t yyscanner)
02657 {
02658     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02659         if (!YY_CURRENT_BUFFER)
02660                 return;
02661 
02662         osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02663         YY_CURRENT_BUFFER_LVALUE = NULL;
02664         if (yyg->yy_buffer_stack_top > 0)
02665                 --yyg->yy_buffer_stack_top;
02666 
02667         if (YY_CURRENT_BUFFER) {
02668                 osrl_load_buffer_state(yyscanner );
02669                 yyg->yy_did_buffer_switch_on_eof = 1;
02670         }
02671 }
02672 
02673 /* Allocates the stack if it does not exist.
02674  *  Guarantees space for at least one push.
02675  */
02676 static void osrlensure_buffer_stack (yyscan_t yyscanner)
02677 {
02678         int num_to_alloc;
02679     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02680 
02681         if (!yyg->yy_buffer_stack) {
02682 
02683                 /* First allocation is just for 2 elements, since we don't know if this
02684                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
02685                  * immediate realloc on the next call.
02686          */
02687                 num_to_alloc = 1;
02688                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlalloc
02689                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
02690                                                                 , yyscanner);
02691                 
02692                 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02693                                 
02694                 yyg->yy_buffer_stack_max = num_to_alloc;
02695                 yyg->yy_buffer_stack_top = 0;
02696                 return;
02697         }
02698 
02699         if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02700 
02701                 /* Increase the buffer to prepare for a possible push. */
02702                 int grow_size = 8 /* arbitrary grow size */;
02703 
02704                 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02705                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlrealloc
02706                                                                 (yyg->yy_buffer_stack,
02707                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
02708                                                                 , yyscanner);
02709 
02710                 /* zero only the new slots.*/
02711                 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02712                 yyg->yy_buffer_stack_max = num_to_alloc;
02713         }
02714 }
02715 
02722 YY_BUFFER_STATE osrl_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
02723 {
02724         YY_BUFFER_STATE b;
02725     
02726         if ( size < 2 ||
02727              base[size-2] != YY_END_OF_BUFFER_CHAR ||
02728              base[size-1] != YY_END_OF_BUFFER_CHAR )
02729                 /* They forgot to leave room for the EOB's. */
02730                 return 0;
02731 
02732         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02733         if ( ! b )
02734                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_buffer()" );
02735 
02736         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
02737         b->yy_buf_pos = b->yy_ch_buf = base;
02738         b->yy_is_our_buffer = 0;
02739         b->yy_input_file = 0;
02740         b->yy_n_chars = b->yy_buf_size;
02741         b->yy_is_interactive = 0;
02742         b->yy_at_bol = 1;
02743         b->yy_fill_buffer = 0;
02744         b->yy_buffer_status = YY_BUFFER_NEW;
02745 
02746         osrl_switch_to_buffer(b ,yyscanner );
02747 
02748         return b;
02749 }
02750 
02759 YY_BUFFER_STATE osrl_scan_string (yyconst char * yystr , yyscan_t yyscanner)
02760 {
02761     
02762         return osrl_scan_bytes(yystr,strlen(yystr) ,yyscanner);
02763 }
02764 
02772 YY_BUFFER_STATE osrl_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
02773 {
02774         YY_BUFFER_STATE b;
02775         char *buf;
02776         yy_size_t n;
02777         int i;
02778     
02779         /* Get memory for full buffer, including space for trailing EOB's. */
02780         n = _yybytes_len + 2;
02781         buf = (char *) osrlalloc(n ,yyscanner );
02782         if ( ! buf )
02783                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_bytes()" );
02784 
02785         for ( i = 0; i < _yybytes_len; ++i )
02786                 buf[i] = yybytes[i];
02787 
02788         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02789 
02790         b = osrl_scan_buffer(buf,n ,yyscanner);
02791         if ( ! b )
02792                 YY_FATAL_ERROR( "bad buffer in osrl_scan_bytes()" );
02793 
02794         /* It's okay to grow etc. this buffer, and we should throw it
02795          * away when we're done.
02796          */
02797         b->yy_is_our_buffer = 1;
02798 
02799         return b;
02800 }
02801 
02802 #ifndef YY_EXIT_FAILURE
02803 #define YY_EXIT_FAILURE 2
02804 #endif
02805 
02806 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02807 {
02808         (void) fprintf( stderr, "%s\n", msg );
02809         exit( YY_EXIT_FAILURE );
02810 }
02811 
02812 /* Redefine yyless() so it works in section 3 code. */
02813 
02814 #undef yyless
02815 #define yyless(n) \
02816         do \
02817                 { \
02818                 /* Undo effects of setting up yytext. */ \
02819         int yyless_macro_arg = (n); \
02820         YY_LESS_LINENO(yyless_macro_arg);\
02821                 yytext[yyleng] = yyg->yy_hold_char; \
02822                 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02823                 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02824                 *yyg->yy_c_buf_p = '\0'; \
02825                 yyleng = yyless_macro_arg; \
02826                 } \
02827         while ( 0 )
02828 
02829 /* Accessor  methods (get/set functions) to struct members. */
02830 
02834 YY_EXTRA_TYPE osrlget_extra  (yyscan_t yyscanner)
02835 {
02836     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02837     return yyextra;
02838 }
02839 
02843 int osrlget_lineno  (yyscan_t yyscanner)
02844 {
02845     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02846     
02847         if (! YY_CURRENT_BUFFER)
02848             return 0;
02849     
02850     return yylineno;
02851 }
02852 
02856 int osrlget_column  (yyscan_t yyscanner)
02857 {
02858     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02859     
02860         if (! YY_CURRENT_BUFFER)
02861             return 0;
02862     
02863     return yycolumn;
02864 }
02865 
02869 FILE *osrlget_in  (yyscan_t yyscanner)
02870 {
02871     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02872     return yyin;
02873 }
02874 
02878 FILE *osrlget_out  (yyscan_t yyscanner)
02879 {
02880     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02881     return yyout;
02882 }
02883 
02887 int osrlget_leng  (yyscan_t yyscanner)
02888 {
02889     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02890     return yyleng;
02891 }
02892 
02897 char *osrlget_text  (yyscan_t yyscanner)
02898 {
02899     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02900     return yytext;
02901 }
02902 
02907 void osrlset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
02908 {
02909     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02910     yyextra = user_defined ;
02911 }
02912 
02917 void osrlset_lineno (int  line_number , yyscan_t yyscanner)
02918 {
02919     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02920 
02921         /* lineno is only valid if an input buffer exists. */
02922         if (! YY_CURRENT_BUFFER )
02923            yy_fatal_error( "osrlset_lineno called with no buffer" , yyscanner); 
02924     
02925     yylineno = line_number;
02926 }
02927 
02932 void osrlset_column (int  column_no , yyscan_t yyscanner)
02933 {
02934     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02935 
02936         /* column is only valid if an input buffer exists. */
02937         if (! YY_CURRENT_BUFFER )
02938            yy_fatal_error( "osrlset_column called with no buffer" , yyscanner); 
02939     
02940     yycolumn = column_no;
02941 }
02942 
02949 void osrlset_in (FILE *  in_str , yyscan_t yyscanner)
02950 {
02951     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02952     yyin = in_str ;
02953 }
02954 
02955 void osrlset_out (FILE *  out_str , yyscan_t yyscanner)
02956 {
02957     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02958     yyout = out_str ;
02959 }
02960 
02961 int osrlget_debug  (yyscan_t yyscanner)
02962 {
02963     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02964     return yy_flex_debug;
02965 }
02966 
02967 void osrlset_debug (int  bdebug , yyscan_t yyscanner)
02968 {
02969     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02970     yy_flex_debug = bdebug ;
02971 }
02972 
02973 /* Accessor methods for yylval and yylloc */
02974 
02975 YYSTYPE * osrlget_lval  (yyscan_t yyscanner)
02976 {
02977     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02978     return yylval;
02979 }
02980 
02981 void osrlset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
02982 {
02983     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02984     yylval = yylval_param;
02985 }
02986 
02987 YYLTYPE *osrlget_lloc  (yyscan_t yyscanner)
02988 {
02989     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02990     return yylloc;
02991 }
02992     
02993 void osrlset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
02994 {
02995     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02996     yylloc = yylloc_param;
02997 }
02998     
02999 /* User-visible API */
03000 
03001 /* osrllex_init is special because it creates the scanner itself, so it is
03002  * the ONLY reentrant function that doesn't take the scanner as the last argument.
03003  * That's why we explicitly handle the declaration, instead of using our macros.
03004  */
03005 
03006 int osrllex_init(yyscan_t* ptr_yy_globals)
03007 
03008 {
03009     if (ptr_yy_globals == NULL){
03010         errno = EINVAL;
03011         return 1;
03012     }
03013 
03014     *ptr_yy_globals = (yyscan_t) osrlalloc ( sizeof( struct yyguts_t ), NULL );
03015 
03016     if (*ptr_yy_globals == NULL){
03017         errno = ENOMEM;
03018         return 1;
03019     }
03020 
03021     /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
03022     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
03023 
03024     return yy_init_globals ( *ptr_yy_globals );
03025 }
03026 
03027 static int yy_init_globals (yyscan_t yyscanner)
03028 {
03029     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03030     /* Initialization is the same as for the non-reentrant scanner.
03031      * This function is called from osrllex_destroy(), so don't allocate here.
03032      */
03033 
03034     yyg->yy_buffer_stack = 0;
03035     yyg->yy_buffer_stack_top = 0;
03036     yyg->yy_buffer_stack_max = 0;
03037     yyg->yy_c_buf_p = (char *) 0;
03038     yyg->yy_init = 0;
03039     yyg->yy_start = 0;
03040 
03041     yyg->yy_start_stack_ptr = 0;
03042     yyg->yy_start_stack_depth = 0;
03043     yyg->yy_start_stack =  NULL;
03044 
03045 /* Defined in main.c */
03046 #ifdef YY_STDINIT
03047     yyin = stdin;
03048     yyout = stdout;
03049 #else
03050     yyin = (FILE *) 0;
03051     yyout = (FILE *) 0;
03052 #endif
03053 
03054     /* For future reference: Set errno on error, since we are called by
03055      * osrllex_init()
03056      */
03057     return 0;
03058 }
03059 
03060 /* osrllex_destroy is for both reentrant and non-reentrant scanners. */
03061 int osrllex_destroy  (yyscan_t yyscanner)
03062 {
03063     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03064 
03065     /* Pop the buffer stack, destroying each element. */
03066         while(YY_CURRENT_BUFFER){
03067                 osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
03068                 YY_CURRENT_BUFFER_LVALUE = NULL;
03069                 osrlpop_buffer_state(yyscanner);
03070         }
03071 
03072         /* Destroy the stack itself. */
03073         osrlfree(yyg->yy_buffer_stack ,yyscanner);
03074         yyg->yy_buffer_stack = NULL;
03075 
03076     /* Destroy the start condition stack. */
03077         osrlfree(yyg->yy_start_stack ,yyscanner );
03078         yyg->yy_start_stack = NULL;
03079 
03080     /* Reset the globals. This is important in a non-reentrant scanner so the next time
03081      * osrllex() is called, initialization will occur. */
03082     yy_init_globals( yyscanner);
03083 
03084     /* Destroy the main struct (reentrant only). */
03085     osrlfree ( yyscanner , yyscanner );
03086     yyscanner = NULL;
03087     return 0;
03088 }
03089 
03090 /*
03091  * Internal utility routines.
03092  */
03093 
03094 #ifndef yytext_ptr
03095 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
03096 {
03097         register int i;
03098         for ( i = 0; i < n; ++i )
03099                 s1[i] = s2[i];
03100 }
03101 #endif
03102 
03103 #ifdef YY_NEED_STRLEN
03104 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
03105 {
03106         register int n;
03107         for ( n = 0; s[n]; ++n )
03108                 ;
03109 
03110         return n;
03111 }
03112 #endif
03113 
03114 void *osrlalloc (yy_size_t  size , yyscan_t yyscanner)
03115 {
03116         return (void *) malloc( size );
03117 }
03118 
03119 void *osrlrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
03120 {
03121         /* The cast to (char *) in the following accommodates both
03122          * implementations that use char* generic pointers, and those
03123          * that use void* generic pointers.  It works with the latter
03124          * because both ANSI C and C++ allow castless assignment from
03125          * any pointer type to void*, and deal with argument conversions
03126          * as though doing an assignment.
03127          */
03128         return (void *) realloc( (char *) ptr, size );
03129 }
03130 
03131 void osrlfree (void * ptr , yyscan_t yyscanner)
03132 {
03133         free( (char *) ptr );   /* see osrlrealloc() for (char *) cast */
03134 }
03135 
03136 #define YYTABLES_NAME "yytables"
03137 
03138 #line 223 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/OSParseosrl.l"
03139 
03140 
03141 
03142 
03143 

Generated on Sat Mar 29 22:38:02 2008 by  doxygen 1.5.3