ssl_expr_scan.c revision 02c7b3fa1c2c34a3a9bd236f6cbf2fc5486b8bb0
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#if 0 /* XXX */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_create_buffer ssl_expr_yy_create_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_delete_buffer ssl_expr_yy_delete_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_scan_buffer ssl_expr_yy_scan_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_scan_string ssl_expr_yy_scan_string
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_scan_bytes ssl_expr_yy_scan_bytes
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_flex_debug ssl_expr_yy_flex_debug
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_init_buffer ssl_expr_yy_init_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_flush_buffer ssl_expr_yy_flush_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_load_buffer_state ssl_expr_yy_load_buffer_state
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_switch_to_buffer ssl_expr_yy_switch_to_buffer
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* A lexical scanner generated by flex */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Scanner skeleton version:
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Use prototypes in function declarations. */
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina/* The "const" storage-class-modifier is valid. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#else /* ! __cplusplus */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif /* __STDC__ */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#endif /* ! __cplusplus */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Returned upon end-of-file. */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Promotes a possibly negative, possibly signed char to an unsigned
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * integer for use as an array index. If the signed char is negative,
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce * we want to instead treat it as an 8-bit unsigned char, hence the
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik * double cast.
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Enter a start condition. This macro really ought to take a parameter,
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce * but we do it the disgusting crufty way forced on us by the ()-less
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * definition of BEGIN.
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Translate the current start state into a value that can be later handed
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov * to BEGIN to return to the state. The YYSTATE alias is for lex
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * compatibility.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Action number for EOF rule of a given start state. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Special action meaning "start processing a new file". */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Size of default input buffer. */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallaghertypedef struct yy_buffer_state *YY_BUFFER_STATE;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher/* The funky do-while in the following #define is used to turn the definition
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * int a single C statement (which needs a semi-colon terminator). This
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * avoids problems with code like:
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * if ( condition_holds )
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * yyless( 5 );
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * do_something_else();
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * Prior to using the do-while the compiler would get upset at the
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * "else" because it interpreted the "if" statement as being all
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * done when it reached the ';' after the yyless() call.
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher/* Return all but the first 'n' matched characters back to the input stream. */
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce /* Undo effects of setting up yytext. */ \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher YY_DO_BEFORE_ACTION; /* set up yytext again */ \
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce/* The following is because we cannot portably get our hands on size_t
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * (without autoconf's help, which isn't available because we want
64af76e2bef2565caa9738f675c108a4b3789237Simo Sorce * flex-generated scanners to compile on their own).
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallaghertypedef unsigned int yy_size_t;
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher char *yy_buf_pos; /* current position in input buffer */
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Size of input buffer in bytes, not including room for EOB
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Number of characters read into yy_ch_buf, not including EOB
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Whether we "own" the buffer - i.e., we know we created it,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * and can realloc() it to grow it, and should free() it to
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher /* Whether this is an "interactive" input source; if so, and
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * if we're using stdio for input, then we want to use getc()
526d4d5e5a916cf30a043836cba14eab529cb7b1Jakub Hrozek * instead of fread(), to make sure we stop fetching input after
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * each newline.
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher /* Whether we're considered to be at the beginning of a line.
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagher * If so, '^' rules will be active on the next match, otherwise
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik /* Whether to try to fill the input buffer when we reach the
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik /* When an EOF's been seen but there's still some text to process
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * then we mark the buffer as YY_EOF_PENDING, to indicate that we
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov * shouldn't try reading from the input source any more. We might
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * still have a bunch of tokens to match, though, because of
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * possible backing-up.
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * When we actually see the EOF, we change the status to "new"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * (via yyrestart()), so that the user can continue scanning by
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * just pointing yyin at a new input file.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* We provide macros for accessing buffer states in case in the
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * future we want to put the buffer states in a more general
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * "scanner state".
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_CURRENT_BUFFER yy_current_buffer
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashov/* yy_hold_char holds the character lost when yytext is formed. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_n_chars; /* number of characters read into yy_ch_buf */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Points to current character in buffer. */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashovstatic char *yy_c_buf_p = (char *) 0;
a3c8390d19593b1e5277d95bfb4ab206d4785150Nikolai Kondrashovstatic int yy_init = 1; /* whether we need to initialize */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_start = 0; /* start state number */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Flag which is used to allow yywrap()'s to do buffer switches
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik * instead of setting up a fresh yyin. A bit of a hack ...
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yyrestart YY_PROTO(( FILE *input_file ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yy_load_buffer_state YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen GallagherYY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghervoid yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen GallagherYY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen GallagherYY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
9acfb09f7969a69f58bd45c856b01700541853caLukas SlebodnikYY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void *yy_flex_alloc YY_PROTO(( yy_size_t ));
35c70c767d366fc82a50f6f29793ab7f1477f79dStephen Gallagherstatic void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_flex_free YY_PROTO(( void * ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define yy_set_interactive(is_interactive) \
9acfb09f7969a69f58bd45c856b01700541853caLukas Slebodnik yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher yy_current_buffer->yy_is_interactive = is_interactive; \
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallaghertypedef unsigned char YY_CHAR;
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai KondrashovFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic yy_state_type yy_get_previous_state YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_get_next_buffer YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Done after the current pattern has been matched and before the
545f49b72cdf8453fb0b85c9d87e7d4711da57daLukas Slebodnik * corresponding action - sets up yytext.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 142, 142, 88, 142, 142, 142, 48, 142, 142,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 142, 44, 142, 142, 142, 142, 0, 70, 0, 64,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher 0, 46, 142, 0, 142, 53, 62, 142, 142, 142,
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* The intent behind this definition is that it'll catch
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * any uses of REJECT which flex missed.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define REJECT reject_used_but_not_detected
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina** _ __ ___ ___ __| | ___ ___| |
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** | '_ ` _ \ / _ \ / _` | / __/ __| |
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** | | | | | | (_) | (_| | \__ \__ \ | mod_ssl - Apache Interface to OpenSSL
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** |_| |_| |_|\___/ \__,_|___|___/___/_| http://www.modssl.org/
07e941c1bbdc752142bbd3b838c540bc7ecd0ed7Stef Walter** ssl_expr_scan.l
e07d700ed9daf0cf96607fa2d72978cb2431b794Pavel Březina** Expression Scanner
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* ====================================================================
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * Copyright (c) 1998-2001 Ralf S. Engelschall. All rights reserved.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * Redistribution and use in source and binary forms, with or without
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * modification, are permitted provided that the following conditions
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 1. Redistributions of source code must retain the above copyright
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * notice, this list of conditions and the following disclaimer.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 2. Redistributions in binary form must reproduce the above copyright
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * notice, this list of conditions and the following
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * disclaimer in the documentation and/or other materials
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * provided with the distribution.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 3. All advertising materials mentioning features or use of this
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * software must display the following acknowledgment:
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * "This product includes software developed by
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * Ralf S. Engelschall <rse@engelschall.com> for use in the
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * mod_ssl project (http://www.modssl.org/)."
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 4. The names "mod_ssl" must not be used to endorse or promote
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * products derived from this software without prior written
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * permission. For written permission, please contact
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * rse@engelschall.com.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 5. Products derived from this software may not be called "mod_ssl"
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * nor may "mod_ssl" appear in their names without prior
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * written permission of Ralf S. Engelschall.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * 6. Redistributions of any form whatsoever must retain the following
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * acknowledgment:
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * "This product includes software developed by
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * Ralf S. Engelschall <rse@engelschall.com> for use in the
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * mod_ssl project (http://www.modssl.org/)."
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * HIS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * OF THE POSSIBILITY OF SUCH DAMAGE.
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * ====================================================================
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* ``Killing for peace is
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherlike fucking for virginity.''
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* _________________________________________________________________
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher** Expression Scanner
ac40d2f2b2b2fc35c95389f5e28febd580bd2b7aJakub Hrozek** _________________________________________________________________
89caf5edcc99f5731e89bd51e6ffaad3ec11c304Pavel Březina/* %option stack */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* Macros after this point can all be overridden by user definitions in
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yyunput YY_PROTO(( int c, char *buf_ptr ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_flex_strlen YY_PROTO(( yyconst char * ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic void yy_push_state YY_PROTO(( int new_state ));
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashovstatic void yy_pop_state YY_PROTO(( void ));
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagherstatic int yy_top_state YY_PROTO(( void ));
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Just try to get by without declaring the routines. This will fail
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * or sizeof(void*) != sizeof(int).
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Amount of stuff to slurp up with each read. */
83bf46f4066e3d5e838a32357c201de9bd6ecdfdNikolai Kondrashov/* Copy whatever the last rule matched to the standard output. */
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher/* This used to be an fputs(), but since the string might contain NUL's,
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher * we now use fwrite().
10afbe39cb81a1810dba486c4b8e46578bb300bbStephen Gallagher#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
#ifndef YY_INPUT
for ( n = 0; n < max_size && \
buf[n] = (char) c; \
buf[n++] = (char) c; \
result = n; \
#ifndef yyterminate
#ifndef YY_START_STACK_INCR
#ifndef YY_FATAL_ERROR
#ifndef YY_DECL
#ifndef YY_USER_ACTION
#define YY_USER_ACTION
#ifndef YY_BREAK
#define YY_BREAK break;
#define YY_RULE_SETUP \
register int yy_act;
if ( yy_init )
yy_init = 0;
#ifdef YY_USER_INIT
if ( ! yy_start )
if ( ! yyin )
if ( ! yyout )
if ( ! yy_current_buffer )
++yy_cp;
switch ( yy_act )
goto yy_find_action;
return T_STRING;
int result;
return T_REGEX_I;
yyless(0);
return T_REGEX;
return T_REGEX;
{ return T_OP_EQ; }
{ return T_OP_EQ; }
{ return T_OP_NE; }
{ return T_OP_NE; }
{ return T_OP_LT; }
{ return T_OP_LT; }
{ return T_OP_LE; }
{ return T_OP_LE; }
{ return T_OP_GT; }
{ return T_OP_GT; }
{ return T_OP_GE; }
{ return T_OP_GE; }
{ return T_OP_REG; }
{ return T_OP_NRE; }
{ return T_OP_AND; }
{ return T_OP_AND; }
{ return T_OP_OR; }
{ return T_OP_OR; }
{ return T_OP_NOT; }
{ return T_OP_NOT; }
{ return T_OP_IN; }
{ return T_FUNC_FILE; }
{ return T_TRUE; }
{ return T_FALSE; }
return T_DIGIT;
return T_ID;
return yytext[0];
yyterminate();
case YY_END_OF_BUFFER:
if ( yy_next_state )
goto yy_match;
goto yy_find_action;
else switch ( yy_get_next_buffer() )
case EOB_ACT_END_OF_FILE:
if ( yywrap() )
goto do_action;
if ( ! yy_did_buffer_switch_on_eof )
case EOB_ACT_CONTINUE_SCAN:
goto yy_match;
case EOB_ACT_LAST_MATCH:
goto yy_find_action;
static int yy_get_next_buffer()
register int number_to_move, i;
int ret_val;
return EOB_ACT_END_OF_FILE;
return EOB_ACT_LAST_MATCH;
for ( i = 0; i < number_to_move; ++i )
int num_to_read =
while ( num_to_read <= 0 )
#ifdef YY_USES_REJECT
int yy_c_buf_p_offset =
if ( b->yy_is_our_buffer )
if ( new_size <= 0 )
b->yy_ch_buf = (char *)
b->yy_ch_buf = 0;
if ( ! b->yy_ch_buf )
if ( yy_n_chars == 0 )
return ret_val;
register char *yy_cp;
return yy_current_state;
#ifdef YY_USE_PROTOS
register int yy_is_jam;
#ifndef YY_NO_UNPUT
#ifdef YY_USE_PROTOS
register char *yy_bp;
register char *source =
*--yy_cp = (char) c;
#ifdef __cplusplus
static int yyinput()
static int input()
++yy_c_buf_p;
switch ( yy_get_next_buffer() )
case EOB_ACT_LAST_MATCH:
case EOB_ACT_END_OF_FILE:
if ( yywrap() )
return EOF;
if ( ! yy_did_buffer_switch_on_eof )
#ifdef __cplusplus
return yyinput();
return input();
case EOB_ACT_CONTINUE_SCAN:
#ifdef YY_USE_PROTOS
if ( ! yy_current_buffer )
#ifdef YY_USE_PROTOS
if ( yy_current_buffer )
#ifdef YY_USE_PROTOS
void yy_load_buffer_state( void )
void yy_load_buffer_state()
#ifdef YY_USE_PROTOS
int size;
if ( ! b->yy_ch_buf )
#ifdef YY_USE_PROTOS
void yy_delete_buffer( b )
if ( b == yy_current_buffer )
if ( b->yy_is_our_buffer )
yy_flex_free( (void *) b );
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
#ifdef YY_USE_PROTOS
yy_flush_buffer( b );
b->yy_is_interactive = 0;
#ifdef YY_USE_PROTOS
void yy_flush_buffer( b )
b->yy_n_chars = 0;
if ( b == yy_current_buffer )
#ifndef YY_NO_SCAN_BUFFER
#ifdef YY_USE_PROTOS
char *base;
b->yy_is_our_buffer = 0;
b->yy_input_file = 0;
b->yy_is_interactive = 0;
b->yy_fill_buffer = 0;
yy_switch_to_buffer( b );
#ifndef YY_NO_SCAN_STRING
#ifdef YY_USE_PROTOS
int len;
#ifndef YY_NO_SCAN_BYTES
#ifdef YY_USE_PROTOS
int len;
char *buf;
yy_size_t n;
if ( ! buf )
for ( i = 0; i < len; ++i )
#ifndef YY_NO_PUSH_STATE
#ifdef YY_USE_PROTOS
int new_state;
if ( ! yy_start_stack )
if ( ! yy_start_stack )
#ifndef YY_NO_POP_STATE
static void yy_pop_state()
if ( --yy_start_stack_ptr < 0 )
#ifndef YY_NO_TOP_STATE
static int yy_top_state()
#ifndef YY_EXIT_FAILURE
#ifdef YY_USE_PROTOS
char msg[];
#define yyless(n) \
yyleng = n; \
#ifndef yytext_ptr
#ifdef YY_USE_PROTOS
char *s1;
#ifdef YY_NEED_STRLEN
#ifdef YY_USE_PROTOS
static int yy_flex_strlen( s )
yyconst char *s;
#ifdef YY_USE_PROTOS
#ifdef YY_USE_PROTOS
void *ptr;
#ifdef YY_USE_PROTOS
void *ptr;
#if YY_MAIN
int main()
yylex();
return YY_NULL;