/home/coin/SVN-release/OS-1.0.0/OS/src/OSParsers/parseosrl.cpp

Go to the documentation of this file.
00001 #line 2 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.cpp"
00002 
00003 #line 4 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.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/parseosrl.l"
01098 
01112 #line 16 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01113 
01114 #include <iostream>
01115 #include "OSConfig.h"
01116 
01117 #ifdef HAVE_CSTDIO
01118 # include <cstdio>
01119 #else
01120 # ifdef HAVE_STDIO_H
01121 #  include <stdio.h>
01122 # else
01123 #  error "don't have header file for stdio"
01124 # endif
01125 #endif
01126 
01127 #ifdef HAVE_CSTRING
01128 # include <cstring>
01129 #else
01130 # ifdef HAVE_STRING_H
01131 #  include <string.h>
01132 # else
01133 #  error "don't have header file for string"
01134 # endif
01135 #endif
01136 
01137 
01138 
01139 
01140 #include <sstream>  
01141 #include "ErrorClass.h"
01142 #include "OSrLParserData.h"
01143 #ifdef PARSERDEBUG
01144         #define YY_PRINT  printf("%s", yytext);
01145 #else     
01146         #define YY_PRINT ;
01147 #endif
01148 
01149 #ifdef WIN_
01150 #define YY_NO_UNISTD_H
01151 #include <io.h>
01152 #include <process.h>
01153 #endif
01154 
01155 #include "parseosrl.tab.hpp"
01156 
01157 
01158      
01159 
01160 
01161 
01162 
01163 #line 78 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01164 #define YY_EXTRA_TYPE OSrLParserData*
01165 #line 1166 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.cpp"
01166 
01167 #define INITIAL 0
01168 #define attributetext 1
01169 #define osrlattributetext 2
01170 #define comment 3
01171 #define xmldeclaration 4
01172 
01173 #ifndef YY_NO_UNISTD_H
01174 /* Special case for "unistd.h", since it is non-ANSI. We include it way
01175  * down here because we want the user's section 1 to have been scanned first.
01176  * The user has a chance to override it with an option.
01177  */
01178 #include <unistd.h>
01179 #endif
01180 
01181 #ifndef YY_EXTRA_TYPE
01182 #define YY_EXTRA_TYPE void *
01183 #endif
01184 
01185 /* Holds the entire state of the reentrant scanner. */
01186 struct yyguts_t
01187     {
01188 
01189     /* User-defined. Not touched by flex. */
01190     YY_EXTRA_TYPE yyextra_r;
01191 
01192     /* The rest are the same as the globals declared in the non-reentrant scanner. */
01193     FILE *yyin_r, *yyout_r;
01194     size_t yy_buffer_stack_top; 
01195     size_t yy_buffer_stack_max; 
01196     YY_BUFFER_STATE * yy_buffer_stack; 
01197     char yy_hold_char;
01198     int yy_n_chars;
01199     int yyleng_r;
01200     char *yy_c_buf_p;
01201     int yy_init;
01202     int yy_start;
01203     int yy_did_buffer_switch_on_eof;
01204     int yy_start_stack_ptr;
01205     int yy_start_stack_depth;
01206     int *yy_start_stack;
01207     yy_state_type yy_last_accepting_state;
01208     char* yy_last_accepting_cpos;
01209 
01210     int yylineno_r;
01211     int yy_flex_debug_r;
01212 
01213     char *yytext_r;
01214     int yy_more_flag;
01215     int yy_more_len;
01216 
01217     YYSTYPE * yylval_r;
01218 
01219     YYLTYPE * yylloc_r;
01220 
01221     }; /* end struct yyguts_t */
01222 
01223 static int yy_init_globals (yyscan_t yyscanner );
01224 
01225     /* This must go here because YYSTYPE and YYLTYPE are included
01226      * from bison output in section 1.*/
01227     #    define yylval yyg->yylval_r
01228     
01229     #    define yylloc yyg->yylloc_r
01230     
01231 /* Accessor methods to globals.
01232    These are made visible to non-reentrant scanners for convenience. */
01233 
01234 int osrllex_destroy (yyscan_t yyscanner );
01235 
01236 int osrlget_debug (yyscan_t yyscanner );
01237 
01238 void osrlset_debug (int debug_flag ,yyscan_t yyscanner );
01239 
01240 YY_EXTRA_TYPE osrlget_extra (yyscan_t yyscanner );
01241 
01242 void osrlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
01243 
01244 FILE *osrlget_in (yyscan_t yyscanner );
01245 
01246 void osrlset_in  (FILE * in_str ,yyscan_t yyscanner );
01247 
01248 FILE *osrlget_out (yyscan_t yyscanner );
01249 
01250 void osrlset_out  (FILE * out_str ,yyscan_t yyscanner );
01251 
01252 int osrlget_leng (yyscan_t yyscanner );
01253 
01254 char *osrlget_text (yyscan_t yyscanner );
01255 
01256 int osrlget_lineno (yyscan_t yyscanner );
01257 
01258 void osrlset_lineno (int line_number ,yyscan_t yyscanner );
01259 
01260 YYSTYPE * osrlget_lval (yyscan_t yyscanner );
01261 
01262 void osrlset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
01263 
01264        YYLTYPE *osrlget_lloc (yyscan_t yyscanner );
01265     
01266         void osrlset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
01267     
01268 /* Macros after this point can all be overridden by user definitions in
01269  * section 1.
01270  */
01271 
01272 #ifndef YY_SKIP_YYWRAP
01273 #ifdef __cplusplus
01274 extern "C" int osrlwrap (yyscan_t yyscanner );
01275 #else
01276 extern int osrlwrap (yyscan_t yyscanner );
01277 #endif
01278 #endif
01279 
01280     static void yyunput (int c,char *buf_ptr  ,yyscan_t yyscanner);
01281     
01282 #ifndef yytext_ptr
01283 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
01284 #endif
01285 
01286 #ifdef YY_NEED_STRLEN
01287 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
01288 #endif
01289 
01290 #ifndef YY_NO_INPUT
01291 
01292 #ifdef __cplusplus
01293 static int yyinput (yyscan_t yyscanner );
01294 #else
01295 static int input (yyscan_t yyscanner );
01296 #endif
01297 
01298 #endif
01299 
01300 /* Amount of stuff to slurp up with each read. */
01301 #ifndef YY_READ_BUF_SIZE
01302 #define YY_READ_BUF_SIZE 8192
01303 #endif
01304 
01305 /* Copy whatever the last rule matched to the standard output. */
01306 #ifndef ECHO
01307 /* This used to be an fputs(), but since the string might contain NUL's,
01308  * we now use fwrite().
01309  */
01310 #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
01311 #endif
01312 
01313 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
01314  * is returned in "result".
01315  */
01316 #ifndef YY_INPUT
01317 #define YY_INPUT(buf,result,max_size) \
01318         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01319                 { \
01320                 int c = '*'; \
01321                 size_t n; \
01322                 for ( n = 0; n < max_size && \
01323                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
01324                         buf[n] = (char) c; \
01325                 if ( c == '\n' ) \
01326                         buf[n++] = (char) c; \
01327                 if ( c == EOF && ferror( yyin ) ) \
01328                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
01329                 result = n; \
01330                 } \
01331         else \
01332                 { \
01333                 errno=0; \
01334                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
01335                         { \
01336                         if( errno != EINTR) \
01337                                 { \
01338                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01339                                 break; \
01340                                 } \
01341                         errno=0; \
01342                         clearerr(yyin); \
01343                         } \
01344                 }\
01345 \
01346 
01347 #endif
01348 
01349 /* No semi-colon after return; correct usage is to write "yyterminate();" -
01350  * we don't want an extra ';' after the "return" because that will cause
01351  * some compilers to complain about unreachable statements.
01352  */
01353 #ifndef yyterminate
01354 #define yyterminate() return YY_NULL
01355 #endif
01356 
01357 /* Number of entries by which start-condition stack grows. */
01358 #ifndef YY_START_STACK_INCR
01359 #define YY_START_STACK_INCR 25
01360 #endif
01361 
01362 /* Report a fatal error. */
01363 #ifndef YY_FATAL_ERROR
01364 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
01365 #endif
01366 
01367 /* end tables serialization structures and prototypes */
01368 
01369 /* Default declaration of generated scanner - a define so the user can
01370  * easily add parameters.
01371  */
01372 #ifndef YY_DECL
01373 #define YY_DECL_IS_OURS 1
01374 
01375 extern int osrllex (YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
01376 
01377 #define YY_DECL int osrllex (YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
01378 #endif /* !YY_DECL */
01379 
01380 /* Code executed at the beginning of each rule, after yytext and yyleng
01381  * have been set up.
01382  */
01383 #ifndef YY_USER_ACTION
01384 #define YY_USER_ACTION
01385 #endif
01386 
01387 /* Code executed at the end of each rule. */
01388 #ifndef YY_BREAK
01389 #define YY_BREAK break;
01390 #endif
01391 
01392 #define YY_RULE_SETUP \
01393         YY_USER_ACTION
01394 
01397 YY_DECL
01398 {
01399         register yy_state_type yy_current_state;
01400         register char *yy_cp, *yy_bp;
01401         register int yy_act;
01402     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
01403 
01404 #line 88 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01405 
01406 
01407 
01408 #line 1409 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.cpp"
01409 
01410     yylval = yylval_param;
01411 
01412     yylloc = yylloc_param;
01413 
01414         if ( !yyg->yy_init )
01415                 {
01416                 yyg->yy_init = 1;
01417 
01418 #ifdef YY_USER_INIT
01419                 YY_USER_INIT;
01420 #endif
01421 
01422                 if ( ! yyg->yy_start )
01423                         yyg->yy_start = 1;      /* first start state */
01424 
01425                 if ( ! yyin )
01426                         yyin = stdin;
01427 
01428                 if ( ! yyout )
01429                         yyout = stdout;
01430 
01431                 if ( ! YY_CURRENT_BUFFER ) {
01432                         osrlensure_buffer_stack (yyscanner);
01433                         YY_CURRENT_BUFFER_LVALUE =
01434                                 osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
01435                 }
01436 
01437                 osrl_load_buffer_state(yyscanner );
01438                 }
01439 
01440         while ( 1 )             /* loops until end-of-file is reached */
01441                 {
01442                 yy_cp = yyg->yy_c_buf_p;
01443 
01444                 /* Support of yytext. */
01445                 *yy_cp = yyg->yy_hold_char;
01446 
01447                 /* yy_bp points to the position in yy_ch_buf of the start of
01448                  * the current run.
01449                  */
01450                 yy_bp = yy_cp;
01451 
01452                 yy_current_state = yyg->yy_start;
01453 yy_match:
01454                 do
01455                         {
01456                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01457                         if ( yy_accept[yy_current_state] )
01458                                 {
01459                                 yyg->yy_last_accepting_state = yy_current_state;
01460                                 yyg->yy_last_accepting_cpos = yy_cp;
01461                                 }
01462                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01463                                 {
01464                                 yy_current_state = (int) yy_def[yy_current_state];
01465                                 if ( yy_current_state >= 719 )
01466                                         yy_c = yy_meta[(unsigned int) yy_c];
01467                                 }
01468                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01469                         ++yy_cp;
01470                         }
01471                 while ( yy_base[yy_current_state] != 1767 );
01472 
01473 yy_find_action:
01474                 yy_act = yy_accept[yy_current_state];
01475                 if ( yy_act == 0 )
01476                         { /* have to back up */
01477                         yy_cp = yyg->yy_last_accepting_cpos;
01478                         yy_current_state = yyg->yy_last_accepting_state;
01479                         yy_act = yy_accept[yy_current_state];
01480                         }
01481 
01482                 YY_DO_BEFORE_ACTION;
01483 
01484                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
01485                         {
01486                         int yyl;
01487                         for ( yyl = 0; yyl < yyleng; ++yyl )
01488                                 if ( yytext[yyl] == '\n' )
01489                                            
01490     do{ yylineno++;
01491         yycolumn=0;
01492     }while(0)
01493 ;
01494                         }
01495 
01496 do_action:      /* This label is used only to access EOF actions. */
01497 
01498                 switch ( yy_act )
01499         { /* beginning of action switch */
01500                         case 0: /* must back up */
01501                         /* undo the effects of YY_DO_BEFORE_ACTION */
01502                         *yy_cp = yyg->yy_hold_char;
01503                         yy_cp = yyg->yy_last_accepting_cpos;
01504                         yy_current_state = yyg->yy_last_accepting_state;
01505                         goto yy_find_action;
01506 
01507 case 1:
01508 /* rule 1 can match eol */
01509 YY_RULE_SETUP
01510 #line 91 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01511 {printf("HERE IS WHITESPACE\n");}
01512         YY_BREAK
01513 case 2:
01514 YY_RULE_SETUP
01515 #line 94 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01516 {YY_PRINT; return(QUOTE);}
01517         YY_BREAK
01518 case 3:
01519 /* rule 3 can match eol */
01520 YY_RULE_SETUP
01521 #line 95 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01522 {YY_PRINT;     return(GREATERTHAN);}
01523         YY_BREAK
01524 case 4:
01525 YY_RULE_SETUP
01526 #line 96 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01527 {YY_PRINT; yylval->ival = atoi( yytext); return(INTEGER);}
01528         YY_BREAK
01529 case 5:
01530 YY_RULE_SETUP
01531 #line 97 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01532 {YY_PRINT; yylval->dval = atof( yytext); return(DOUBLE);}
01533         YY_BREAK
01534 case 6:
01535 /* rule 6 can match eol */
01536 YY_RULE_SETUP
01537 #line 98 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01538 {YY_PRINT;  return(ENDOFELEMENT);}
01539         YY_BREAK
01540 case 7:
01541 /* rule 7 can match eol */
01542 YY_RULE_SETUP
01543 #line 101 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01544 {YY_PRINT; BEGIN osrlattributetext;  return(OSRLSTART);}
01545         YY_BREAK
01546 case 8:
01547 /* rule 8 can match eol */
01548 YY_RULE_SETUP
01549 #line 102 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01550 {YY_PRINT; return(OSRLEND);}
01551         YY_BREAK
01552 case 9:
01553 /* rule 9 can match eol */
01554 YY_RULE_SETUP
01555 #line 103 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01556 {YY_PRINT; return(RESULTHEADERSTART);}
01557         YY_BREAK
01558 case 10:
01559 /* rule 10 can match eol */
01560 YY_RULE_SETUP
01561 #line 104 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01562 {YY_PRINT; return(RESULTHEADEREND);}
01563         YY_BREAK
01564 case 11:
01565 /* rule 11 can match eol */
01566 YY_RULE_SETUP
01567 #line 105 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01568 {YY_PRINT;  return(SERVICEURISTART);}
01569         YY_BREAK
01570 case 12:
01571 /* rule 12 can match eol */
01572 YY_RULE_SETUP
01573 #line 106 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01574 {YY_PRINT; unput('<'); return(SERVICEURISTART);}
01575         YY_BREAK
01576 case 13:
01577 /* rule 13 can match eol */
01578 YY_RULE_SETUP
01579 #line 107 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01580 {YY_PRINT;  return(SERVICEURIEND);}
01581         YY_BREAK
01582 case 14:
01583 /* rule 14 can match eol */
01584 YY_RULE_SETUP
01585 #line 108 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01586 {YY_PRINT;  return(SERVICENAMESTART);}
01587         YY_BREAK
01588 case 15:
01589 /* rule 15 can match eol */
01590 YY_RULE_SETUP
01591 #line 109 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01592 {YY_PRINT; unput('<'); return(SERVICENAMESTART);}
01593         YY_BREAK
01594 case 16:
01595 /* rule 16 can match eol */
01596 YY_RULE_SETUP
01597 #line 110 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01598 {YY_PRINT;  return(SERVICENAMEEND);}
01599         YY_BREAK
01600 case 17:
01601 /* rule 17 can match eol */
01602 YY_RULE_SETUP
01603 #line 111 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01604 {YY_PRINT;  return(INSTANCENAMESTART);}
01605         YY_BREAK
01606 case 18:
01607 /* rule 18 can match eol */
01608 YY_RULE_SETUP
01609 #line 112 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01610 {YY_PRINT; unput('<'); return(INSTANCENAMESTART);}
01611         YY_BREAK
01612 case 19:
01613 /* rule 19 can match eol */
01614 YY_RULE_SETUP
01615 #line 113 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01616 {YY_PRINT;  return(INSTANCENAMEEND);}
01617         YY_BREAK
01618 case 20:
01619 /* rule 20 can match eol */
01620 YY_RULE_SETUP
01621 #line 114 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01622 {YY_PRINT;  return(JOBIDSTART);}
01623         YY_BREAK
01624 case 21:
01625 /* rule 21 can match eol */
01626 YY_RULE_SETUP
01627 #line 115 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01628 {YY_PRINT; unput('<'); return(JOBIDSTART);}
01629         YY_BREAK
01630 case 22:
01631 /* rule 22 can match eol */
01632 YY_RULE_SETUP
01633 #line 116 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01634 {YY_PRINT;  return(JOBIDEND);}
01635         YY_BREAK
01636 case 23:
01637 /* rule 23 can match eol */
01638 YY_RULE_SETUP
01639 #line 117 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01640 {YY_PRINT;  return(MESSAGESTART);}
01641         YY_BREAK
01642 case 24:
01643 /* rule 24 can match eol */
01644 YY_RULE_SETUP
01645 #line 118 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01646 {YY_PRINT; unput('<'); return(MESSAGESTART);}
01647         YY_BREAK
01648 case 25:
01649 /* rule 25 can match eol */
01650 YY_RULE_SETUP
01651 #line 119 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01652 {YY_PRINT;  return(MESSAGEEND);}
01653         YY_BREAK
01654 case 26:
01655 /* rule 26 can match eol */
01656 YY_RULE_SETUP
01657 #line 121 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01658 {YY_PRINT; return(GENERALSTATUSSTART);}
01659         YY_BREAK
01660 case 27:
01661 /* rule 27 can match eol */
01662 YY_RULE_SETUP
01663 #line 122 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01664 {YY_PRINT; return(GENERALSTATUSEND);}
01665         YY_BREAK
01666 case 28:
01667 /* rule 28 can match eol */
01668 YY_RULE_SETUP
01669 #line 124 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01670 {YY_PRINT; return(RESULTDATASTART);}
01671         YY_BREAK
01672 case 29:
01673 /* rule 29 can match eol */
01674 YY_RULE_SETUP
01675 #line 125 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01676 {YY_PRINT; return(RESULTDATAEND);}
01677         YY_BREAK
01678 case 30:
01679 /* rule 30 can match eol */
01680 YY_RULE_SETUP
01681 #line 127 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01682 {YY_PRINT; return(OPTIMIZATIONSTART);}
01683         YY_BREAK
01684 case 31:
01685 /* rule 31 can match eol */
01686 YY_RULE_SETUP
01687 #line 128 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01688 {YY_PRINT; return(OPTIMIZATIONEND);}
01689         YY_BREAK
01690 case 32:
01691 /* rule 32 can match eol */
01692 YY_RULE_SETUP
01693 #line 130 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01694 {YY_PRINT; return(SOLUTIONSTART);}
01695         YY_BREAK
01696 case 33:
01697 /* rule 33 can match eol */
01698 YY_RULE_SETUP
01699 #line 131 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01700 {YY_PRINT; return(SOLUTIONEND);}
01701         YY_BREAK
01702 case 34:
01703 /* rule 34 can match eol */
01704 YY_RULE_SETUP
01705 #line 133 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01706 {YY_PRINT; return(STATUSSTART);}
01707         YY_BREAK
01708 case 35:
01709 /* rule 35 can match eol */
01710 YY_RULE_SETUP
01711 #line 134 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01712 {YY_PRINT; return(STATUSEND);}
01713         YY_BREAK
01714 case 36:
01715 /* rule 36 can match eol */
01716 YY_RULE_SETUP
01717 #line 136 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01718 {YY_PRINT; return(VALUESSTART);}
01719         YY_BREAK
01720 case 37:
01721 /* rule 37 can match eol */
01722 YY_RULE_SETUP
01723 #line 137 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01724 {YY_PRINT; return(VALUESEND);}
01725         YY_BREAK
01726 case 38:
01727 /* rule 38 can match eol */
01728 YY_RULE_SETUP
01729 #line 139 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01730 {YY_PRINT; return(DUALVALUESSTART);}
01731         YY_BREAK
01732 case 39:
01733 /* rule 39 can match eol */
01734 YY_RULE_SETUP
01735 #line 140 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01736 {YY_PRINT; return(DUALVALUESEND);}
01737         YY_BREAK
01738 case 40:
01739 /* rule 40 can match eol */
01740 YY_RULE_SETUP
01741 #line 142 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01742 {YY_PRINT; return(VARSTART);}
01743         YY_BREAK
01744 case 41:
01745 /* rule 41 can match eol */
01746 YY_RULE_SETUP
01747 #line 143 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01748 {YY_PRINT; return(VARIABLESSTART);}
01749         YY_BREAK
01750 case 42:
01751 /* rule 42 can match eol */
01752 YY_RULE_SETUP
01753 #line 144 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01754 {YY_PRINT; return(VAREND);}
01755         YY_BREAK
01756 case 43:
01757 /* rule 43 can match eol */
01758 YY_RULE_SETUP
01759 #line 145 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01760 {YY_PRINT; return(VARIABLESEND);}
01761         YY_BREAK
01762 case 44:
01763 /* rule 44 can match eol */
01764 YY_RULE_SETUP
01765 #line 147 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01766 {YY_PRINT; return(OBJSTART);}
01767         YY_BREAK
01768 case 45:
01769 /* rule 45 can match eol */
01770 YY_RULE_SETUP
01771 #line 148 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01772 {YY_PRINT; return(OBJECTIVESSTART);}
01773         YY_BREAK
01774 case 46:
01775 /* rule 46 can match eol */
01776 YY_RULE_SETUP
01777 #line 149 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01778 {YY_PRINT; return(OBJEND);}
01779         YY_BREAK
01780 case 47:
01781 /* rule 47 can match eol */
01782 YY_RULE_SETUP
01783 #line 150 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01784 {YY_PRINT; return(OBJECTIVESEND);}
01785         YY_BREAK
01786 case 48:
01787 /* rule 48 can match eol */
01788 YY_RULE_SETUP
01789 #line 152 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01790 {YY_PRINT; return(CONSTART);}
01791         YY_BREAK
01792 case 49:
01793 /* rule 49 can match eol */
01794 YY_RULE_SETUP
01795 #line 153 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01796 {YY_PRINT; return(CONSTRAINTSSTART);}
01797         YY_BREAK
01798 case 50:
01799 /* rule 50 can match eol */
01800 YY_RULE_SETUP
01801 #line 154 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01802 {YY_PRINT; return(CONEND);}
01803         YY_BREAK
01804 case 51:
01805 /* rule 51 can match eol */
01806 YY_RULE_SETUP
01807 #line 155 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01808 {YY_PRINT; return(CONSTRAINTSEND);}
01809         YY_BREAK
01810 case 52:
01811 /* rule 52 can match eol */
01812 YY_RULE_SETUP
01813 #line 158 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01814 {YY_PRINT; return(OTHERSTART);}
01815         YY_BREAK
01816 case 53:
01817 /* rule 53 can match eol */
01818 YY_RULE_SETUP
01819 #line 159 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01820 {YY_PRINT; return(OTHEREND);}
01821         YY_BREAK
01822 case 54:
01823 /* rule 54 can match eol */
01824 YY_RULE_SETUP
01825 #line 161 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01826 {YY_PRINT; return(NUMBEROFSOLUTIONSATT);}
01827         YY_BREAK
01828 case 55:
01829 /* rule 55 can match eol */
01830 YY_RULE_SETUP
01831 #line 162 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01832 {YY_PRINT; return(NUMBEROFVARIABLESATT);}
01833         YY_BREAK
01834 case 56:
01835 /* rule 56 can match eol */
01836 YY_RULE_SETUP
01837 #line 163 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01838 {YY_PRINT; return(NUMBEROFCONSTRAINTSATT);}
01839         YY_BREAK
01840 case 57:
01841 /* rule 57 can match eol */
01842 YY_RULE_SETUP
01843 #line 164 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01844 {YY_PRINT; return(NUMBEROFOBJECTIVESATT);}
01845         YY_BREAK
01846 case 58:
01847 /* rule 58 can match eol */
01848 YY_RULE_SETUP
01849 #line 165 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01850 {YY_PRINT; return(OBJECTIVEIDXATT);}
01851         YY_BREAK
01852 case 59:
01853 /* rule 59 can match eol */
01854 YY_RULE_SETUP
01855 #line 166 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01856 {YY_PRINT; return(IDXATT);}
01857         YY_BREAK
01858 case 60:
01859 /* rule 60 can match eol */
01860 YY_RULE_SETUP
01861 #line 167 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01862 {YY_PRINT; BEGIN attributetext; return(TYPEATT);}
01863         YY_BREAK
01864 case 61:
01865 /* rule 61 can match eol */
01866 YY_RULE_SETUP
01867 #line 168 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01868 {YY_PRINT; BEGIN attributetext; return(DESCRIPTIONATT);}
01869         YY_BREAK
01870 case 62:
01871 /* rule 62 can match eol */
01872 YY_RULE_SETUP
01873 #line 169 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01874 {YY_PRINT; BEGIN attributetext; return(NAMEATT);}
01875         YY_BREAK
01876 case 63:
01877 /* rule 63 can match eol */
01878 YY_RULE_SETUP
01879 #line 171 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01880 {YY_PRINT;  return(SERVICEURISTARTANDEND);}
01881         YY_BREAK
01882 case 64:
01883 /* rule 64 can match eol */
01884 YY_RULE_SETUP
01885 #line 172 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01886 {YY_PRINT;  return(SERVICENAMESTARTANDEND);}
01887         YY_BREAK
01888 case 65:
01889 /* rule 65 can match eol */
01890 YY_RULE_SETUP
01891 #line 173 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01892 {YY_PRINT;  return(INSTANCENAMESTARTANDEND);}
01893         YY_BREAK
01894 case 66:
01895 /* rule 66 can match eol */
01896 YY_RULE_SETUP
01897 #line 174 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01898 {YY_PRINT;  return(JOBIDSTARTANDEND);}
01899         YY_BREAK
01900 case 67:
01901 /* rule 67 can match eol */
01902 YY_RULE_SETUP
01903 #line 175 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01904 {YY_PRINT;  return(MESSAGESTARTANDEND);}
01905         YY_BREAK
01906 case 68:
01907 /* rule 68 can match eol */
01908 YY_RULE_SETUP
01909 #line 176 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01910 {YY_PRINT;  return(RESULTDATASTARTANDEND);}
01911         YY_BREAK
01912 case 69:
01913 /* rule 69 can match eol */
01914 YY_RULE_SETUP
01915 #line 181 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01916 { YY_PRINT;  yylval->charval = strdup(yytext);   return(ELEMENTTEXT); }
01917         YY_BREAK
01918 case 70:
01919 YY_RULE_SETUP
01920 #line 183 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01921 BEGIN comment;
01922         YY_BREAK
01923 case 71:
01924 #line 185 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01925 case 72:
01926 /* rule 72 can match eol */
01927 YY_RULE_SETUP
01928 #line 185 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01929 ;
01930         YY_BREAK
01931 case 73:
01932 YY_RULE_SETUP
01933 #line 186 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01934 BEGIN 0;
01935         YY_BREAK
01936 case 74:
01937 YY_RULE_SETUP
01938 #line 188 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01939 BEGIN xmldeclaration;
01940         YY_BREAK
01941 case 75:
01942 #line 190 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01943 case 76:
01944 /* rule 76 can match eol */
01945 YY_RULE_SETUP
01946 #line 190 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01947 ;
01948         YY_BREAK
01949 case 77:
01950 YY_RULE_SETUP
01951 #line 192 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01952 BEGIN 0;
01953         YY_BREAK
01954 case 78:
01955 /* rule 78 can match eol */
01956 YY_RULE_SETUP
01957 #line 198 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01958 {YY_PRINT;    yylval->charval = strdup(yytext);
01959                                                         BEGIN 0;  return(ATTRIBUTETEXT);}
01960         YY_BREAK
01961 case 79:
01962 /* rule 79 can match eol */
01963 YY_RULE_SETUP
01964 #line 201 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01965 {YY_PRINT;  BEGIN 0; yylval->charval = strdup(yytext); return(OSRLATTRIBUTETEXT);}
01966         YY_BREAK
01967 case 80:
01968 /* rule 80 can match eol */
01969 YY_RULE_SETUP
01970 #line 204 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01971 { 
01972         std::string error;
01973         std::ostringstream outStr;
01974         outStr << "ecountered a spurious character in the lexer" << std::endl;
01975         outStr << "The first character is: ";
01976         outStr <<  yytext;
01977         outStr << std::endl;
01978         outStr << "See line number: " << yylineno << std::endl;  
01979         error = outStr.str();
01980         throw ErrorClass( error);
01981 }
01982         YY_BREAK
01983 case 81:
01984 YY_RULE_SETUP
01985 #line 219 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
01986 ECHO;
01987         YY_BREAK
01988 #line 1989 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.cpp"
01989 case YY_STATE_EOF(INITIAL):
01990 case YY_STATE_EOF(attributetext):
01991 case YY_STATE_EOF(osrlattributetext):
01992 case YY_STATE_EOF(comment):
01993 case YY_STATE_EOF(xmldeclaration):
01994         yyterminate();
01995 
01996         case YY_END_OF_BUFFER:
01997                 {
01998                 /* Amount of text matched not including the EOB char. */
01999                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
02000 
02001                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
02002                 *yy_cp = yyg->yy_hold_char;
02003                 YY_RESTORE_YY_MORE_OFFSET
02004 
02005                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
02006                         {
02007                         /* We're scanning a new file or input source.  It's
02008                          * possible that this happened because the user
02009                          * just pointed yyin at a new source and called
02010                          * osrllex().  If so, then we have to assure
02011                          * consistency between YY_CURRENT_BUFFER and our
02012                          * globals.  Here is the right place to do so, because
02013                          * this is the first action (other than possibly a
02014                          * back-up) that will match for the new input source.
02015                          */
02016                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02017                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
02018                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
02019                         }
02020 
02021                 /* Note that here we test for yy_c_buf_p "<=" to the position
02022                  * of the first EOB in the buffer, since yy_c_buf_p will
02023                  * already have been incremented past the NUL character
02024                  * (since all states make transitions on EOB to the
02025                  * end-of-buffer state).  Contrast this with the test
02026                  * in input().
02027                  */
02028                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02029                         { /* This was really a NUL. */
02030                         yy_state_type yy_next_state;
02031 
02032                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
02033 
02034                         yy_current_state = yy_get_previous_state( yyscanner );
02035 
02036                         /* Okay, we're now positioned to make the NUL
02037                          * transition.  We couldn't have
02038                          * yy_get_previous_state() go ahead and do it
02039                          * for us because it doesn't know how to deal
02040                          * with the possibility of jamming (and we don't
02041                          * want to build jamming into it because then it
02042                          * will run more slowly).
02043                          */
02044 
02045                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
02046 
02047                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02048 
02049                         if ( yy_next_state )
02050                                 {
02051                                 /* Consume the NUL. */
02052                                 yy_cp = ++yyg->yy_c_buf_p;
02053                                 yy_current_state = yy_next_state;
02054                                 goto yy_match;
02055                                 }
02056 
02057                         else
02058                                 {
02059                                 yy_cp = yyg->yy_c_buf_p;
02060                                 goto yy_find_action;
02061                                 }
02062                         }
02063 
02064                 else switch ( yy_get_next_buffer( yyscanner ) )
02065                         {
02066                         case EOB_ACT_END_OF_FILE:
02067                                 {
02068                                 yyg->yy_did_buffer_switch_on_eof = 0;
02069 
02070                                 if ( osrlwrap(yyscanner ) )
02071                                         {
02072                                         /* Note: because we've taken care in
02073                                          * yy_get_next_buffer() to have set up
02074                                          * yytext, we can now set up
02075                                          * yy_c_buf_p so that if some total
02076                                          * hoser (like flex itself) wants to
02077                                          * call the scanner after we return the
02078                                          * YY_NULL, it'll still work - another
02079                                          * YY_NULL will get returned.
02080                                          */
02081                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
02082 
02083                                         yy_act = YY_STATE_EOF(YY_START);
02084                                         goto do_action;
02085                                         }
02086 
02087                                 else
02088                                         {
02089                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
02090                                                 YY_NEW_FILE;
02091                                         }
02092                                 break;
02093                                 }
02094 
02095                         case EOB_ACT_CONTINUE_SCAN:
02096                                 yyg->yy_c_buf_p =
02097                                         yyg->yytext_ptr + yy_amount_of_matched_text;
02098 
02099                                 yy_current_state = yy_get_previous_state( yyscanner );
02100 
02101                                 yy_cp = yyg->yy_c_buf_p;
02102                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02103                                 goto yy_match;
02104 
02105                         case EOB_ACT_LAST_MATCH:
02106                                 yyg->yy_c_buf_p =
02107                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
02108 
02109                                 yy_current_state = yy_get_previous_state( yyscanner );
02110 
02111                                 yy_cp = yyg->yy_c_buf_p;
02112                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
02113                                 goto yy_find_action;
02114                         }
02115                 break;
02116                 }
02117 
02118         default:
02119                 YY_FATAL_ERROR(
02120                         "fatal flex scanner internal error--no action found" );
02121         } /* end of action switch */
02122                 } /* end of scanning one token */
02123 } /* end of osrllex */
02124 
02125 /* yy_get_next_buffer - try to read in a new buffer
02126  *
02127  * Returns a code representing an action:
02128  *      EOB_ACT_LAST_MATCH -
02129  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
02130  *      EOB_ACT_END_OF_FILE - end of file
02131  */
02132 static int yy_get_next_buffer (yyscan_t yyscanner)
02133 {
02134     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02135         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
02136         register char *source = yyg->yytext_ptr;
02137         register int number_to_move, i;
02138         int ret_val;
02139 
02140         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
02141                 YY_FATAL_ERROR(
02142                 "fatal flex scanner internal error--end of buffer missed" );
02143 
02144         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
02145                 { /* Don't try to fill the buffer, so this is an EOF. */
02146                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
02147                         {
02148                         /* We matched a single character, the EOB, so
02149                          * treat this as a final EOF.
02150                          */
02151                         return EOB_ACT_END_OF_FILE;
02152                         }
02153 
02154                 else
02155                         {
02156                         /* We matched some text prior to the EOB, first
02157                          * process it.
02158                          */
02159                         return EOB_ACT_LAST_MATCH;
02160                         }
02161                 }
02162 
02163         /* Try to read more data. */
02164 
02165         /* First move last chars to start of buffer. */
02166         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
02167 
02168         for ( i = 0; i < number_to_move; ++i )
02169                 *(dest++) = *(source++);
02170 
02171         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02172                 /* don't do the read, it's not guaranteed to return an EOF,
02173                  * just force an EOF
02174                  */
02175                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
02176 
02177         else
02178                 {
02179                         int num_to_read =
02180                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02181 
02182                 while ( num_to_read <= 0 )
02183                         { /* Not enough room in the buffer - grow it. */
02184 
02185                         /* just a shorter name for the current buffer */
02186                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
02187 
02188                         int yy_c_buf_p_offset =
02189                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
02190 
02191                         if ( b->yy_is_our_buffer )
02192                                 {
02193                                 int new_size = b->yy_buf_size * 2;
02194 
02195                                 if ( new_size <= 0 )
02196                                         b->yy_buf_size += b->yy_buf_size / 8;
02197                                 else
02198                                         b->yy_buf_size *= 2;
02199 
02200                                 b->yy_ch_buf = (char *)
02201                                         /* Include room in for 2 EOB chars. */
02202                                         osrlrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
02203                                 }
02204                         else
02205                                 /* Can't grow it, we don't own it. */
02206                                 b->yy_ch_buf = 0;
02207 
02208                         if ( ! b->yy_ch_buf )
02209                                 YY_FATAL_ERROR(
02210                                 "fatal error - scanner input buffer overflow" );
02211 
02212                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
02213 
02214                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
02215                                                 number_to_move - 1;
02216 
02217                         }
02218 
02219                 if ( num_to_read > YY_READ_BUF_SIZE )
02220                         num_to_read = YY_READ_BUF_SIZE;
02221 
02222                 /* Read in more data. */
02223                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02224                         yyg->yy_n_chars, num_to_read );
02225 
02226                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02227                 }
02228 
02229         if ( yyg->yy_n_chars == 0 )
02230                 {
02231                 if ( number_to_move == YY_MORE_ADJ )
02232                         {
02233                         ret_val = EOB_ACT_END_OF_FILE;
02234                         osrlrestart(yyin  ,yyscanner);
02235                         }
02236 
02237                 else
02238                         {
02239                         ret_val = EOB_ACT_LAST_MATCH;
02240                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02241                                 YY_BUFFER_EOF_PENDING;
02242                         }
02243                 }
02244 
02245         else
02246                 ret_val = EOB_ACT_CONTINUE_SCAN;
02247 
02248         yyg->yy_n_chars += number_to_move;
02249         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
02250         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
02251 
02252         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02253 
02254         return ret_val;
02255 }
02256 
02257 /* yy_get_previous_state - get the state just before the EOB char was reached */
02258 
02259     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
02260 {
02261         register yy_state_type yy_current_state;
02262         register char *yy_cp;
02263     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02264 
02265         yy_current_state = yyg->yy_start;
02266 
02267         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
02268                 {
02269                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02270                 if ( yy_accept[yy_current_state] )
02271                         {
02272                         yyg->yy_last_accepting_state = yy_current_state;
02273                         yyg->yy_last_accepting_cpos = yy_cp;
02274                         }
02275                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02276                         {
02277                         yy_current_state = (int) yy_def[yy_current_state];
02278                         if ( yy_current_state >= 719 )
02279                                 yy_c = yy_meta[(unsigned int) yy_c];
02280                         }
02281                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02282                 }
02283 
02284         return yy_current_state;
02285 }
02286 
02287 /* yy_try_NUL_trans - try to make a transition on the NUL character
02288  *
02289  * synopsis
02290  *      next_state = yy_try_NUL_trans( current_state );
02291  */
02292     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
02293 {
02294         register int yy_is_jam;
02295     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
02296         register char *yy_cp = yyg->yy_c_buf_p;
02297 
02298         register YY_CHAR yy_c = 1;
02299         if ( yy_accept[yy_current_state] )
02300                 {
02301                 yyg->yy_last_accepting_state = yy_current_state;
02302                 yyg->yy_last_accepting_cpos = yy_cp;
02303                 }
02304         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02305                 {
02306                 yy_current_state = (int) yy_def[yy_current_state];
02307                 if ( yy_current_state >= 719 )
02308                         yy_c = yy_meta[(unsigned int) yy_c];
02309                 }
02310         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02311         yy_is_jam = (yy_current_state == 718);
02312 
02313         return yy_is_jam ? 0 : yy_current_state;
02314 }
02315 
02316     static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner)
02317 {
02318         register char *yy_cp;
02319     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02320 
02321     yy_cp = yyg->yy_c_buf_p;
02322 
02323         /* undo effects of setting up yytext */
02324         *yy_cp = yyg->yy_hold_char;
02325 
02326         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02327                 { /* need to shift things up to make room */
02328                 /* +2 for EOB chars. */
02329                 register int number_to_move = yyg->yy_n_chars + 2;
02330                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
02331                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
02332                 register char *source =
02333                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
02334 
02335                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02336                         *--dest = *--source;
02337 
02338                 yy_cp += (int) (dest - source);
02339                 yy_bp += (int) (dest - source);
02340                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
02341                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
02342 
02343                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
02344                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
02345                 }
02346 
02347         *--yy_cp = (char) c;
02348 
02349     if ( c == '\n' ){
02350         --yylineno;
02351     }
02352 
02353         yyg->yytext_ptr = yy_bp;
02354         yyg->yy_hold_char = *yy_cp;
02355         yyg->yy_c_buf_p = yy_cp;
02356 }
02357 
02358 #ifndef YY_NO_INPUT
02359 #ifdef __cplusplus
02360     static int yyinput (yyscan_t yyscanner)
02361 #else
02362     static int input  (yyscan_t yyscanner)
02363 #endif
02364 
02365 {
02366         int c;
02367     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02368 
02369         *yyg->yy_c_buf_p = yyg->yy_hold_char;
02370 
02371         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
02372                 {
02373                 /* yy_c_buf_p now points to the character we want to return.
02374                  * If this occurs *before* the EOB characters, then it's a
02375                  * valid NUL; if not, then we've hit the end of the buffer.
02376                  */
02377                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
02378                         /* This was really a NUL. */
02379                         *yyg->yy_c_buf_p = '\0';
02380 
02381                 else
02382                         { /* need more input */
02383                         int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
02384                         ++yyg->yy_c_buf_p;
02385 
02386                         switch ( yy_get_next_buffer( yyscanner ) )
02387                                 {
02388                                 case EOB_ACT_LAST_MATCH:
02389                                         /* This happens because yy_g_n_b()
02390                                          * sees that we've accumulated a
02391                                          * token and flags that we need to
02392                                          * try matching the token before
02393                                          * proceeding.  But for input(),
02394                                          * there's no matching to consider.
02395                                          * So convert the EOB_ACT_LAST_MATCH
02396                                          * to EOB_ACT_END_OF_FILE.
02397                                          */
02398 
02399                                         /* Reset buffer status. */
02400                                         osrlrestart(yyin ,yyscanner);
02401 
02402                                         /*FALLTHROUGH*/
02403 
02404                                 case EOB_ACT_END_OF_FILE:
02405                                         {
02406                                         if ( osrlwrap(yyscanner ) )
02407                                                 return EOF;
02408 
02409                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
02410                                                 YY_NEW_FILE;
02411 #ifdef __cplusplus
02412                                         return yyinput(yyscanner);
02413 #else
02414                                         return input(yyscanner);
02415 #endif
02416                                         }
02417 
02418                                 case EOB_ACT_CONTINUE_SCAN:
02419                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
02420                                         break;
02421                                 }
02422                         }
02423                 }
02424 
02425         c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
02426         *yyg->yy_c_buf_p = '\0';        /* preserve yytext */
02427         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
02428 
02429         if ( c == '\n' )
02430                    
02431     do{ yylineno++;
02432         yycolumn=0;
02433     }while(0)
02434 ;
02435 
02436         return c;
02437 }
02438 #endif  /* ifndef YY_NO_INPUT */
02439 
02445     void osrlrestart  (FILE * input_file , yyscan_t yyscanner)
02446 {
02447     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02448 
02449         if ( ! YY_CURRENT_BUFFER ){
02450         osrlensure_buffer_stack (yyscanner);
02451                 YY_CURRENT_BUFFER_LVALUE =
02452             osrl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
02453         }
02454 
02455         osrl_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
02456         osrl_load_buffer_state(yyscanner );
02457 }
02458 
02463     void osrl_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
02464 {
02465     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02466 
02467         /* TODO. We should be able to replace this entire function body
02468          * with
02469          *              osrlpop_buffer_state();
02470          *              osrlpush_buffer_state(new_buffer);
02471      */
02472         osrlensure_buffer_stack (yyscanner);
02473         if ( YY_CURRENT_BUFFER == new_buffer )
02474                 return;
02475 
02476         if ( YY_CURRENT_BUFFER )
02477                 {
02478                 /* Flush out information for old buffer. */
02479                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02480                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02481                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02482                 }
02483 
02484         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02485         osrl_load_buffer_state(yyscanner );
02486 
02487         /* We don't actually know whether we did this switch during
02488          * EOF (osrlwrap()) processing, but the only time this flag
02489          * is looked at is after osrlwrap() is called, so it's safe
02490          * to go ahead and always set it.
02491          */
02492         yyg->yy_did_buffer_switch_on_eof = 1;
02493 }
02494 
02495 static void osrl_load_buffer_state  (yyscan_t yyscanner)
02496 {
02497     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02498         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02499         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02500         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02501         yyg->yy_hold_char = *yyg->yy_c_buf_p;
02502 }
02503 
02510     YY_BUFFER_STATE osrl_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
02511 {
02512         YY_BUFFER_STATE b;
02513     
02514         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02515         if ( ! b )
02516                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
02517 
02518         b->yy_buf_size = size;
02519 
02520         /* yy_ch_buf has to be 2 characters longer than the size given because
02521          * we need to put in 2 end-of-buffer characters.
02522          */
02523         b->yy_ch_buf = (char *) osrlalloc(b->yy_buf_size + 2 ,yyscanner );
02524         if ( ! b->yy_ch_buf )
02525                 YY_FATAL_ERROR( "out of dynamic memory in osrl_create_buffer()" );
02526 
02527         b->yy_is_our_buffer = 1;
02528 
02529         osrl_init_buffer(b,file ,yyscanner);
02530 
02531         return b;
02532 }
02533 
02538     void osrl_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
02539 {
02540     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02541 
02542         if ( ! b )
02543                 return;
02544 
02545         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
02546                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02547 
02548         if ( b->yy_is_our_buffer )
02549                 osrlfree((void *) b->yy_ch_buf ,yyscanner );
02550 
02551         osrlfree((void *) b ,yyscanner );
02552 }
02553 
02554 #ifndef __cplusplus
02555 extern int isatty (int );
02556 #endif /* __cplusplus */
02557     
02558 /* Initializes or reinitializes a buffer.
02559  * This function is sometimes called more than once on the same buffer,
02560  * such as during a osrlrestart() or at EOF.
02561  */
02562     static void osrl_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
02563 
02564 {
02565         int oerrno = errno;
02566     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02567 
02568         osrl_flush_buffer(b ,yyscanner);
02569 
02570         b->yy_input_file = file;
02571         b->yy_fill_buffer = 1;
02572 
02573     /* If b is the current buffer, then osrl_init_buffer was _probably_
02574      * called from osrlrestart() or through yy_get_next_buffer.
02575      * In that case, we don't want to reset the lineno or column.
02576      */
02577     if (b != YY_CURRENT_BUFFER){
02578         b->yy_bs_lineno = 1;
02579         b->yy_bs_column = 0;
02580     }
02581 
02582         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02583     
02584         errno = oerrno;
02585 }
02586 
02591     void osrl_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
02592 {
02593     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02594         if ( ! b )
02595                 return;
02596 
02597         b->yy_n_chars = 0;
02598 
02599         /* We always need two end-of-buffer characters.  The first causes
02600          * a transition to the end-of-buffer state.  The second causes
02601          * a jam in that state.
02602          */
02603         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02604         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02605 
02606         b->yy_buf_pos = &b->yy_ch_buf[0];
02607 
02608         b->yy_at_bol = 1;
02609         b->yy_buffer_status = YY_BUFFER_NEW;
02610 
02611         if ( b == YY_CURRENT_BUFFER )
02612                 osrl_load_buffer_state(yyscanner );
02613 }
02614 
02621 void osrlpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
02622 {
02623     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02624         if (new_buffer == NULL)
02625                 return;
02626 
02627         osrlensure_buffer_stack(yyscanner);
02628 
02629         /* This block is copied from osrl_switch_to_buffer. */
02630         if ( YY_CURRENT_BUFFER )
02631                 {
02632                 /* Flush out information for old buffer. */
02633                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
02634                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
02635                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
02636                 }
02637 
02638         /* Only push if top exists. Otherwise, replace top. */
02639         if (YY_CURRENT_BUFFER)
02640                 yyg->yy_buffer_stack_top++;
02641         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02642 
02643         /* copied from osrl_switch_to_buffer. */
02644         osrl_load_buffer_state(yyscanner );
02645         yyg->yy_did_buffer_switch_on_eof = 1;
02646 }
02647 
02652 void osrlpop_buffer_state (yyscan_t yyscanner)
02653 {
02654     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02655         if (!YY_CURRENT_BUFFER)
02656                 return;
02657 
02658         osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
02659         YY_CURRENT_BUFFER_LVALUE = NULL;
02660         if (yyg->yy_buffer_stack_top > 0)
02661                 --yyg->yy_buffer_stack_top;
02662 
02663         if (YY_CURRENT_BUFFER) {
02664                 osrl_load_buffer_state(yyscanner );
02665                 yyg->yy_did_buffer_switch_on_eof = 1;
02666         }
02667 }
02668 
02669 /* Allocates the stack if it does not exist.
02670  *  Guarantees space for at least one push.
02671  */
02672 static void osrlensure_buffer_stack (yyscan_t yyscanner)
02673 {
02674         int num_to_alloc;
02675     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02676 
02677         if (!yyg->yy_buffer_stack) {
02678 
02679                 /* First allocation is just for 2 elements, since we don't know if this
02680                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
02681                  * immediate realloc on the next call.
02682          */
02683                 num_to_alloc = 1;
02684                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlalloc
02685                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
02686                                                                 , yyscanner);
02687                 
02688                 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02689                                 
02690                 yyg->yy_buffer_stack_max = num_to_alloc;
02691                 yyg->yy_buffer_stack_top = 0;
02692                 return;
02693         }
02694 
02695         if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
02696 
02697                 /* Increase the buffer to prepare for a possible push. */
02698                 int grow_size = 8 /* arbitrary grow size */;
02699 
02700                 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
02701                 yyg->yy_buffer_stack = (struct yy_buffer_state**)osrlrealloc
02702                                                                 (yyg->yy_buffer_stack,
02703                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
02704                                                                 , yyscanner);
02705 
02706                 /* zero only the new slots.*/
02707                 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
02708                 yyg->yy_buffer_stack_max = num_to_alloc;
02709         }
02710 }
02711 
02718 YY_BUFFER_STATE osrl_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
02719 {
02720         YY_BUFFER_STATE b;
02721     
02722         if ( size < 2 ||
02723              base[size-2] != YY_END_OF_BUFFER_CHAR ||
02724              base[size-1] != YY_END_OF_BUFFER_CHAR )
02725                 /* They forgot to leave room for the EOB's. */
02726                 return 0;
02727 
02728         b = (YY_BUFFER_STATE) osrlalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
02729         if ( ! b )
02730                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_buffer()" );
02731 
02732         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
02733         b->yy_buf_pos = b->yy_ch_buf = base;
02734         b->yy_is_our_buffer = 0;
02735         b->yy_input_file = 0;
02736         b->yy_n_chars = b->yy_buf_size;
02737         b->yy_is_interactive = 0;
02738         b->yy_at_bol = 1;
02739         b->yy_fill_buffer = 0;
02740         b->yy_buffer_status = YY_BUFFER_NEW;
02741 
02742         osrl_switch_to_buffer(b ,yyscanner );
02743 
02744         return b;
02745 }
02746 
02755 YY_BUFFER_STATE osrl_scan_string (yyconst char * yystr , yyscan_t yyscanner)
02756 {
02757     
02758         return osrl_scan_bytes(yystr,strlen(yystr) ,yyscanner);
02759 }
02760 
02768 YY_BUFFER_STATE osrl_scan_bytes  (yyconst char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
02769 {
02770         YY_BUFFER_STATE b;
02771         char *buf;
02772         yy_size_t n;
02773         int i;
02774     
02775         /* Get memory for full buffer, including space for trailing EOB's. */
02776         n = _yybytes_len + 2;
02777         buf = (char *) osrlalloc(n ,yyscanner );
02778         if ( ! buf )
02779                 YY_FATAL_ERROR( "out of dynamic memory in osrl_scan_bytes()" );
02780 
02781         for ( i = 0; i < _yybytes_len; ++i )
02782                 buf[i] = yybytes[i];
02783 
02784         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02785 
02786         b = osrl_scan_buffer(buf,n ,yyscanner);
02787         if ( ! b )
02788                 YY_FATAL_ERROR( "bad buffer in osrl_scan_bytes()" );
02789 
02790         /* It's okay to grow etc. this buffer, and we should throw it
02791          * away when we're done.
02792          */
02793         b->yy_is_our_buffer = 1;
02794 
02795         return b;
02796 }
02797 
02798 #ifndef YY_EXIT_FAILURE
02799 #define YY_EXIT_FAILURE 2
02800 #endif
02801 
02802 static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
02803 {
02804         (void) fprintf( stderr, "%s\n", msg );
02805         exit( YY_EXIT_FAILURE );
02806 }
02807 
02808 /* Redefine yyless() so it works in section 3 code. */
02809 
02810 #undef yyless
02811 #define yyless(n) \
02812         do \
02813                 { \
02814                 /* Undo effects of setting up yytext. */ \
02815         int yyless_macro_arg = (n); \
02816         YY_LESS_LINENO(yyless_macro_arg);\
02817                 yytext[yyleng] = yyg->yy_hold_char; \
02818                 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
02819                 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
02820                 *yyg->yy_c_buf_p = '\0'; \
02821                 yyleng = yyless_macro_arg; \
02822                 } \
02823         while ( 0 )
02824 
02825 /* Accessor  methods (get/set functions) to struct members. */
02826 
02830 YY_EXTRA_TYPE osrlget_extra  (yyscan_t yyscanner)
02831 {
02832     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02833     return yyextra;
02834 }
02835 
02839 int osrlget_lineno  (yyscan_t yyscanner)
02840 {
02841     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02842     
02843         if (! YY_CURRENT_BUFFER)
02844             return 0;
02845     
02846     return yylineno;
02847 }
02848 
02852 int osrlget_column  (yyscan_t yyscanner)
02853 {
02854     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02855     
02856         if (! YY_CURRENT_BUFFER)
02857             return 0;
02858     
02859     return yycolumn;
02860 }
02861 
02865 FILE *osrlget_in  (yyscan_t yyscanner)
02866 {
02867     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02868     return yyin;
02869 }
02870 
02874 FILE *osrlget_out  (yyscan_t yyscanner)
02875 {
02876     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02877     return yyout;
02878 }
02879 
02883 int osrlget_leng  (yyscan_t yyscanner)
02884 {
02885     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02886     return yyleng;
02887 }
02888 
02893 char *osrlget_text  (yyscan_t yyscanner)
02894 {
02895     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02896     return yytext;
02897 }
02898 
02903 void osrlset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
02904 {
02905     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02906     yyextra = user_defined ;
02907 }
02908 
02913 void osrlset_lineno (int  line_number , yyscan_t yyscanner)
02914 {
02915     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02916 
02917         /* lineno is only valid if an input buffer exists. */
02918         if (! YY_CURRENT_BUFFER )
02919            yy_fatal_error( "osrlset_lineno called with no buffer" , yyscanner); 
02920     
02921     yylineno = line_number;
02922 }
02923 
02928 void osrlset_column (int  column_no , yyscan_t yyscanner)
02929 {
02930     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02931 
02932         /* column is only valid if an input buffer exists. */
02933         if (! YY_CURRENT_BUFFER )
02934            yy_fatal_error( "osrlset_column called with no buffer" , yyscanner); 
02935     
02936     yycolumn = column_no;
02937 }
02938 
02945 void osrlset_in (FILE *  in_str , yyscan_t yyscanner)
02946 {
02947     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02948     yyin = in_str ;
02949 }
02950 
02951 void osrlset_out (FILE *  out_str , yyscan_t yyscanner)
02952 {
02953     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02954     yyout = out_str ;
02955 }
02956 
02957 int osrlget_debug  (yyscan_t yyscanner)
02958 {
02959     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02960     return yy_flex_debug;
02961 }
02962 
02963 void osrlset_debug (int  bdebug , yyscan_t yyscanner)
02964 {
02965     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02966     yy_flex_debug = bdebug ;
02967 }
02968 
02969 /* Accessor methods for yylval and yylloc */
02970 
02971 YYSTYPE * osrlget_lval  (yyscan_t yyscanner)
02972 {
02973     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02974     return yylval;
02975 }
02976 
02977 void osrlset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
02978 {
02979     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02980     yylval = yylval_param;
02981 }
02982 
02983 YYLTYPE *osrlget_lloc  (yyscan_t yyscanner)
02984 {
02985     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02986     return yylloc;
02987 }
02988     
02989 void osrlset_lloc (YYLTYPE *  yylloc_param , yyscan_t yyscanner)
02990 {
02991     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
02992     yylloc = yylloc_param;
02993 }
02994     
02995 /* User-visible API */
02996 
02997 /* osrllex_init is special because it creates the scanner itself, so it is
02998  * the ONLY reentrant function that doesn't take the scanner as the last argument.
02999  * That's why we explicitly handle the declaration, instead of using our macros.
03000  */
03001 
03002 int osrllex_init(yyscan_t* ptr_yy_globals)
03003 
03004 {
03005     if (ptr_yy_globals == NULL){
03006         errno = EINVAL;
03007         return 1;
03008     }
03009 
03010     *ptr_yy_globals = (yyscan_t) osrlalloc ( sizeof( struct yyguts_t ), NULL );
03011 
03012     if (*ptr_yy_globals == NULL){
03013         errno = ENOMEM;
03014         return 1;
03015     }
03016 
03017     /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
03018     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
03019 
03020     return yy_init_globals ( *ptr_yy_globals );
03021 }
03022 
03023 static int yy_init_globals (yyscan_t yyscanner)
03024 {
03025     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03026     /* Initialization is the same as for the non-reentrant scanner.
03027      * This function is called from osrllex_destroy(), so don't allocate here.
03028      */
03029 
03030     yyg->yy_buffer_stack = 0;
03031     yyg->yy_buffer_stack_top = 0;
03032     yyg->yy_buffer_stack_max = 0;
03033     yyg->yy_c_buf_p = (char *) 0;
03034     yyg->yy_init = 0;
03035     yyg->yy_start = 0;
03036 
03037     yyg->yy_start_stack_ptr = 0;
03038     yyg->yy_start_stack_depth = 0;
03039     yyg->yy_start_stack =  NULL;
03040 
03041 /* Defined in main.c */
03042 #ifdef YY_STDINIT
03043     yyin = stdin;
03044     yyout = stdout;
03045 #else
03046     yyin = (FILE *) 0;
03047     yyout = (FILE *) 0;
03048 #endif
03049 
03050     /* For future reference: Set errno on error, since we are called by
03051      * osrllex_init()
03052      */
03053     return 0;
03054 }
03055 
03056 /* osrllex_destroy is for both reentrant and non-reentrant scanners. */
03057 int osrllex_destroy  (yyscan_t yyscanner)
03058 {
03059     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
03060 
03061     /* Pop the buffer stack, destroying each element. */
03062         while(YY_CURRENT_BUFFER){
03063                 osrl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
03064                 YY_CURRENT_BUFFER_LVALUE = NULL;
03065                 osrlpop_buffer_state(yyscanner);
03066         }
03067 
03068         /* Destroy the stack itself. */
03069         osrlfree(yyg->yy_buffer_stack ,yyscanner);
03070         yyg->yy_buffer_stack = NULL;
03071 
03072     /* Destroy the start condition stack. */
03073         osrlfree(yyg->yy_start_stack ,yyscanner );
03074         yyg->yy_start_stack = NULL;
03075 
03076     /* Reset the globals. This is important in a non-reentrant scanner so the next time
03077      * osrllex() is called, initialization will occur. */
03078     yy_init_globals( yyscanner);
03079 
03080     /* Destroy the main struct (reentrant only). */
03081     osrlfree ( yyscanner , yyscanner );
03082     yyscanner = NULL;
03083     return 0;
03084 }
03085 
03086 /*
03087  * Internal utility routines.
03088  */
03089 
03090 #ifndef yytext_ptr
03091 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
03092 {
03093         register int i;
03094         for ( i = 0; i < n; ++i )
03095                 s1[i] = s2[i];
03096 }
03097 #endif
03098 
03099 #ifdef YY_NEED_STRLEN
03100 static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
03101 {
03102         register int n;
03103         for ( n = 0; s[n]; ++n )
03104                 ;
03105 
03106         return n;
03107 }
03108 #endif
03109 
03110 void *osrlalloc (yy_size_t  size , yyscan_t yyscanner)
03111 {
03112         return (void *) malloc( size );
03113 }
03114 
03115 void *osrlrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
03116 {
03117         /* The cast to (char *) in the following accommodates both
03118          * implementations that use char* generic pointers, and those
03119          * that use void* generic pointers.  It works with the latter
03120          * because both ANSI C and C++ allow castless assignment from
03121          * any pointer type to void*, and deal with argument conversions
03122          * as though doing an assignment.
03123          */
03124         return (void *) realloc( (char *) ptr, size );
03125 }
03126 
03127 void osrlfree (void * ptr , yyscan_t yyscanner)
03128 {
03129         free( (char *) ptr );   /* see osrlrealloc() for (char *) cast */
03130 }
03131 
03132 #define YYTABLES_NAME "yytables"
03133 
03134 #line 219 "/Users/kmartin/Documents/files/code/cpp/OScpp/COIN-OS/OS/src/OSParsers/parseosrl.l"
03135 
03136 
03137 
03138 
03139 

Generated on Thu May 15 22:15:05 2008 by  doxygen 1.4.7